Complete backend
This commit is contained in:
@ -1,18 +1,20 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Database related functions."""
|
||||
|
||||
import logging
|
||||
import secrets
|
||||
from pathlib import Path
|
||||
from sqlalchemy import Engine
|
||||
from sqlmodel import Session, create_engine, text
|
||||
import bcrypt
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from sqlalchemy.engine import URL
|
||||
|
||||
from .models import APIClient, init_db
|
||||
|
||||
from .settings import get_settings
|
||||
|
||||
load_dotenv()
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_engine(filename: Path, echo: bool = False) -> Engine:
|
||||
@ -25,7 +27,7 @@ def get_engine(filename: Path, echo: bool = False) -> Engine:
|
||||
return engine
|
||||
|
||||
|
||||
def create_db_and_tables(filename: Path, echo: bool = True) -> bool:
|
||||
def create_db_and_tables(filename: Path, echo: bool = False) -> bool:
|
||||
"""Create database and tables.
|
||||
|
||||
Returns True if the database was created.
|
||||
@ -52,3 +54,14 @@ def create_api_token(session: Session, read_write: bool) -> str:
|
||||
session.commit()
|
||||
|
||||
return token
|
||||
|
||||
|
||||
def generate_api_token() -> str:
|
||||
"""Generate API token."""
|
||||
settings = get_settings()
|
||||
engine = get_engine(settings.db_file)
|
||||
init_db(engine)
|
||||
with Session(engine) as session:
|
||||
token = create_api_token(session, True)
|
||||
|
||||
return token
|
||||
|
||||
Reference in New Issue
Block a user