diff --git a/folkugat_web/api/__init__.py b/folkugat_web/api/__init__.py index 0031b34..1b2eccc 100644 --- a/folkugat_web/api/__init__.py +++ b/folkugat_web/api/__init__.py @@ -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"] diff --git a/folkugat_web/api/_router.py b/folkugat_web/api/_router.py deleted file mode 100644 index dbb4396..0000000 --- a/folkugat_web/api/_router.py +++ /dev/null @@ -1,4 +0,0 @@ -from fastapi import APIRouter -from fastapi.responses import HTMLResponse - -router = APIRouter(default_response_class=HTMLResponse) diff --git a/folkugat_web/api/router.py b/folkugat_web/api/router.py new file mode 100644 index 0000000..48cc25c --- /dev/null +++ b/folkugat_web/api/router.py @@ -0,0 +1,6 @@ +from fastapi import APIRouter +from fastapi.responses import HTMLResponse + + +def get_router() -> APIRouter: + return APIRouter(default_response_class=HTMLResponse) diff --git a/folkugat_web/api/routes/__init__.py b/folkugat_web/api/routes/__init__.py new file mode 100644 index 0000000..3f0be81 --- /dev/null +++ b/folkugat_web/api/routes/__init__.py @@ -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"] diff --git a/folkugat_web/api/auth.py b/folkugat_web/api/routes/auth.py similarity index 93% rename from folkugat_web/api/auth.py rename to folkugat_web/api/routes/auth.py index 28911cd..7768f47 100644 --- a/folkugat_web/api/auth.py +++ b/folkugat_web/api/routes/auth.py @@ -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): diff --git a/folkugat_web/api/index.py b/folkugat_web/api/routes/index.py similarity index 86% rename from folkugat_web/api/index.py rename to folkugat_web/api/routes/index.py index c653d5b..3f2963b 100644 --- a/folkugat_web/api/index.py +++ b/folkugat_web/api/routes/index.py @@ -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): diff --git a/folkugat_web/api/routes/sessio/__init__.py b/folkugat_web/api/routes/sessio/__init__.py new file mode 100644 index 0000000..ce2e55f --- /dev/null +++ b/folkugat_web/api/routes/sessio/__init__.py @@ -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"] diff --git a/folkugat_web/api/sessio/index.py b/folkugat_web/api/routes/sessio/index.py similarity index 98% rename from folkugat_web/api/sessio/index.py rename to folkugat_web/api/routes/sessio/index.py index 17249f6..e3b2644 100644 --- a/folkugat_web/api/sessio/index.py +++ b/folkugat_web/api/routes/sessio/index.py @@ -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( diff --git a/folkugat_web/api/sessio/live.py b/folkugat_web/api/routes/sessio/live.py similarity index 92% rename from folkugat_web/api/sessio/live.py rename to folkugat_web/api/routes/sessio/live.py index 3aa1ef1..c729918 100644 --- a/folkugat_web/api/sessio/live.py +++ b/folkugat_web/api/routes/sessio/live.py @@ -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( diff --git a/folkugat_web/api/sessio/set_page.py b/folkugat_web/api/routes/sessio/set_page.py similarity index 92% rename from folkugat_web/api/sessio/set_page.py rename to folkugat_web/api/routes/sessio/set_page.py index 17dac00..bdc80fe 100644 --- a/folkugat_web/api/sessio/set_page.py +++ b/folkugat_web/api/routes/sessio/set_page.py @@ -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( diff --git a/folkugat_web/api/routes/sessions/__init__.py b/folkugat_web/api/routes/sessions/__init__.py new file mode 100644 index 0000000..49d8fba --- /dev/null +++ b/folkugat_web/api/routes/sessions/__init__.py @@ -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"] diff --git a/folkugat_web/api/sessions/editor.py b/folkugat_web/api/routes/sessions/editor.py similarity index 95% rename from folkugat_web/api/sessions/editor.py rename to folkugat_web/api/routes/sessions/editor.py index 4a85bfb..81d1ff6 100644 --- a/folkugat_web/api/sessions/editor.py +++ b/folkugat_web/api/routes/sessions/editor.py @@ -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): diff --git a/folkugat_web/api/sessions/index.py b/folkugat_web/api/routes/sessions/index.py similarity index 95% rename from folkugat_web/api/sessions/index.py rename to folkugat_web/api/routes/sessions/index.py index 5cbb33c..0d6834f 100644 --- a/folkugat_web/api/sessions/index.py +++ b/folkugat_web/api/routes/sessions/index.py @@ -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): diff --git a/folkugat_web/api/routes/tema/__init__.py b/folkugat_web/api/routes/tema/__init__.py new file mode 100644 index 0000000..2869cc8 --- /dev/null +++ b/folkugat_web/api/routes/tema/__init__.py @@ -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"] diff --git a/folkugat_web/api/tema/editor.py b/folkugat_web/api/routes/tema/editor.py similarity index 82% rename from folkugat_web/api/tema/editor.py rename to folkugat_web/api/routes/tema/editor.py index 1fa193c..06bcc39 100644 --- a/folkugat_web/api/tema/editor.py +++ b/folkugat_web/api/routes/tema/editor.py @@ -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( diff --git a/folkugat_web/api/tema/index.py b/folkugat_web/api/routes/tema/index.py similarity index 98% rename from folkugat_web/api/tema/index.py rename to folkugat_web/api/routes/tema/index.py index 20ac616..ec74e25 100644 --- a/folkugat_web/api/tema/index.py +++ b/folkugat_web/api/routes/tema/index.py @@ -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): diff --git a/folkugat_web/api/tema/links.py b/folkugat_web/api/routes/tema/links.py similarity index 98% rename from folkugat_web/api/tema/links.py rename to folkugat_web/api/routes/tema/links.py index 0eed038..26fce31 100644 --- a/folkugat_web/api/tema/links.py +++ b/folkugat_web/api/routes/tema/links.py @@ -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): diff --git a/folkugat_web/api/tema/lyrics.py b/folkugat_web/api/routes/tema/lyrics.py similarity index 97% rename from folkugat_web/api/tema/lyrics.py rename to folkugat_web/api/routes/tema/lyrics.py index b256412..556cd5f 100644 --- a/folkugat_web/api/tema/lyrics.py +++ b/folkugat_web/api/routes/tema/lyrics.py @@ -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( diff --git a/folkugat_web/api/tema/properties.py b/folkugat_web/api/routes/tema/properties.py similarity index 97% rename from folkugat_web/api/tema/properties.py rename to folkugat_web/api/routes/tema/properties.py index 7a45637..6d1a991 100644 --- a/folkugat_web/api/tema/properties.py +++ b/folkugat_web/api/routes/tema/properties.py @@ -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): diff --git a/folkugat_web/api/tema/scores.py b/folkugat_web/api/routes/tema/scores.py similarity index 98% rename from folkugat_web/api/tema/scores.py rename to folkugat_web/api/routes/tema/scores.py index 7475e0c..42adb31 100644 --- a/folkugat_web/api/tema/scores.py +++ b/folkugat_web/api/routes/tema/scores.py @@ -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): diff --git a/folkugat_web/api/routes/temes/__init__.py b/folkugat_web/api/routes/temes/__init__.py new file mode 100644 index 0000000..6889095 --- /dev/null +++ b/folkugat_web/api/routes/temes/__init__.py @@ -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"] diff --git a/folkugat_web/api/temes/index.py b/folkugat_web/api/routes/temes/index.py similarity index 95% rename from folkugat_web/api/temes/index.py rename to folkugat_web/api/routes/temes/index.py index a17722b..5f814a0 100644 --- a/folkugat_web/api/temes/index.py +++ b/folkugat_web/api/routes/temes/index.py @@ -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( diff --git a/folkugat_web/api/sessio/__init__.py b/folkugat_web/api/sessio/__init__.py deleted file mode 100644 index b56b5e1..0000000 --- a/folkugat_web/api/sessio/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import index, live, set_page diff --git a/folkugat_web/api/sessions/__init__.py b/folkugat_web/api/sessions/__init__.py deleted file mode 100644 index aba1bbe..0000000 --- a/folkugat_web/api/sessions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import editor, index diff --git a/folkugat_web/api/tema/__init__.py b/folkugat_web/api/tema/__init__.py deleted file mode 100644 index 3caca0a..0000000 --- a/folkugat_web/api/tema/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import editor, index, links, lyrics, properties, scores diff --git a/folkugat_web/api/temes/__init__.py b/folkugat_web/api/temes/__init__.py deleted file mode 100644 index 20acda4..0000000 --- a/folkugat_web/api/temes/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import index