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 .routes import router
from .auth import *
from .index import *
from .sessio import *
from .sessions import *
from .tema import *
from .temes import *
__all__ = ["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 typing import Annotated
from fastapi import Cookie, Form, Request 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.config import auth as config
from folkugat_web.fragments import nota from folkugat_web.fragments import nota
from folkugat_web.services import auth as service from folkugat_web.services import auth as service
router = get_router()
@router.get("/api/nota") @router.get("/api/nota")
def nota_input(request: Request, value: str | None = None): def nota_input(request: Request, value: str | None = None):

View File

@@ -1,8 +1,10 @@
from fastapi import Request 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.services import auth
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/") @router.get("/")
def index(request: Request, logged_in: auth.LoggedIn): 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 typing import Annotated
from fastapi import Form, Request 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.fragments import live, sessio
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.services.temes import write as temes_service from folkugat_web.services.temes import write as temes_service
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/sessio/{session_id}") @router.get("/sessio/{session_id}")
def page( def page(

View File

@@ -1,9 +1,11 @@
from fastapi import Request 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.fragments import set_page
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/live") @router.get("/live")
def page( def page(

View File

@@ -1,9 +1,11 @@
from fastapi import Request 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.fragments import set_page
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/sessio/{session_id}/set/{set_id}") @router.get("/sessio/{session_id}/set/{set_id}")
def page( 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 typing import Annotated
from fastapi import Form, Request 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.fragments import sessions
from folkugat_web.services import auth from folkugat_web.services import auth
router = get_router()
@router.post("/api/sessions/editor/") @router.post("/api/sessions/editor/")
def insert_row(request: Request, _: auth.RequireLogin): def insert_row(request: Request, _: auth.RequireLogin):

View File

@@ -1,10 +1,12 @@
from fastapi import Request 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.config import calendari as calendari_conf
from folkugat_web.fragments import live, sessions from folkugat_web.fragments import live, sessions
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/sessions") @router.get("/sessions")
def page(request: Request, logged_in: auth.LoggedIn): 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 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.fragments import tema
from folkugat_web.services import auth from folkugat_web.services import auth
router = get_router()
@router.get("/api/tema/{tema_id}/editor/title") @router.get("/api/tema/{tema_id}/editor/title")
def title_editor( def title_editor(

View File

@@ -3,7 +3,7 @@ from typing import Annotated
from fastapi import HTTPException, Request from fastapi import HTTPException, Request
from fastapi.params import Form from fastapi.params import Form
from fastapi.responses import HTMLResponse 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.fragments import tema, temes
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.services import files as files_service 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.templates import templates
from folkugat_web.utils import FnChain from folkugat_web.utils import FnChain
router = get_router()
@router.get("/tema/{tema_id}") @router.get("/tema/{tema_id}")
def page(request: Request, logged_in: auth.LoggedIn, tema_id: int): 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 import HTTPException, Request, UploadFile
from fastapi.params import File, Form, Param from fastapi.params import File, Form, Param
from fastapi.responses import HTMLResponse 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.fragments.tema import links as links_fragments
from folkugat_web.model import temes as model from folkugat_web.model import temes as model
from folkugat_web.services import auth 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 links as links_service
from folkugat_web.services.temes import query as temes_q from folkugat_web.services.temes import query as temes_q
router = get_router()
@router.get("/api/tema/{tema_id}/link/{link_id}") @router.get("/api/tema/{tema_id}/link/{link_id}")
def link(request: Request, logged_in: auth.LoggedIn, tema_id: int, link_id: int): 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 import HTTPException, Request
from fastapi.params import Form from fastapi.params import Form
from fastapi.responses import HTMLResponse 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.fragments.tema import lyrics as lyrics_fragments
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.services.temes import lyrics as lyrics_service from folkugat_web.services.temes import lyrics as lyrics_service
router = get_router()
@router.get("/api/tema/{tema_id}/lyric/{lyric_id}") @router.get("/api/tema/{tema_id}/lyric/{lyric_id}")
def lyric( def lyric(

View File

@@ -4,12 +4,14 @@ from typing import Annotated
from fastapi import HTTPException, Request from fastapi import HTTPException, Request
from fastapi.params import Form from fastapi.params import Form
from fastapi.responses import HTMLResponse 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.fragments.tema import properties as properties_fragments
from folkugat_web.model import temes as model from folkugat_web.model import temes as model
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.services.temes import properties as properties_service from folkugat_web.services.temes import properties as properties_service
router = get_router()
@router.get("/api/tema/{tema_id}/property/{property_id}") @router.get("/api/tema/{tema_id}/property/{property_id}")
def property_(request: Request, logged_in: auth.LoggedIn, tema_id: int, property_id: int): 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 import HTTPException, Request
from fastapi.params import Form from fastapi.params import Form
from fastapi.responses import HTMLResponse 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 import temes
from folkugat_web.fragments.tema import scores as scores_fragments from folkugat_web.fragments.tema import scores as scores_fragments
from folkugat_web.services import auth, files 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.lilypond import source as lilypond_source
from folkugat_web.services.temes import scores as scores_service from folkugat_web.services.temes import scores as scores_service
router = get_router()
@router.get("/api/tema/{tema_id}/score/{score_id}") @router.get("/api/tema/{tema_id}/score/{score_id}")
def score(request: Request, logged_in: auth.LoggedIn, tema_id: int, score_id: int): 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 import Request
from fastapi.params import Param 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.fragments import temes
from folkugat_web.services import auth from folkugat_web.services import auth
from folkugat_web.templates import templates from folkugat_web.templates import templates
router = get_router()
@router.get("/temes") @router.get("/temes")
def page( 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