Search by properties

This commit is contained in:
marc
2025-05-04 22:10:10 +02:00
parent 4911935cdf
commit 47d18400c3
13 changed files with 245 additions and 68 deletions

View File

@@ -1,3 +1,4 @@
import urllib.parse
from typing import Annotated
from fastapi import Request
@@ -13,13 +14,16 @@ 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": f"/api/content/temes?query={query}",
"content": content_url,
"logged_in": logged_in,
"animate": False,
}
@@ -31,10 +35,31 @@ def content(
request: Request,
logged_in: auth.LoggedIn,
query: Annotated[str, Param()] = "",
properties: Annotated[list[str] | None, Param()] = None,
):
return temes.temes_pagina(request, logged_in, query)
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, query: str, logged_in: auth.LoggedIn, limit: int = 10, offset: int = 0):
return temes.temes_busca(request, query=query, limit=limit, offset=offset, logged_in=logged_in)
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,
)