Api routes refactor
This commit is contained in:
8
folkugat_web/api/routes/temes/__init__.py
Normal file
8
folkugat_web/api/routes/temes/__init__.py
Normal 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"]
|
||||
67
folkugat_web/api/routes/temes/index.py
Normal file
67
folkugat_web/api/routes/temes/index.py
Normal file
@@ -0,0 +1,67 @@
|
||||
import urllib.parse
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import Request
|
||||
from fastapi.params import Param
|
||||
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(
|
||||
request: Request,
|
||||
logged_in: auth.LoggedIn,
|
||||
query: Annotated[str, Param()] = "",
|
||||
properties: Annotated[list[str] | None, Param()] = None,
|
||||
):
|
||||
properties = properties or []
|
||||
content_url = f"/api/content/temes?{temes.build_temes_params(query=query, properties=properties)}"
|
||||
return templates.TemplateResponse(
|
||||
"index.html",
|
||||
{
|
||||
"request": request,
|
||||
"page_title": "Folkugat",
|
||||
"content": content_url,
|
||||
"logged_in": logged_in,
|
||||
"animate": False,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@router.get("/api/content/temes")
|
||||
def content(
|
||||
request: Request,
|
||||
logged_in: auth.LoggedIn,
|
||||
query: Annotated[str, Param()] = "",
|
||||
properties: Annotated[list[str] | None, Param()] = None,
|
||||
):
|
||||
properties = properties or []
|
||||
return temes.temes_pagina(
|
||||
request=request,
|
||||
logged_in=logged_in,
|
||||
query=query,
|
||||
properties=properties,
|
||||
)
|
||||
|
||||
|
||||
@router.get("/api/temes/busca")
|
||||
def busca(
|
||||
request: Request,
|
||||
logged_in: auth.LoggedIn,
|
||||
query: Annotated[str, Param()],
|
||||
properties: Annotated[list[str] | None, Param()] = None,
|
||||
limit: int = 10,
|
||||
offset: int = 0,
|
||||
):
|
||||
return temes.temes_busca(
|
||||
request=request,
|
||||
query=query,
|
||||
properties=properties or [],
|
||||
limit=limit,
|
||||
offset=offset,
|
||||
logged_in=logged_in,
|
||||
)
|
||||
Reference in New Issue
Block a user