Skip to content

Commit 71bd5d3

Browse files
committed
wraps exceptions
1 parent e0eb16e commit 71bd5d3

14 files changed

+69
-69
lines changed

services/web/server/src/simcore_service_webserver/projects/_controller/_rest_exceptions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,6 @@ def _assert_duplicate():
212212
}
213213

214214

215-
handle_plugin_requests_exceptions = exception_handling_decorator(
215+
handle_rest_requests_exceptions = exception_handling_decorator(
216216
to_exceptions_handlers_map(_TO_HTTP_ERROR_MAP)
217217
)

services/web/server/src/simcore_service_webserver/projects/_controller/comments_rest.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from ...security.decorators import permission_required
2626
from ...utils_aiohttp import envelope_json_response
2727
from .. import _comments_service, _projects_service
28-
from ._rest_exceptions import handle_plugin_requests_exceptions
28+
from ._rest_exceptions import handle_rest_requests_exceptions
2929
from ._rest_schemas import RequestContext
3030

3131
_logger = logging.getLogger(__name__)
@@ -58,7 +58,7 @@ class _ProjectCommentsBodyParams(BaseModel):
5858
)
5959
@login_required
6060
@permission_required("project.read")
61-
@handle_plugin_requests_exceptions
61+
@handle_rest_requests_exceptions
6262
async def create_project_comment(request: web.Request):
6363
req_ctx = RequestContext.model_validate(request)
6464
path_params = parse_request_path_parameters_as(_ProjectCommentsPathParams, request)
@@ -98,7 +98,7 @@ class _ListProjectCommentsQueryParams(BaseModel):
9898
@routes.get(f"/{VTAG}/projects/{{project_uuid}}/comments", name="list_project_comments")
9999
@login_required
100100
@permission_required("project.read")
101-
@handle_plugin_requests_exceptions
101+
@handle_rest_requests_exceptions
102102
async def list_project_comments(request: web.Request):
103103
req_ctx = RequestContext.model_validate(request)
104104
path_params = parse_request_path_parameters_as(_ProjectCommentsPathParams, request)
@@ -147,7 +147,7 @@ async def list_project_comments(request: web.Request):
147147
)
148148
@login_required
149149
@permission_required("project.read")
150-
@handle_plugin_requests_exceptions
150+
@handle_rest_requests_exceptions
151151
async def update_project_comment(request: web.Request):
152152
req_ctx = RequestContext.model_validate(request)
153153
path_params = parse_request_path_parameters_as(
@@ -178,7 +178,7 @@ async def update_project_comment(request: web.Request):
178178
)
179179
@login_required
180180
@permission_required("project.read")
181-
@handle_plugin_requests_exceptions
181+
@handle_rest_requests_exceptions
182182
async def delete_project_comment(request: web.Request):
183183
req_ctx = RequestContext.model_validate(request)
184184
path_params = parse_request_path_parameters_as(
@@ -206,7 +206,7 @@ async def delete_project_comment(request: web.Request):
206206
)
207207
@login_required
208208
@permission_required("project.read")
209-
@handle_plugin_requests_exceptions
209+
@handle_rest_requests_exceptions
210210
async def get_project_comment(request: web.Request):
211211
req_ctx = RequestContext.model_validate(request)
212212
path_params = parse_request_path_parameters_as(

services/web/server/src/simcore_service_webserver/projects/_controller/folders_rest.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from ...login.decorators import login_required
1313
from ...security.decorators import permission_required
1414
from .. import _folders_service
15-
from ._rest_exceptions import handle_plugin_requests_exceptions
15+
from ._rest_exceptions import handle_rest_requests_exceptions
1616
from ._rest_schemas import RequestContext
1717

1818
_logger = logging.getLogger(__name__)
@@ -38,7 +38,7 @@ class _ProjectsFoldersPathParams(BaseModel):
3838
)
3939
@login_required
4040
@permission_required("project.folders.*")
41-
@handle_plugin_requests_exceptions
41+
@handle_rest_requests_exceptions
4242
async def replace_project_folder(request: web.Request):
4343
req_ctx = RequestContext.model_validate(request)
4444
path_params = parse_request_path_parameters_as(_ProjectsFoldersPathParams, request)

services/web/server/src/simcore_service_webserver/projects/_controller/groups_rest.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from ...utils_aiohttp import envelope_json_response
1717
from .. import _groups_service
1818
from .._groups_service import ProjectGroupGet
19-
from ._rest_exceptions import handle_plugin_requests_exceptions
19+
from ._rest_exceptions import handle_rest_requests_exceptions
2020
from ._rest_schemas import ProjectPathParams, RequestContext
2121

