Api routes refactor

This commit is contained in:
marc
2025-07-28 22:45:45 +02:00
parent 6aad7a069e
commit 8cdb9340fd
26 changed files with 103 additions and 29 deletions

View File

@@ -1,9 +1,3 @@
from ._router import router
from .auth import *
from .index import *
from .sessio import *
from .sessions import *
from .tema import *
from .temes import *
from .routes import router
__all__ = ["router"]

View File

@@ -1,4 +0,0 @@
from fastapi import APIRouter
from fastapi.responses import HTMLResponse
router = APIRouter(default_response_class=HTMLResponse)

View File

@@ -0,0 +1,6 @@
from fastapi import APIRouter
from fastapi.responses import HTMLResponse
def get_router() -> APIRouter:
return APIRouter(default_response_class=HTMLResponse)

View File

@@ -0,0 +1,14 @@
from folkugat_web.api.router import get_router
from . import auth, index, sessio, sessions, tema, temes
router = get_router()
router.include_router(sessio.router)
router.include_router(sessions.router)
router.include_router(tema.router)
router.include_router(temes.router)
router.include_router(auth.router)
router.include_router(index.router)
__all__ = ["router"]

View File

@@ -1,11 +1,13 @@
from typing import Annotated
from fastapi import Cookie, Form, Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.config import auth as config
from folkugat_web.fragments import nota
from folkugat_web.services import auth as service
router = get_router()
@router.get("/api/nota")
def nota_input(request: Request, value: str | None = None):

View File

@@ -1,8 +1,10 @@
from fastapi import Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.services import auth
from folkugat_web.templates import templates
router = get_router()
@router.get("/")
def index(request: Request, logged_in: auth.LoggedIn):

View File

@@ -0,0 +1,10 @@
from folkugat_web.api.router import get_router
from . import index, live, set_page
router = get_router()
router.include_router(index.router)
router.include_router(live.router)
router.include_router(set_page.router)
__all__ = ["router"]

View File

@@ -1,12 +1,14 @@
from typing import Annotated
from fastapi import Form, Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import live, sessio
from folkugat_web.services import auth
from folkugat_web.services.temes import write as temes_service
from folkugat_web.templates import templates
router = get_router()
@router.get("/sessio/{session_id}")
def page(

View File

@@ -1,9 +1,11 @@
from fastapi import Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import set_page
from folkugat_web.services import auth
from folkugat_web.templates import templates
router = get_router()
@router.get("/live")
def page(

View File

@@ -1,9 +1,11 @@
from fastapi import Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import set_page
from folkugat_web.services import auth
from folkugat_web.templates import templates
router = get_router()
@router.get("/sessio/{session_id}/set/{set_id}")
def page(

View File

@@ -0,0 +1,9 @@
from folkugat_web.api.router import get_router
from . import editor, index
router = get_router()
router.include_router(editor.router)
router.include_router(index.router)
__all__ = ["router"]

View File

@@ -2,10 +2,12 @@ import datetime
from typing import Annotated
from fastapi import Form, Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import sessions
from folkugat_web.services import auth
router = get_router()
@router.post("/api/sessions/editor/")
def insert_row(request: Request, _: auth.RequireLogin):

View File

@@ -1,10 +1,12 @@
from fastapi import Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.config import calendari as calendari_conf
from folkugat_web.fragments import live, sessions
from folkugat_web.services import auth
from folkugat_web.templates import templates
router = get_router()
@router.get("/sessions")
def page(request: Request, logged_in: auth.LoggedIn):

View File

@@ -0,0 +1,13 @@
from folkugat_web.api.router import get_router
from . import editor, index, links, lyrics, properties, scores
router = get_router()
router.include_router(editor.router)
router.include_router(index.router)
router.include_router(links.router)
router.include_router(lyrics.router)
router.include_router(properties.router)
router.include_router(scores.router)
__all__ = ["router"]

View File

@@ -1,8 +1,10 @@
from fastapi import Request
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import tema
from folkugat_web.services import auth
router = get_router()
@router.get("/api/tema/{tema_id}/editor/title")
def title_editor(

View File

@@ -3,7 +3,7 @@ from typing import Annotated
from fastapi import HTTPException, Request
from fastapi.params import Form
from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import tema, temes
from folkugat_web.services import auth
from folkugat_web.services import files as files_service
@@ -16,6 +16,8 @@ from folkugat_web.services.temes import write as temes_w
from folkugat_web.templates import templates
from folkugat_web.utils import FnChain
router = get_router()
@router.get("/tema/{tema_id}")
def page(request: Request, logged_in: auth.LoggedIn, tema_id: int):

View File

@@ -3,7 +3,7 @@ from typing import Annotated
from fastapi import HTTPException, Request, UploadFile
from fastapi.params import File, Form, Param
from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.api.router import get_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
@@ -11,6 +11,8 @@ 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_router()
@router.get("/api/tema/{tema_id}/link/{link_id}")
def link(request: Request, logged_in: auth.LoggedIn, tema_id: int, link_id: int):

View File

@@ -4,11 +4,13 @@ from typing import Annotated
from fastapi import HTTPException, Request
from fastapi.params import Form
from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments.tema import lyrics as lyrics_fragments
from folkugat_web.services import auth
from folkugat_web.services.temes import lyrics as lyrics_service
router = get_router()
@router.get("/api/tema/{tema_id}/lyric/{lyric_id}")
def lyric(

View File

@@ -4,12 +4,14 @@ from typing import Annotated
from fastapi import HTTPException, Request
from fastapi.params import Form
from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments.tema import properties as properties_fragments
from folkugat_web.model import temes as model
from folkugat_web.services import auth
from folkugat_web.services.temes import properties as properties_service
router = get_router()
@router.get("/api/tema/{tema_id}/property/{property_id}")
def property_(request: Request, logged_in: auth.LoggedIn, tema_id: int, property_id: int):

View File

@@ -4,7 +4,7 @@ from typing import Annotated
from fastapi import HTTPException, Request
from fastapi.params import Form
from fastapi.responses import HTMLResponse
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import temes
from folkugat_web.fragments.tema import scores as scores_fragments
from folkugat_web.services import auth, files
@@ -13,6 +13,8 @@ from folkugat_web.services.lilypond import render as lilypond_render
from folkugat_web.services.lilypond import source as lilypond_source
from folkugat_web.services.temes import scores as scores_service
router = get_router()
@router.get("/api/tema/{tema_id}/score/{score_id}")
def score(request: Request, logged_in: auth.LoggedIn, tema_id: int, score_id: int):

View File

@@ -0,0 +1,8 @@
from folkugat_web.api.router import get_router
from . import index
router = get_router()
router.include_router(index.router)
__all__ = ["router"]

View File

@@ -3,11 +3,13 @@ from typing import Annotated
from fastapi import Request
from fastapi.params import Param
from folkugat_web.api import router
from folkugat_web.api.router import get_router
from folkugat_web.fragments import temes
from folkugat_web.services import auth
from folkugat_web.templates import templates
router = get_router()
@router.get("/temes")
def page(

View File

@@ -1 +0,0 @@
from . import index, live, set_page

View File

@@ -1 +0,0 @@
from . import editor, index

View File

@@ -1 +0,0 @@
from . import editor, index, links, lyrics, properties, scores

View File

@@ -1 +0,0 @@
from . import index