Skip to content

Commit ca77b9c

Browse files
committed
✨ [feat][backend] Event Update API
1 parent 1b03646 commit ca77b9c

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

backend/kayman/routers/event.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@
99
from kayman.crud.event import (
1010
create_events,
1111
read_events,
12+
update_events,
1213
)
1314
from kayman.schemas.api_models import EventReadDetailed
1415
from kayman.schemas.event import (
1516
Event,
1617
EventBase,
1718
EventCreate,
1819
EventRead,
20+
EventUpdate,
1921
)
2022

2123
TAG_NAME = "Event"
@@ -55,12 +57,14 @@ def reads(
5557
return read_events(session, event_date=event_date, category_id=category_id)
5658

5759

58-
@event_router.patch("", name="Update Event", response_model=EventRead)
59-
def update(*, session: Session = Depends(get_session), event: Event) -> EventBase:
60-
session.merge(event)
61-
session.commit()
62-
session.refresh(event)
63-
return event
60+
@event_router.patch("/{event_id}", name="Update Event", response_model=EventRead)
61+
def update(
62+
*, session: Session = Depends(get_session), event_id: int, event: EventUpdate
63+
) -> EventBase:
64+
try:
65+
return update_events(session, [event_id], [event])[0]
66+
except ValueError as err:
67+
raise HTTPException(status_code=404, detail=err.args[0]) from err
6468

6569

6670
@event_router.delete("/{id}", name="Delete Event")

0 commit comments

Comments
 (0)