Deploy folkugat web

This commit is contained in:
marc
2025-03-30 20:52:47 +02:00
parent d596861a2e
commit 6962d70468
20 changed files with 182 additions and 1101 deletions

View File

@@ -6,8 +6,10 @@ from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.fragments.tema import links as links_fragments
from folkugat_web.model import temes as model
from folkugat_web.services import auth, files
from folkugat_web.services import auth
from folkugat_web.services import files as files_service
from folkugat_web.services.temes import links as links_service
from folkugat_web.services.temes import query as temes_q
@router.get("/api/tema/{tema_id}/link/{link_id}")
@@ -30,7 +32,7 @@ async def set_link(
upload_file: Annotated[UploadFile | None, File()] = None,
):
if upload_file:
url = await files.store_file(tema_id=tema_id, upload_file=upload_file)
url = await files_service.store_file(tema_id=tema_id, upload_file=upload_file)
link_type = links_service.guess_link_type(url or '')
new_link = model.Link(
@@ -66,6 +68,7 @@ def delete_link(
link_id: int,
):
links_service.delete_link(link_id=link_id, tema_id=tema_id)
files_service.clean_orphan_files()
return HTMLResponse(
headers={
"HX-Trigger": f"reload-tema-{tema_id}-score"
@@ -102,10 +105,14 @@ def get_score(
logged_in: auth.LoggedIn,
tema_id: int,
):
tema = temes_q.get_tema_by_id(tema_id)
if not tema:
raise HTTPException(status_code=404, detail="Could not find tune")
tema = links_service.add_links_to_tema(tema)
return links_fragments.score(
request=request,
logged_in=logged_in,
tema_id=tema_id,
tema=tema,
)