Skip to content

Commit 7beac73

Browse files
committed
add exception handling to release endpoint
1 parent 0c0312a commit 7beac73

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

services/api-server/src/simcore_service_api_server/services_rpc/resource_usage_tracker.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@
66
LicensedItemCheckoutID,
77
)
88
from servicelib.rabbitmq._client_rpc import RabbitMQRPCClient
9+
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
10+
LicensedItemCheckoutNotFoundError as _LicensedItemCheckoutNotFoundError,
11+
)
912
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.licensed_items_checkouts import (
1013
get_licensed_item_checkout as _get_licensed_item_checkout,
1114
)
1215

16+
from ..exceptions.backend_errors import LicensedItemCheckoutNotFoundError
1317
from ..exceptions.service_errors_utils import service_exception_mapper
1418
from ..models.schemas.model_adapter import LicensedItemCheckoutGet
1519

@@ -22,7 +26,11 @@
2226
class ResourceUsageTrackerClient:
2327
_client: RabbitMQRPCClient
2428

25-
@_exception_mapper(rpc_exception_map={})
29+
@_exception_mapper(
30+
rpc_exception_map={
31+
_LicensedItemCheckoutNotFoundError: LicensedItemCheckoutNotFoundError
32+
}
33+
)
2634
async def get_licensed_item_checkout(
2735
self, *, product_name: str, licensed_item_checkout_id: LicensedItemCheckoutID
2836
) -> LicensedItemCheckoutGet:

services/api-server/src/simcore_service_api_server/services_rpc/wb_api_server.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
2020
CanNotCheckoutServiceIsNotRunningError as _CanNotCheckoutServiceIsNotRunningError,
2121
)
22+
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
23+
LicensedItemCheckoutNotFoundError as _LicensedItemCheckoutNotFoundError,
24+
)
2225
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
2326
NotEnoughAvailableSeatsError,
2427
)
@@ -38,6 +41,7 @@
3841
from ..exceptions.backend_errors import (
3942
CanNotCheckoutServiceIsNotRunningError,
4043
InsufficientNumberOfSeatsError,
44+
LicensedItemCheckoutNotFoundError,
4145
)
4246
from ..exceptions.service_errors_utils import service_exception_mapper
4347
from ..models.pagination import PaginationParams
@@ -144,6 +148,11 @@ async def checkout_licensed_item_for_wallet(
144148
num_of_seats=licensed_item_checkout_get.num_of_seats,
145149
)
146150

151+
@_exception_mapper(
152+
rpc_exception_map={
153+
_LicensedItemCheckoutNotFoundError: LicensedItemCheckoutNotFoundError
154+
}
155+
)
147156
async def release_licensed_item_for_wallet(
148157
self,
149158
*,

services/resource-usage-tracker/src/simcore_service_resource_usage_tracker/api/rpc/_licensed_items_checkouts.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@
1515
from servicelib.rabbitmq import RPCRouter
1616
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
1717
LICENSES_ERRORS,
18+
LicensedItemCheckoutNotFoundError,
1819
)
1920

2021
from ...services import licensed_items_checkouts
2122

2223
router = RPCRouter()
2324

2425

25-
@router.expose(reraise_if_error_type=LICENSES_ERRORS)
26+
@router.expose(reraise_if_error_type=(LicensedItemCheckoutNotFoundError,))
2627
async def get_licensed_item_checkout(
2728
app: FastAPI,
2829
*,

services/web/server/src/simcore_service_webserver/licenses/_rpc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from servicelib.rabbitmq.rpc_interfaces.resource_usage_tracker.errors import (
1919
LICENSES_ERRORS,
2020
CanNotCheckoutNotEnoughAvailableSeatsError,
21+
LicensedItemCheckoutNotFoundError,
2122
NotEnoughAvailableSeatsError,
2223
)
2324
from simcore_service_api_server.exceptions.backend_errors import (
@@ -103,7 +104,7 @@ async def checkout_licensed_item_for_wallet(
103104
)
104105

105106

106-
@router.expose(reraise_if_error_type=LICENSES_ERRORS)
107+
@router.expose(reraise_if_error_type=(LicensedItemCheckoutNotFoundError,))
107108
async def release_licensed_item_for_wallet(
108109
app: web.Application,
109110
*,

0 commit comments

Comments
 (0)