2222
_logger = logging.getLogger(__name__)
@@ -43,7 +43,7 @@ class _ProjectsGroupsBodyParams(BaseModel):
4343
)
4444
@login_required
4545
@permission_required("project.access_rights.update")
46-
@handle_plugin_requests_exceptions
46+
@handle_rest_requests_exceptions
4747
async def create_project_group(request: web.Request):
4848
req_ctx = RequestContext.model_validate(request)
4949
path_params = parse_request_path_parameters_as(_ProjectsGroupsPathParams, request)
@@ -66,7 +66,7 @@ async def create_project_group(request: web.Request):
6666
@routes.get(f"/{VTAG}/projects/{{project_id}}/groups", name="list_project_groups")
6767
@login_required
6868
@permission_required("project.read")
69-
@handle_plugin_requests_exceptions
69+
@handle_rest_requests_exceptions
7070
async def list_project_groups(request: web.Request):
7171
req_ctx = RequestContext.model_validate(request)
7272
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -89,7 +89,7 @@ async def list_project_groups(request: web.Request):
8989
)
9090
@login_required
9191
@permission_required("project.access_rights.update")
92-
@handle_plugin_requests_exceptions
92+
@handle_rest_requests_exceptions
9393
async def replace_project_group(request: web.Request):
9494
req_ctx = RequestContext.model_validate(request)
9595
path_params = parse_request_path_parameters_as(_ProjectsGroupsPathParams, request)
@@ -113,7 +113,7 @@ async def replace_project_group(request: web.Request):
113113
)
114114
@login_required
115115
@permission_required("project.access_rights.update")
116-
@handle_plugin_requests_exceptions
116+
@handle_rest_requests_exceptions
117117
async def delete_project_group(request: web.Request):
118118
req_ctx = RequestContext.model_validate(request)
119119
path_params = parse_request_path_parameters_as(_ProjectsGroupsPathParams, request)

services/web/server/src/simcore_service_webserver/projects/_controller/metadata_rest.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from ...security.decorators import permission_required
2929
from ...utils_aiohttp import envelope_json_response
3030
from .. import _metadata_service
31-
from ._rest_exceptions import handle_plugin_requests_exceptions
31+
from ._rest_exceptions import handle_rest_requests_exceptions
3232
from ._rest_schemas import ProjectPathParams, RequestContext
3333

3434
routes = web.RouteTableDef()
@@ -42,7 +42,7 @@
4242
)
4343
@login_required
4444
@permission_required("project.read")
45-
@handle_plugin_requests_exceptions
45+
@handle_rest_requests_exceptions
4646
async def get_project_metadata(request: web.Request) -> web.Response:
4747
req_ctx = RequestContext.model_validate(request)
4848
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -62,7 +62,7 @@ async def get_project_metadata(request: web.Request) -> web.Response:
6262
)
6363
@login_required
6464
@permission_required("project.update")
65-
@handle_plugin_requests_exceptions
65+
@handle_rest_requests_exceptions
6666
async def update_project_metadata(request: web.Request) -> web.Response:
6767
req_ctx = RequestContext.model_validate(request)
6868
path_params = parse_request_path_parameters_as(ProjectPathParams, request)

services/web/server/src/simcore_service_webserver/projects/_controller/nodes_pricing_unit_rest.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from ...utils_aiohttp import envelope_json_response
1717
from .. import _projects_service
1818
from .._projects_repository_legacy import ProjectDBAPI
19-
from ._rest_exceptions import handle_plugin_requests_exceptions
19+
from ._rest_exceptions import handle_rest_requests_exceptions
2020
from ._rest_schemas import RequestContext
2121
from .nodes_rest import NodePathParams
2222

@@ -39,7 +39,7 @@ class PricingUnitNotFoundError(PricingUnitError):
3939
)
4040
@login_required
4141
@permission_required("project.wallet.*")
42-
@handle_plugin_requests_exceptions
42+
@handle_rest_requests_exceptions
4343
async def get_project_node_pricing_unit(request: web.Request):
4444
db: ProjectDBAPI = ProjectDBAPI.get_from_app_context(request.app)
4545
req_ctx = RequestContext.model_validate(request)
@@ -86,7 +86,7 @@ class _ProjectNodePricingUnitPathParams(BaseModel):
8686
)
8787
@login_required
8888
@permission_required("project.wallet.*")
89-
@handle_plugin_requests_exceptions
89+
@handle_rest_requests_exceptions
9090
async def connect_pricing_unit_to_project_node(request: web.Request):
9191
db: ProjectDBAPI = ProjectDBAPI.get_from_app_context(request.app)
9292
req_ctx = RequestContext.model_validate(request)

services/web/server/src/simcore_service_webserver/projects/_controller/nodes_rest.py

