@@ -144,19 +144,25 @@ def get_pool_usage(self) -> BlueprintFactoryResponse:
144144
145145 @authenticate (self .authenticator )
146146 @validate_db_ids
147- async def _get (req : Request , user : base_models .APIUser , resource_pool_id : int ) -> HTTPResponse :
148- start_date = self ._extract_date (req , "start_date" )
149- end_date = self ._extract_date (req , "end_date" )
150- user_id = req .args .get ("user_id" )
151- user_id = str (user_id ) if user_id else user .id
152- if user_id != user .id and (user .access_token is None or not user .is_admin ):
147+ @validate (query = apispec .ResourcePoolsResourcePoolIdUsageGetParametersQuery )
148+ async def _get (
149+ req : Request ,
150+ user : base_models .APIUser ,
151+ resource_pool_id : int ,
152+ query : apispec .ResourcePoolsResourcePoolIdUsageGetParametersQuery ,
153+ ) -> HTTPResponse :
154+ start_date = query .start_date
155+ end_date = query .end_date
156+ requested_by = query .user_id
157+ requested_by = str (requested_by ) if requested_by else user .id
158+ if requested_by != user .id and (user .access_token is None or not user .is_admin ):
153159 raise errors .ForbiddenError (message = "You do not have the required permissions for this operation." )
154160
155161 result : model .ResourcePoolUsage | None = None
156162 if start_date :
157- result = await self .rr_svc .get_for_date (resource_pool_id , user_id or "" , start_date , end_date )
163+ result = await self .rr_svc .get_for_date (resource_pool_id , requested_by or "" , start_date , end_date )
158164 else :
159- result = await self .rr_svc .get_running_week (resource_pool_id , user_id or "" )
165+ result = await self .rr_svc .get_running_week (resource_pool_id , requested_by or "" )
160166 if result :
161167 output = apispec .ResourcePoolUsage (
162168 total_usage = apispec .ResourceUsageSummary (
0 commit comments