File tree Expand file tree Collapse file tree 4 files changed +16
-12
lines changed
services/api-server/src/simcore_service_api_server Expand file tree Collapse file tree 4 files changed +16
-12
lines changed Original file line number Diff line number Diff line change 1- from typing import Annotated , cast
1+ from typing import Annotated
22
33from fastapi import Depends , FastAPI
44from servicelib .fastapi .dependencies import get_app
99async def get_resource_usage_tracker_client (
1010 app : Annotated [FastAPI , Depends (get_app )]
1111) -> ResourceUsageTrackerClient :
12- assert app .state .resource_usage_tracker_rpc_client # nosec
13- return cast (ResourceUsageTrackerClient , app .state .resource_usage_tracker_rpc_client )
12+ return ResourceUsageTrackerClient .get_from_app_state (app = app )
Original file line number Diff line number Diff line change 1- from typing import Annotated , cast
1+ from typing import Annotated
22
33from fastapi import Depends , FastAPI
44from servicelib .fastapi .dependencies import get_app
99async def get_wb_api_rpc_client (
1010 app : Annotated [FastAPI , Depends (get_app )]
1111) -> WbApiRpcClient :
12- assert app .state .wb_api_rpc_client # nosec
13- return cast (WbApiRpcClient , app .state .wb_api_rpc_client )
12+ return WbApiRpcClient .get_from_app_state (app = app )
Original file line number Diff line number Diff line change 55from models_library .resource_tracker_licensed_items_checkouts import (
66 LicensedItemCheckoutID ,
77)
8+ from servicelib .fastapi .app_state import SingletonInAppStateMixin
89from servicelib .rabbitmq ._client_rpc import RabbitMQRPCClient
910from servicelib .rabbitmq .rpc_interfaces .resource_usage_tracker .errors import (
1011 LicensedItemCheckoutNotFoundError as _LicensedItemCheckoutNotFoundError ,
2324
2425
2526@dataclass
26- class ResourceUsageTrackerClient :
27+ class ResourceUsageTrackerClient (SingletonInAppStateMixin ):
28+ app_state_name = "resource_usage_tracker_rpc_client"
2729 _client : RabbitMQRPCClient
2830
2931 @_exception_mapper (
@@ -51,7 +53,8 @@ async def get_licensed_item_checkout(
5153 )
5254
5355
54- def setup (app : FastAPI , rabbitmq_rmp_client : RabbitMQRPCClient ):
55- app . state . resource_usage_tracker_rpc_client = ResourceUsageTrackerClient (
56- _client = rabbitmq_rmp_client
56+ def setup (app : FastAPI , rabbitmq_rpc_client : RabbitMQRPCClient ):
57+ resource_usage_tracker_rpc_client = ResourceUsageTrackerClient (
58+ _client = rabbitmq_rpc_client
5759 )
60+ resource_usage_tracker_rpc_client .set_to_app_state (app = app )
Original file line number Diff line number Diff line change 1111from models_library .services_types import ServiceRunID
1212from models_library .users import UserID
1313from models_library .wallets import WalletID
14+ from servicelib .fastapi .app_state import SingletonInAppStateMixin
1415from servicelib .rabbitmq ._client_rpc import RabbitMQRPCClient
1516from servicelib .rabbitmq .rpc_interfaces .resource_usage_tracker .errors import (
1617 CanNotCheckoutNotEnoughAvailableSeatsError ,
@@ -72,7 +73,8 @@ def _create_licensed_items_get_page(
7273
7374
7475@dataclass
75- class WbApiRpcClient :
76+ class WbApiRpcClient (SingletonInAppStateMixin ):
77+ app_state_name = "wb_api_rpc_client"
7678 _client : RabbitMQRPCClient
7779
7880 @_exception_mapper (rpc_exception_map = {})
@@ -178,4 +180,5 @@ async def release_licensed_item_for_wallet(
178180
179181
180182def setup (app : FastAPI , rabbitmq_rmp_client : RabbitMQRPCClient ):
181- app .state .wb_api_rpc_client = WbApiRpcClient (_client = rabbitmq_rmp_client )
183+ wb_api_rpc_client = WbApiRpcClient (_client = rabbitmq_rmp_client )
184+ wb_api_rpc_client .set_to_app_state (app = app )
You can’t perform that action at this time.
0 commit comments