extract SQLAlchemy model in separate python library

This commit is contained in:
Thomas Peetz
2026-08-14 16:39:46 +02:00
parent 9f0a0c1d1e
commit 48149b67cf
148 changed files with 1195 additions and 1062 deletions
+3 -3
View File
@@ -2,10 +2,10 @@ from typing import List
from fastapi import APIRouter, status, HTTPException
from src.core.log_conf import logger
from src.db.repository.media.actor import delete_mediaactor, import_mediaactor
from kontor_model.db.repository.media.actor import delete_mediaactor, import_mediaactor
from src.db.session import SessionDep
from src.schema.media.actor import MediaActorModel, MediaActorResponse, actor_to_response
from src.db.models.media import MediaActor
from kontor_model.schema.media.actor import MediaActorModel, MediaActorResponse, actor_to_response
from kontor_model.db.models.media import MediaActor
router = APIRouter()
+6 -6
View File
@@ -2,21 +2,21 @@ from typing import List
from fastapi import APIRouter, status, HTTPException
from src.core.log_conf import logger
from src.db.repository.media.actorfile import (
from kontor_model.db.repository.media.actorfile import (
create_new_mediaactorfile,
delete_mediaactorfile,
)
from src.db.repository.media.file import delete_mediafile, import_mediafile
from kontor_model.db.repository.media.file import delete_mediafile, import_mediafile
from src.db.session import SessionDep
from src.schema.media.actor import MediaActorResponse, actor_to_response
from src.schema.media.actorfile import MediaActorFileResponse, actorfile_to_response
from src.schema.media.file import (
from kontor_model.schema.media.actor import MediaActorResponse, actor_to_response
from kontor_model.schema.media.actorfile import MediaActorFileResponse, actorfile_to_response
from kontor_model.schema.media.file import (
MediaFileModel,
MediaFileResponse,
file_to_response,
file_to_model,
)
from src.db.models.media import MediaFile
from kontor_model.db.models.media import MediaFile
router = APIRouter()
@@ -0,0 +1,42 @@
from typing import List
from fastapi import APIRouter, HTTPException
from kontor_model.db.models.media import MediaLofi
from src.db.session import SessionDep
from kontor_model.schema.media.lofi import MediaLofiResponse, lofi_to_response
router = APIRouter()
@router.get("/lofi", response_model=List[MediaLofiResponse])
def get_all_lofis(
db: SessionDep, review: bool = False, download: bool = False
) -> List[MediaLofiResponse]:
"""
Get all MediaLofis.
"""
results: List[MediaLofiResponse] = []
lofis: List[MediaLofi]
if review:
lofis = db.query(MediaLofi).filter(MediaLofi.review.is_(True)).all()
elif download:
lofis = db.query(MediaLofi).filter(MediaLofi.should_download.is_(True)).all()
else:
lofis = db.query(MediaLofi).all()
for medialofi in lofis:
response = lofi_to_response(medialofi)
results.append(response)
return results
@router.get("/lofi/{lofi_id}", response_model=MediaLofiResponse)
def get_lofi(lofi_id: str, db: SessionDep) -> MediaLofiResponse:
"""
Get MediaLofi by id.
"""
lofi = db.get(MediaLofi, lofi_id)
if lofi is None:
raise HTTPException(status_code=404, detail="MediaLofi could not be found")
response = lofi_to_response(lofi)
return response
@@ -1,10 +1,10 @@
from typing import List
from fastapi import APIRouter, status, HTTPException
from src.core.log_conf import logger
from src.db.models.media import MediaActorFile
from src.db.repository.media.actorfile import delete_mediaactorfile, import_mediaactorfile
from kontor_model.db.models.media import MediaActorFile
from kontor_model.db.repository.media.actorfile import delete_mediaactorfile, import_mediaactorfile
from src.db.session import SessionDep
from src.schema.media.actorfile import MediaActorFileModel, MediaActorFileResponse, actorfile_to_response
from kontor_model.schema.media.actorfile import MediaActorFileModel, MediaActorFileResponse, actorfile_to_response
router = APIRouter()
@@ -3,9 +3,9 @@ from typing import List
from fastapi import APIRouter
from src.db.models.media import MediaArticle
from kontor_model.db.models.media import MediaArticle
from src.db.session import SessionDep
from src.schema.media.article import MediaArticleResponse, to_response
from kontor_model.schema.media.article import MediaArticleResponse, to_response
router = APIRouter()
@@ -3,9 +3,9 @@ from typing import List
from fastapi import APIRouter, HTTPException
from src.db.models.media import MediaVideo
from kontor_model.db.models.media import MediaVideo
from src.db.session import SessionDep
from src.schema.media.video import MediaVideoResponse, video_to_response
from kontor_model.schema.media.video import MediaVideoResponse, video_to_response
router = APIRouter()