+16-16
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
ProjectNodeResourcesInsufficientRightsError,
7373
ProjectNodeResourcesInvalidError,
7474
)
75-
from ._rest_exceptions import handle_plugin_requests_exceptions
75+
from ._rest_exceptions import handle_rest_requests_exceptions
7676
from ._rest_schemas import ProjectPathParams, RequestContext
7777

7878
_logger = logging.getLogger(__name__)
@@ -92,7 +92,7 @@ class NodePathParams(ProjectPathParams):
9292
@routes.post(f"/{VTAG}/projects/{{project_id}}/nodes", name="create_node")
9393
@login_required
9494
@permission_required("project.node.create")
95-
@handle_plugin_requests_exceptions
95+
@handle_rest_requests_exceptions
9696
async def create_node(request: web.Request) -> web.Response:
9797
req_ctx = RequestContext.model_validate(request)
9898
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -134,7 +134,7 @@ async def create_node(request: web.Request) -> web.Response:
134134
@routes.get(f"/{VTAG}/projects/{{project_id}}/nodes/{{node_id}}", name="get_node")
135135
@login_required
136136
@permission_required("project.node.read")
137-
@handle_plugin_requests_exceptions
137+
@handle_rest_requests_exceptions
138138
# NOTE: Careful, this endpoint is actually "get_node_state," and it doesn't return a Node resource.
139139
async def get_node(request: web.Request) -> web.Response:
140140
req_ctx = RequestContext.model_validate(request)
@@ -173,7 +173,7 @@ async def get_node(request: web.Request) -> web.Response:
173173
)
174174
@login_required
175175
@permission_required("project.node.update")
176-
@handle_plugin_requests_exceptions
176+
@handle_rest_requests_exceptions
177177
async def patch_project_node(request: web.Request) -> web.Response:
178178
req_ctx = RequestContext.model_validate(request)
179179
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -194,7 +194,7 @@ async def patch_project_node(request: web.Request) -> web.Response:
194194
@routes.delete(f"/{VTAG}/projects/{{project_id}}/nodes/{{node_id}}", name="delete_node")
195195
@login_required
196196
@permission_required("project.node.delete")
197-
@handle_plugin_requests_exceptions
197+
@handle_rest_requests_exceptions
198198
async def delete_node(request: web.Request) -> web.Response:
199199
req_ctx = RequestContext.model_validate(request)
200200
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -222,7 +222,7 @@ async def delete_node(request: web.Request) -> web.Response:
222222
)
223223
@login_required
224224
@permission_required("project.node.read")
225-
@handle_plugin_requests_exceptions
225+
@handle_rest_requests_exceptions
226226
async def retrieve_node(request: web.Request) -> web.Response:
227227
"""Has only effect on nodes associated to dynamic services"""
228228
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -242,7 +242,7 @@ async def retrieve_node(request: web.Request) -> web.Response:
242242
)
243243
@login_required
244244
@permission_required("project.node.update")
245-
@handle_plugin_requests_exceptions
245+
@handle_rest_requests_exceptions
246246
async def update_node_outputs(request: web.Request) -> web.Response:
247247
req_ctx = RequestContext.model_validate(request)
248248
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -269,7 +269,7 @@ async def update_node_outputs(request: web.Request) -> web.Response:
269269
)
270270
@login_required
271271
@permission_required("project.update")
272-
@handle_plugin_requests_exceptions
272+
@handle_rest_requests_exceptions
273273
async def start_node(request: web.Request) -> web.Response:
274274
"""Has only effect on nodes associated to dynamic services"""
275275
req_ctx = RequestContext.model_validate(request)
@@ -313,7 +313,7 @@ async def _stop_dynamic_service_task(
313313
)
314314
@login_required
315315
@permission_required("project.update")
316-
@handle_plugin_requests_exceptions
316+
@handle_rest_requests_exceptions
317317
async def stop_node(request: web.Request) -> web.Response:
318318
"""Has only effect on nodes associated to dynamic services"""
319319
req_ctx = RequestContext.model_validate(request)
@@ -355,7 +355,7 @@ async def stop_node(request: web.Request) -> web.Response:
355355
)
356356
@login_required
357357
@permission_required("project.node.read")
358-
@handle_plugin_requests_exceptions
358+
@handle_rest_requests_exceptions
359359
async def restart_node(request: web.Request) -> web.Response:
360360
"""Has only effect on nodes associated to dynamic services"""
361361

