move kontor_model in kontor-api (#98)
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s

Co-authored-by: Thomas Peetz <thomas.peetz@cimt-ag.de>
Reviewed-on: #98
This commit was merged in pull request #98.
This commit is contained in:
2026-10-15 23:14:16 +00:00
parent 2e80cd9b0e
commit d5705c3a28
119 changed files with 4209 additions and 916 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ from typing import Optional
from fastapi import APIRouter, Request
from fastapi.templating import Jinja2Templates
from kontor_model.db.models.admin import Permission, Profile
from src.db.models.admin import Permission, Profile
from src.db.session import SessionDep
templates = Jinja2Templates(directory="src/templates")
@@ -2,13 +2,13 @@ from fastapi import APIRouter, Request, status, Form
from fastapi.templating import Jinja2Templates
from fastapi.responses import RedirectResponse
from kontor_model.db.models.comic import Artist
from src.db.models.comic import Artist
from typing import AnyStr
from kontor_model.db.repository.comics.artist import update_artist
from src.db.repository.comics.artist import update_artist
from src.db.session import SessionDep
#from src.db.repository.comic import create_new_worktype, update_worktype
from kontor_model.schema.comics.artist import AddArtist
from src.schema.comics.artist import AddArtist
from src.webapps.comic.forms.artist import AddArtistForm
#from src.schema.comics.worktype import AddWorkType
+3 -3
View File
@@ -2,12 +2,12 @@ from fastapi import APIRouter, Form, Request, status
from fastapi.templating import Jinja2Templates
from fastapi.responses import RedirectResponse
from kontor_model.db.models.comic import Comic, Publisher, Issue
from src.db.models.comic import Comic, Publisher, Issue
from typing import AnyStr
from src.core.log_conf import logger
from kontor_model.db.repository.comics.comic import update_comic
from src.db.repository.comics.comic import update_comic
from src.db.session import SessionDep
from kontor_model.schema.comics.comic import ComicSchema
from src.schema.comics.comic import ComicSchema
from src.webapps.comic.forms.comic import ValidateComicForm
templates = Jinja2Templates(directory="src/templates")
@@ -2,13 +2,13 @@ from fastapi import APIRouter, Request, status
from fastapi.templating import Jinja2Templates
from fastapi.responses import RedirectResponse
from kontor_model.db.models.comic import WorkType
from src.db.models.comic import WorkType
from typing import AnyStr
from kontor_model.db.repository.comics.worktype import create_new_worktype, update_worktype
from src.db.repository.comics.worktype import create_new_worktype, update_worktype
from src.db.session import SessionDep
from src.main import logger
from kontor_model.schema.comics.worktype import AddWorkType
from src.schema.comics.worktype import AddWorkType
from src.webapps.comic.forms.worktype import AddWorktypeForm
templates = Jinja2Templates(directory="src/templates")
+1 -1
View File
@@ -2,7 +2,7 @@ from typing import AnyStr
from fastapi import APIRouter, Request
from fastapi.templating import Jinja2Templates
from kontor_model.db.models.media import MediaActor
from src.db.models.media import MediaActor
from src.db.session import SessionDep
templates = Jinja2Templates(directory="src/templates")
+20 -10
View File
@@ -1,41 +1,51 @@
from typing import Optional
from fastapi import APIRouter, Request, status, responses
from fastapi import APIRouter, Request, status, responses, Query
from fastapi.security.utils import get_authorization_scheme_param
from fastapi.templating import Jinja2Templates
from src.core.config import Settings
from src.core.security import get_current_user_from_token
from kontor_model.db.models.media import MediaLofi
from kontor_model.db.models.admin import Profile
from kontor_model.db.repository.media.lofi import create_new_lofi
from src.db.models.media import MediaLofi
from src.db.models.admin import Profile
from src.db.repository.media.lofi import create_new_lofi
from src.db.session import SessionDep
from src.webapps.media.forms import AddLinkForm
templates = Jinja2Templates(directory="src/templates")
router = APIRouter(include_in_schema=False, prefix="/media")
@router.get("/lofi")
def get_medialofis(db: SessionDep, request: Request, msg: Optional[str] = None):
@router.get("/lofis")
def get_medialofis(db: SessionDep, request: Request, msg: Optional[str] = None, review: Optional[bool] = Query(default=False), download: Optional[bool] = Query(default=False)):
medialofis = db.query(MediaLofi).all()
try:
token = request.cookies.get("access_token")
_, param = get_authorization_scheme_param(token) # scheme will hold "Bearer" and param will hold actual token value
current_user: Profile = get_current_user_from_token(token=param)
return templates.TemplateResponse("media/lofi_list.html", {"request": request, "msg": msg, "user": current_user, "medialofis": medialofis})
request.params.get("review")
return templates.TemplateResponse("media/lofi_list.html", {
"request": request,
"msg": msg,
"user": current_user,
"version": Settings.PROJECT_VERSION,
"review": review,
"download": download,
"medialofis": medialofis,
})
except Exception as e:
print(e)
return templates.TemplateResponse("media/lofi_list.html", {"request": request, "msg": msg, "user": None, "medialofis": medialofis})
@router.get("/lofi/{lofi_id}")
@router.get("/lofis/{lofi_id}")
def lofi_details(lofi_id: str, request: Request, db: SessionDep):
medialofi = db.get(MediaLofi, lofi_id)
return templates.TemplateResponse("media/lofi_detail.html", {"request": request, "medialofi":medialofi})
@router.get("/add-lofi")
@router.get("/lofis/add")
def add_lofi_link(request: Request, db: SessionDep):
return templates.TemplateResponse("media/add_lofi_link.html", {"request": request})
@router.post("/add-lofi")
@router.post("/lofis/add")
async def post_lofi_link(request: Request, db: SessionDep):
form = AddLinkForm(request)
await form.load_data()
+2 -2
View File
@@ -6,8 +6,8 @@ from fastapi.templating import Jinja2Templates
from sqlalchemy import or_
from src.core.security import get_current_user_from_token
from kontor_model.db.models.admin import Profile
from kontor_model.db.models.media import MediaFile
from src.db.models.admin import Profile
from src.db.models.media import MediaFile
from src.core.log_conf import logger
from src.db.session import SessionDep
+3 -3
View File
@@ -5,9 +5,9 @@ from fastapi.security.utils import get_authorization_scheme_param
from fastapi.templating import Jinja2Templates
from src.core.security import get_current_user_from_token
from kontor_model.db.models.media import MediaVideo
from kontor_model.db.models.admin import Profile
from kontor_model.db.repository.media.video import create_new_video
from src.db.models.media import MediaVideo
from src.db.models.admin import Profile
from src.db.repository.media.video import create_new_video
from src.db.session import SessionDep
from src.webapps.media.forms import AddLinkForm