2121 CreatePricingPlanBodyParams ,
2222 CreatePricingUnitBodyParams ,
2323 PricingPlanAdminGet ,
24+ PricingPlanGet ,
2425 PricingPlanToServiceAdminGet ,
2526 PricingUnitAdminGet ,
2627 PricingUnitGet ,
2930 UpdatePricingUnitBodyParams ,
3031)
3132from models_library .generics import Envelope
33+ from models_library .rest_pagination import Page , PageQueryParameters
3234from simcore_service_webserver ._meta import API_VTAG
33- from simcore_service_webserver .resource_usage ._pricing_plans_admin_handlers import (
35+ from simcore_service_webserver .resource_usage ._pricing_plans_admin_rest import (
3436 PricingPlanGetPathParams ,
3537 PricingUnitGetPathParams ,
3638)
37- from simcore_service_webserver .resource_usage ._pricing_plans_handlers import (
39+ from simcore_service_webserver .resource_usage ._pricing_plans_rest import (
3840 PricingPlanUnitGetPathParams ,
3941)
40- from simcore_service_webserver .resource_usage ._service_runs_handlers import (
42+ from simcore_service_webserver .resource_usage ._service_runs_rest import (
4143 ServicesAggregatedUsagesListQueryParams ,
4244 ServicesResourceUsagesListQueryParams ,
4345 ServicesResourceUsagesReportQueryParams ,
4850
4951@router .get (
5052 "/services/-/resource-usages" ,
51- response_model = Envelope [ list [ ServiceRunGet ] ],
53+ response_model = Page [ ServiceRunGet ],
5254 summary = "Retrieve finished and currently running user services"
5355 " (user and product are taken from context, optionally wallet_id parameter might be provided)." ,
5456 tags = ["usage" ],
@@ -61,7 +63,7 @@ async def list_resource_usage_services(
6163
6264@router .get (
6365 "/services/-/aggregated-usages" ,
64- response_model = Envelope [ list [ OsparcCreditsAggregatedByServiceGet ] ],
66+ response_model = Page [ OsparcCreditsAggregatedByServiceGet ],
6567 summary = "Used credits based on aggregate by type, currently supported `services`"
6668 ". (user and product are taken from context, optionally wallet_id parameter might be provided)." ,
6769 tags = ["usage" ],
@@ -93,7 +95,6 @@ async def export_resource_usage_services(
9395@router .get (
9496 "/pricing-plans/{pricing_plan_id}/pricing-units/{pricing_unit_id}" ,
9597 response_model = Envelope [PricingUnitGet ],
96- summary = "Retrieve detail information about pricing unit" ,
9798 tags = ["pricing-plans" ],
9899)
99100async def get_pricing_plan_unit (
@@ -102,27 +103,50 @@ async def get_pricing_plan_unit(
102103 ...
103104
104105
106+ @router .get (
107+ "/pricing-plans" ,
108+ response_model = Page [PricingPlanGet ],
109+ tags = ["pricing-plans" ],
110+ description = "To keep the listing lightweight, the pricingUnits field is None." ,
111+ )
112+ async def list_pricing_plans (
113+ _query : Annotated [as_query (PageQueryParameters ), Depends ()]
114+ ):
115+ ...
116+
117+
118+ @router .get (
119+ "/pricing-plans/{pricing_plan_id}" ,
120+ response_model = Envelope [PricingPlanGet ],
121+ tags = ["pricing-plans" ],
122+ )
123+ async def get_pricing_plan (
124+ _path : Annotated [PricingPlanGetPathParams , Depends ()],
125+ ):
126+ ...
127+
128+
105129## Pricing plans for Admin panel
106130
107131
108132@router .get (
109133 "/admin/pricing-plans" ,
110- response_model = Envelope [list [PricingPlanAdminGet ]],
111- summary = "List pricing plans" ,
134+ response_model = Page [PricingPlanAdminGet ],
112135 tags = ["admin" ],
113136 description = "To keep the listing lightweight, the pricingUnits field is None." ,
114137)
115- async def list_pricing_plans ():
138+ async def list_pricing_plans_for_admin_user (
139+ _query : Annotated [as_query (PageQueryParameters ), Depends ()]
140+ ):
116141 ...
117142
118143
119144@router .get (
120145 "/admin/pricing-plans/{pricing_plan_id}" ,
121146 response_model = Envelope [PricingPlanAdminGet ],
122- summary = "Retrieve detail information about pricing plan" ,
123147 tags = ["admin" ],
124148)
125- async def get_pricing_plan (
149+ async def get_pricing_plan_for_admin_user (
126150 _path : Annotated [PricingPlanGetPathParams , Depends ()],
127151):
128152 ...
@@ -131,7 +155,6 @@ async def get_pricing_plan(
131155@router .post (
132156 "/admin/pricing-plans" ,
133157 response_model = Envelope [PricingPlanAdminGet ],
134- summary = "Create pricing plan" ,
135158 tags = ["admin" ],
136159)
137160async def create_pricing_plan (
@@ -143,7 +166,6 @@ async def create_pricing_plan(
143166@router .put (
144167 "/admin/pricing-plans/{pricing_plan_id}" ,
145168 response_model = Envelope [PricingPlanAdminGet ],
146- summary = "Update detail information about pricing plan" ,
147169 tags = ["admin" ],
148170)
149171async def update_pricing_plan (
@@ -159,7 +181,6 @@ async def update_pricing_plan(
159181@router .get (
160182 "/admin/pricing-plans/{pricing_plan_id}/pricing-units/{pricing_unit_id}" ,
161183 response_model = Envelope [PricingUnitAdminGet ],
162- summary = "Retrieve detail information about pricing unit" ,
163184 tags = ["admin" ],
164185)
165186async def get_pricing_unit (
@@ -171,7 +192,6 @@ async def get_pricing_unit(
171192@router .post (
172193 "/admin/pricing-plans/{pricing_plan_id}/pricing-units" ,
173194 response_model = Envelope [PricingUnitAdminGet ],
174- summary = "Create pricing unit" ,
175195 tags = ["admin" ],
176196)
177197async def create_pricing_unit (
@@ -184,7 +204,6 @@ async def create_pricing_unit(
184204@router .put (
185205 "/admin/pricing-plans/{pricing_plan_id}/pricing-units/{pricing_unit_id}" ,
186206 response_model = Envelope [PricingUnitAdminGet ],
187- summary = "Update detail information about pricing plan" ,
188207 tags = ["admin" ],
189208)
190209async def update_pricing_unit (
@@ -200,7 +219,6 @@ async def update_pricing_unit(
200219@router .get (
201220 "/admin/pricing-plans/{pricing_plan_id}/billable-services" ,
202221 response_model = Envelope [list [PricingPlanToServiceAdminGet ]],
203- summary = "List services that are connected to the provided pricing plan" ,
204222 tags = ["admin" ],
205223)
206224async def list_connected_services_to_pricing_plan (
@@ -212,7 +230,6 @@ async def list_connected_services_to_pricing_plan(
212230@router .post (
213231 "/admin/pricing-plans/{pricing_plan_id}/billable-services" ,
214232 response_model = Envelope [PricingPlanToServiceAdminGet ],
215- summary = "Connect service with pricing plan" ,
216233 tags = ["admin" ],
217234)
218235async def connect_service_to_pricing_plan (
0 commit comments