@@ -38,20 +38,30 @@ async def get_execution_events(
3838 current_user : Annotated [UserResponse , Depends (current_user )],
3939 event_service : FromDishka [EventService ],
4040 include_system_events : bool = Query (False , description = "Include system-generated events" ),
41+ limit : int = Query (100 , ge = 1 , le = 1000 ),
42+ skip : int = Query (0 , ge = 0 ),
4143) -> EventListResponse :
42- events = await event_service .get_execution_events (
44+ result = await event_service .get_execution_events (
4345 execution_id = execution_id ,
4446 user_id = current_user .user_id ,
4547 user_role = current_user .role ,
4648 include_system_events = include_system_events ,
49+ limit = limit ,
50+ skip = skip ,
4751 )
4852
49- if events is None :
53+ if result is None :
5054 raise HTTPException (status_code = 403 , detail = "Access denied" )
5155
52- event_responses = [EventResponse .model_validate (event ) for event in events ]
56+ event_responses = [EventResponse .model_validate (event ) for event in result . events ]
5357
54- return EventListResponse (events = event_responses , total = len (event_responses ), limit = 1000 , skip = 0 , has_more = False )
58+ return EventListResponse (
59+ events = event_responses ,
60+ total = result .total ,
61+ limit = limit ,
62+ skip = skip ,
63+ has_more = result .has_more ,
64+ )
5565
5666
5767@router .get ("/user" , response_model = EventListResponse )
@@ -126,41 +136,57 @@ async def get_events_by_correlation(
126136 event_service : FromDishka [EventService ],
127137 include_all_users : bool = Query (False , description = "Include events from all users (admin only)" ),
128138 limit : int = Query (100 , ge = 1 , le = 1000 ),
139+ skip : int = Query (0 , ge = 0 ),
129140) -> EventListResponse :
130- events = await event_service .get_events_by_correlation (
141+ result = await event_service .get_events_by_correlation (
131142 correlation_id = correlation_id ,
132143 user_id = current_user .user_id ,
133144 user_role = current_user .role ,
134145 include_all_users = include_all_users ,
135146 limit = limit ,
147+ skip = skip ,
136148 )
137149
138- event_responses = [EventResponse .model_validate (event ) for event in events ]
150+ event_responses = [EventResponse .model_validate (event ) for event in result . events ]
139151
140- return EventListResponse (events = event_responses , total = len (event_responses ), limit = limit , skip = 0 , has_more = False )
152+ return EventListResponse (
153+ events = event_responses ,
154+ total = result .total ,
155+ limit = limit ,
156+ skip = skip ,
157+ has_more = result .has_more ,
158+ )
141159
142160
143161@router .get ("/current-request" , response_model = EventListResponse )
144162async def get_current_request_events (
145163 current_user : Annotated [UserResponse , Depends (current_user )],
146164 event_service : FromDishka [EventService ],
147165 limit : int = Query (100 , ge = 1 , le = 1000 ),
166+ skip : int = Query (0 , ge = 0 ),
148167) -> EventListResponse :
149168 correlation_id = CorrelationContext .get_correlation_id ()
150169 if not correlation_id :
151- return EventListResponse (events = [], total = 0 , limit = limit , skip = 0 , has_more = False )
170+ return EventListResponse (events = [], total = 0 , limit = limit , skip = skip , has_more = False )
152171
153- events = await event_service .get_events_by_correlation (
172+ result = await event_service .get_events_by_correlation (
154173 correlation_id = correlation_id ,
155174 user_id = current_user .user_id ,
156175 user_role = current_user .role ,
157176 include_all_users = False ,
158177 limit = limit ,
178+ skip = skip ,
159179 )
160180
161- event_responses = [EventResponse .model_validate (event ) for event in events ]
181+ event_responses = [EventResponse .model_validate (event ) for event in result . events ]
162182
163- return EventListResponse (events = event_responses , total = len (event_responses ), limit = limit , skip = 0 , has_more = False )
183+ return EventListResponse (
184+ events = event_responses ,
185+ total = result .total ,
186+ limit = limit ,
187+ skip = skip ,
188+ has_more = result .has_more ,
189+ )
164190
165191
166192@router .get ("/statistics" , response_model = EventStatistics )
0 commit comments