From 745783ffc390e7ad2f3ddb6eeaa872c4bc504524 Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Thu, 4 Sep 2025 22:05:54 +0200 Subject: [PATCH] fix reponse model --- app/models/events.py | 19 ++++++++++++++++++- app/routers/events.py | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/models/events.py b/app/models/events.py index be3183b..b097cf2 100644 --- a/app/models/events.py +++ b/app/models/events.py @@ -31,7 +31,7 @@ class Event(BaseModel): class EventOut(BaseModel): - id: ObjectIdField = None + id: str | None = None name: str place: str description: str @@ -43,6 +43,23 @@ class EventOut(BaseModel): end_date: datetime | None = None tags: list[str] = [] + @classmethod + def from_mongo(cls, event: Event) -> "EventOut": + return cls( + id=str(event.id) if event.id else None, + name=event.name, + place=event.place, + description=event.description, + imgUrl=event.imgUrl, + link=event.link, + ticket=event.ticket, + status=event.status, + start_date=event.start_date, + end_date=event.end_date, + tags=event.tags, + ) + + class EventOutWithInterested(EventOut): interested: bool = False interested_count: int = 0 diff --git a/app/routers/events.py b/app/routers/events.py index 155d591..2833e3c 100644 --- a/app/routers/events.py +++ b/app/routers/events.py @@ -253,7 +253,7 @@ async def read_events_count(authorize: Annotated[bool, Depends(permissions_check return response -@router.get("/events/{item_id}", tags=["events"], response_model=events.Event) +@router.get("/events/{item_id}", tags=["events"], response_model=events.EventOut) async def read_events_id(item_id : str, authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin"]))]): event_repository = events.EventRepository(database=database.database) event = event_repository.find_one_by_id(ObjectId(item_id)) -- 2.49.1