remove MetaDataTable and MetaDataColumn to cleanup schema

This commit is contained in:
Thomas Peetz
2025-05-23 18:21:41 +02:00
parent 8cfb60f9a1
commit 456162da44
34 changed files with 536 additions and 1354 deletions
+21 -14
View File
@@ -1,24 +1,31 @@
from typing import AnyStr
from fastapi import APIRouter, Request
from fastapi.security.utils import get_authorization_scheme_param
from fastapi.templating import Jinja2Templates
from src.apis.utils import SessionDep
from src.apis.version1.admin import get_current_user_from_token
from src.db.models.admin import Profile
from src.db.models.metadata import MetaDataColumn, MetaDataTable
from src.db.repository.metadata import get_columns
from src.db.models.admin import Permission, Profile
templates = Jinja2Templates(directory="src/templates")
router = APIRouter(include_in_schema=False, prefix="/admin")
@router.get("/metadata")
def get_metadata(db: SessionDep, request: Request, msg: str = None):
token = request.cookies.get("access_token")
scheme, param = get_authorization_scheme_param(token)
current_user: Profile = get_current_user_from_token(token=param, db=db)
data = []
if current_user is None:
msg = "You are not logged in"
return templates.TemplateResponse("admin/metadata.html", {"request": request, "msg": msg, "data": data})
tables= db.query(MetaDataTable).all()
return templates.TemplateResponse("admin/metadata.html", {"request": request, "msg": msg, "data": tables})
@router.get("/profiles")
def get_profiles(db: SessionDep, request: Request, msg: str | None = None):
profiles = db.query(Profile).all()
return templates.TemplateResponse("admin/profiles.html", {"request": request, "msg": msg, "profiles": profiles})
@router.get("/profiles/{profile_id}")
def comic_details(profile_id: AnyStr, request: Request, db: SessionDep):
profile = db.get(Profile, profile_id)
return templates.TemplateResponse("admin/profile_detail.html", {"request": request, "profile":profile})
@router.get("/permissions")
def get_permissions(db: SessionDep, request: Request, msg: str | None = None):
permissions = db.query(Permission).all()
return templates.TemplateResponse("admin/permissions.html", {"request": request, "msg": msg, "permissions": permissions})
@router.get("/permissions/{permission_id}")
def artist_detail(permission_id: AnyStr, request: Request, db: SessionDep):
permission= db.get(Permission, str(permission_id))
return templates.TemplateResponse("comic/permission_detail.html", {"request": request, "permission": permission})