File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -26,4 +26,27 @@ async def get_events_for_this_year(
2626 extract ('year' , EventDB .end_time ) == year
2727 )
2828 ))).all ()
29+ return events
30+
31+ async def get_events_for_this_year_month (
32+ db_session : AsyncSession ,
33+ year : int ,
34+ month : int ,
35+ ) -> Sequence [EventDB ]:
36+ events = (
37+ await db_session .scalars (
38+ select (EventDB ).where (
39+ or_ (
40+ and_ (
41+ extract ('year' , EventDB .start_time ) == year ,
42+ extract ('month' , EventDB .start_time ) == month
43+ ),
44+ and_ (
45+ extract ('year' , EventDB .end_time ) == year ,
46+ extract ('month' , EventDB .end_time ) == month
47+ )
48+ )
49+ )
50+ )
51+ ).all ()
2952 return events
Original file line number Diff line number Diff line change @@ -48,4 +48,21 @@ async def get_events_for_this_year(
4848):
4949 events_list = await event .crud .get_events_for_this_year (db_session , year )
5050
51- return events_list
51+ return events_list
52+
53+
54+ @router .get (
55+ "/{year}/{month}" ,
56+ description = "Get events that start OR end in the given year and month" ,
57+ response_model = list [EventPublic ],
58+ # responses= {}
59+ operation_id = "get_events_for_this_year_month"
60+ )
61+ async def get_events_for_this_year_month (
62+ db_session : database .DBSession ,
63+ year : int ,
64+ month : int
65+ ):
66+ events_list = await event .crud .get_events_for_this_year_month (db_session , year , month )
67+
68+ return events_list
You can’t perform that action at this time.
0 commit comments