Skip to content

Commit 9f03e92

Browse files
committed
feat: implement post API for /event route
1 parent 0d1dcb1 commit 9f03e92

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

src/event/crud.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,11 @@ async def get_events_for_this_year_month(
4949
)
5050
)
5151
).all()
52-
return events
52+
return events
53+
54+
55+
async def create_event(
56+
db_session: AsyncSession,
57+
info: EventDB
58+
):
59+
db_session.add(info)

src/event/urls.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,28 @@ async def get_events_for_this_year_month(
6666
events_list = await event.crud.get_events_for_this_year_month(db_session, year, month)
6767

6868
return events_list
69+
70+
71+
@router.post(
72+
"",
73+
description="Create a new event",
74+
response_model=Event,
75+
status_code=status.HTTP_201_CREATED,
76+
responses={500: {"description": "failed to fetch new event", "model": DetailModel}},
77+
operation_id="create_event",
78+
# dependecies=[Depends()]
79+
)
80+
async def create_event(
81+
db_session: database.DBSession,
82+
body: EventCreate
83+
):
84+
new_event = EventDB(**body.model_dump())
85+
await event.crud.create_event(
86+
db_session,
87+
new_event,
88+
)
89+
90+
await db_session.commit()
91+
await db_session.refresh(new_event)
92+
93+
return new_event

0 commit comments

Comments
 (0)