From d91e561561169883a5d44885e9704bb42c6b55a3 Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Sun, 20 Oct 2024 20:56:24 +0200 Subject: [PATCH] add search --- app/routers/events.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/routers/events.py b/app/routers/events.py index 1f9f3a9..1a6ba61 100644 --- a/app/routers/events.py +++ b/app/routers/events.py @@ -11,7 +11,7 @@ router = APIRouter() @router.get("/events", tags=["events"], response_model=list[events.EventOut]) -async def read_events(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], skip: int = 0, limit: int = 20, id_event: str | None = None, name: str | None = None, status: int | None = None): +async def read_events(authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))], skip: int = 0, limit: int = 20, id_event: str | None = None, name: str | None = None, status: int | None = None, tags: str | None = None, organizers: str | None = None): if limit < 1 or skip < 0 or limit < skip: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, @@ -23,6 +23,12 @@ async def read_events(authorize: Annotated[bool, Depends(permissions_checker.Per object_search = {} if status is not None: object_search = {"status":{"$eq": status}} + + if tags is not None: + object_search = {"tags":{"$eq": tags}} + + if organizers is not None: + object_search = {"organizers":{"$eq": organizers}} if id_event is not None: eventid = ObjectId(id_event) object_search = {"id": {"$regex": userid}}