@@ -31,54 +31,40 @@ class Events(Base, Utility):
31
31
app_booking = Column (Boolean , nullable = True , default = False )
32
32
33
33
34
- def filter_events_by_date_range ( query , start_date , end_date ):
34
+ def filter_event ( start_date , end_date , room_id = None ):
35
35
"""
36
- Returns events that fall within the date range supplied
36
+ Returns events filtered by room id,
37
+ start date and end date if provided,
38
+ or returns all events otherwise.
37
39
"""
38
- validate_date_input (start_date , end_date )
39
- if not start_date and not end_date :
40
- events = query .filter (
41
- Events .state == 'active'
42
- ).all ()
43
- if not events :
44
- raise GraphQLError ('Events do not exist' )
45
- return events
46
-
47
- start_date , end_date = format_range_dates (start_date , end_date )
40
+ def error_message (error ):
41
+ raise GraphQLError (error )
48
42
49
- events = query .filter (
50
- Events .state == 'active' ,
51
- Events .start_time >= start_date ,
52
- Events .end_time <= end_date
53
- ).all ()
54
- if not events :
55
- raise GraphQLError ('Events do not exist for the date range' )
56
- return events
43
+ validate_date_input (start_date , end_date )
57
44
45
+ if room_id and start_date :
46
+ start_date , end_date = format_range_dates (start_date , end_date )
47
+ return Events .query .filter (
48
+ Events .room_id == room_id ,
49
+ Events .state == 'active' ,
50
+ Events .start_time >= start_date ,
51
+ Events .end_time <= end_date
52
+ ).all () or error_message ('Events do not exist for the date range' )
58
53
59
- def filter_event_by_room (room_id , start_date , end_date ):
60
- """
61
- Returns all events in a room using the calendar id as the filter field.
62
- If the start and end dates are provided, it considers them as well.
63
- """
64
- validate_date_input (start_date , end_date )
65
- if not start_date and not end_date :
66
- events = Events .query .filter_by (
54
+ if room_id :
55
+ return Events .query .filter_by (
67
56
room_id = room_id ,
68
57
state = 'active'
69
- ).all ()
70
- if not events :
71
- raise GraphQLError ('Events do not exist' )
72
- return events
58
+ ).all () or error_message ('Events do not exist' )
73
59
74
- start_date , end_date = format_range_dates (start_date , end_date )
60
+ if start_date :
61
+ start_date , end_date = format_range_dates (start_date , end_date )
62
+ return Events .query .filter (
63
+ Events .state == 'active' ,
64
+ Events .start_time >= start_date ,
65
+ Events .end_time <= end_date
66
+ ).all () or error_message ('Events do not exist for the date range' )
75
67
76
- events = Events .query .filter (
77
- Events .room_id == room_id ,
78
- Events .state == 'active' ,
79
- Events .start_time >= start_date ,
80
- Events .end_time <= end_date
81
- ).all ()
82
- if not events :
83
- raise GraphQLError ('Events do not exist for the date range' )
84
- return events
68
+ return Events .query .filter (
69
+ Events .state == 'active'
70
+ ).all () or error_message ('Events do not exist' )
0 commit comments