22
33from typing import Any
44
5+ from models_library .api_schemas_webserver .licensed_items import LicensedItemRpcGetPage
6+ from models_library .api_schemas_webserver .licensed_items_checkouts import (
7+ LicensedItemCheckoutRpcGet ,
8+ )
9+ from models_library .licenses import LicensedItemID
510from models_library .products import ProductName
11+ from models_library .resource_tracker_licensed_items_checkouts import (
12+ LicensedItemCheckoutID ,
13+ )
14+ from models_library .services_types import ServiceRunID
615from models_library .users import UserID
16+ from models_library .wallets import WalletID
717
818from ._base import BaseRpcApi
919
1020
1121class LicensesRpcApi (BaseRpcApi ):
1222 """RPC client for license-related operations."""
1323
14- async def get_licensed_items_for_wallet (
24+ async def get_licensed_items (
1525 self ,
1626 * ,
1727 product_name : ProductName ,
28+ offset : int = 0 ,
29+ limit : int = 20 ,
30+ ) -> LicensedItemRpcGetPage :
31+ return await self ._request_without_authentication (
32+ "get_licensed_items" ,
33+ product_name = product_name ,
34+ offset = offset ,
35+ limit = limit ,
36+ )
37+
38+ async def get_available_licensed_items_for_wallet (
39+ self ,
40+ * ,
41+ product_name : ProductName ,
42+ wallet_id : WalletID ,
1843 user_id : UserID ,
19- wallet_id : int | None = None ,
20- ) -> list [dict [str , Any ]]:
44+ offset : int = 0 ,
45+ limit : int = 20 ,
46+ ) -> LicensedItemRpcGetPage :
2147 """Get licensed items for a wallet."""
2248 return await self ._request (
23- "get_licensed_items_for_wallet " ,
49+ "get_available_licensed_items_for_wallet " ,
2450 product_name = product_name ,
2551 user_id = user_id ,
2652 wallet_id = wallet_id ,
53+ offset = offset ,
54+ limit = limit ,
2755 )
2856
2957 async def get_licensed_items_checkouts_for_wallet (
@@ -46,18 +74,18 @@ async def checkout_licensed_item_for_wallet(
4674 * ,
4775 product_name : ProductName ,
4876 user_id : UserID ,
49- licensed_item_id : str ,
50- wallet_id : int ,
77+ wallet_id : WalletID ,
78+ licensed_item_id : LicensedItemID ,
5179 num_of_seats : int ,
52- service_run_id : str ,
53- ) -> dict [ str , Any ] :
80+ service_run_id : ServiceRunID ,
81+ ) -> LicensedItemCheckoutRpcGet :
5482 """Checkout a licensed item for a wallet."""
5583 return await self ._request (
5684 "checkout_licensed_item_for_wallet" ,
5785 product_name = product_name ,
5886 user_id = user_id ,
59- licensed_item_id = licensed_item_id ,
6087 wallet_id = wallet_id ,
88+ licensed_item_id = licensed_item_id ,
6189 num_of_seats = num_of_seats ,
6290 service_run_id = service_run_id ,
6391 )
@@ -67,14 +95,12 @@ async def release_licensed_item_for_wallet(
6795 * ,
6896 product_name : ProductName ,
6997 user_id : UserID ,
70- licensed_item_checkout_id : str ,
71- wallet_id : int ,
72- ) -> None :
98+ licensed_item_checkout_id : LicensedItemCheckoutID ,
99+ ) -> LicensedItemCheckoutRpcGet :
73100 """Release a licensed item checkout for a wallet."""
74101 return await self ._request (
75102 "release_licensed_item_for_wallet" ,
76103 product_name = product_name ,
77104 user_id = user_id ,
78105 licensed_item_checkout_id = licensed_item_checkout_id ,
79- wallet_id = wallet_id ,
80106 )
0 commit comments