@@ -379,7 +379,7 @@ async def restart_node(request: web.Request) -> web.Response:
379379
)
380380
@login_required
381381
@permission_required("project.node.read")
382-
@handle_plugin_requests_exceptions
382+
@handle_rest_requests_exceptions
383383
async def get_node_resources(request: web.Request) -> web.Response:
384384
req_ctx = RequestContext.model_validate(request)
385385
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -414,7 +414,7 @@ async def get_node_resources(request: web.Request) -> web.Response:
414414
)
415415
@login_required
416416
@permission_required("project.node.update")
417-
@handle_plugin_requests_exceptions
417+
@handle_rest_requests_exceptions
418418
async def replace_node_resources(request: web.Request) -> web.Response:
419419
req_ctx = RequestContext.model_validate(request)
420420
path_params = parse_request_path_parameters_as(NodePathParams, request)
@@ -473,7 +473,7 @@ class _ProjectGroupAccess(BaseModel):
473473
)
474474
@login_required
475475
@permission_required("project.read")
476-
@handle_plugin_requests_exceptions
476+
@handle_rest_requests_exceptions
477477
async def get_project_services(request: web.Request) -> web.Response:
478478
req_ctx = RequestContext.model_validate(request)
479479
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -516,7 +516,7 @@ async def get_project_services(request: web.Request) -> web.Response:
516516
)
517517
@login_required
518518
@permission_required("project.read")
519-
@handle_plugin_requests_exceptions
519+
@handle_rest_requests_exceptions
520520
async def get_project_services_access_for_gid(request: web.Request) -> web.Response:
521521
req_ctx = RequestContext.model_validate(request)
522522
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -634,7 +634,7 @@ class _ProjectNodePreview(BaseModel):
634634
)
635635
@login_required
636636
@permission_required("project.read")
637-
@handle_plugin_requests_exceptions
637+
@handle_rest_requests_exceptions
638638
async def list_project_nodes_previews(request: web.Request) -> web.Response:
639639
req_ctx = RequestContext.model_validate(request)
640640
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -674,7 +674,7 @@ async def list_project_nodes_previews(request: web.Request) -> web.Response:
674674
)
675675
@login_required
676676
@permission_required("project.read")
677-
@handle_plugin_requests_exceptions
677+
@handle_rest_requests_exceptions
678678
async def get_project_node_preview(request: web.Request) -> web.Response:
679679
req_ctx = RequestContext.model_validate(request)
680680
path_params = parse_request_path_parameters_as(NodePathParams, request)

services/web/server/src/simcore_service_webserver/projects/_controller/ports_rest.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from .._access_rights_service import check_user_project_permission
2929
from .._projects_repository_legacy import ProjectDBAPI
3030
from ..models import ProjectDict
31-
from ._rest_exceptions import handle_plugin_requests_exceptions
31+
from ._rest_exceptions import handle_rest_requests_exceptions
3232
from ._rest_schemas import ProjectPathParams, RequestContext
3333

3434
log = logging.getLogger(__name__)
@@ -57,7 +57,7 @@ async def _get_validated_workbench_model(
5757
@routes.get(f"/{VTAG}/projects/{{project_id}}/inputs", name="get_project_inputs")
5858
@login_required
5959
@permission_required("project.read")
60-
@handle_plugin_requests_exceptions
60+
@handle_rest_requests_exceptions
6161
async def get_project_inputs(request: web.Request) -> web.Response:
6262
req_ctx = RequestContext.model_validate(request)
6363
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -82,7 +82,7 @@ async def get_project_inputs(request: web.Request) -> web.Response:
8282
@routes.patch(f"/{VTAG}/projects/{{project_id}}/inputs", name="update_project_inputs")
8383
@login_required
8484
@permission_required("project.update")
85-
@handle_plugin_requests_exceptions
85+
@handle_rest_requests_exceptions
8686
async def update_project_inputs(request: web.Request) -> web.Response:
8787
db: ProjectDBAPI = ProjectDBAPI.get_from_app_context(request.app)
8888
req_ctx = RequestContext.model_validate(request)
@@ -148,7 +148,7 @@ async def update_project_inputs(request: web.Request) -> web.Response:
148148
@routes.get(f"/{VTAG}/projects/{{project_id}}/outputs", name="get_project_outputs")
149149
@login_required
150150
@permission_required("project.read")
151-
@handle_plugin_requests_exceptions
151+
@handle_rest_requests_exceptions
152152
async def get_project_outputs(request: web.Request) -> web.Response:
153153
req_ctx = RequestContext.model_validate(request)
154154
path_params = parse_request_path_parameters_as(ProjectPathParams, request)
@@ -195,7 +195,7 @@ class ProjectMetadataPortGet(BaseModel):
195195
)
196196
@login_required
197197
@permission_required("project.read")
198-
@handle_plugin_requests_exceptions
198+
@handle_rest_requests_exceptions
199199
async def list_project_metadata_ports(request: web.Request) -> web.Response:
200200
req_ctx = RequestContext.model_validate(request)
201201
path_params = parse_request_path_parameters_as(ProjectPathParams, request)

0 commit comments

Comments
 (0)