meshtrade 0.0.8__py3-none-any.whl → 0.0.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of meshtrade might be problematic. Click here for more details.
- buf/validate/validate_pb2.py +450 -0
- buf/validate/validate_pb2.pyi +627 -0
- meshtrade/common/__init__.py +28 -0
- meshtrade/common/config.py +30 -0
- meshtrade/common/grpc_client.py +202 -0
- meshtrade/compliance/client/v1/__init__.py +65 -7
- meshtrade/compliance/client/v1/client_pb2.py +2 -2
- meshtrade/compliance/client/v1/client_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_representative_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_representative_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_representative_role_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_representative_role_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/fund_pb2.py +2 -2
- meshtrade/compliance/client/v1/fund_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/identification_document_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/identification_document_type_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/industry_classification_pb2.py +2 -2
- meshtrade/compliance/client/v1/industry_classification_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_connection_type_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/natural_person_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/pep_status_pb2.py +2 -2
- meshtrade/compliance/client/v1/pep_status_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/service_meshpy.py +186 -0
- meshtrade/compliance/client/v1/service_options_meshpy.py +65 -0
- meshtrade/compliance/client/v1/service_pb2.py +20 -10
- meshtrade/compliance/client/v1/service_pb2.pyi +8 -0
- meshtrade/compliance/client/v1/service_pb2_grpc.py +192 -0
- meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +2 -2
- meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/tax_residency_pb2.py +2 -2
- meshtrade/compliance/client/v1/tax_residency_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/trust_pb2.py +2 -2
- meshtrade/compliance/client/v1/trust_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/verification_status_pb2.py +2 -2
- meshtrade/compliance/client/v1/verification_status_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/__init__.py +99 -0
- meshtrade/iam/api_user/v1/api_credentials.py +156 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2.py +42 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2.pyi +14 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/api_user_pb2.py +48 -0
- meshtrade/iam/api_user/v1/api_user_pb2.pyi +49 -0
- meshtrade/iam/api_user/v1/api_user_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/service.py +58 -0
- meshtrade/iam/api_user/v1/service_meshpy.py +255 -0
- meshtrade/iam/api_user/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/api_user/v1/service_pb2.py +77 -0
- meshtrade/iam/api_user/v1/service_pb2.pyi +63 -0
- meshtrade/iam/api_user/v1/service_pb2_grpc.py +458 -0
- meshtrade/iam/group/v1/__init__.py +59 -1
- meshtrade/iam/group/v1/group_pb2.py +2 -2
- meshtrade/iam/group/v1/group_pb2_grpc.py +4 -0
- meshtrade/iam/group/v1/service_meshpy.py +187 -0
- meshtrade/iam/group/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/group/v1/service_pb2.py +22 -6
- meshtrade/iam/group/v1/service_pb2.pyi +29 -1
- meshtrade/iam/group/v1/service_pb2_grpc.py +170 -0
- meshtrade/iam/role/v1/__init__.py +44 -0
- meshtrade/iam/role/v1/role.py +23 -0
- meshtrade/iam/role/v1/role_pb2.py +40 -0
- meshtrade/{option/v1/auth_pb2.pyi → iam/role/v1/role_pb2.pyi} +16 -0
- meshtrade/iam/role/v1/role_pb2_grpc.py +4 -0
- meshtrade/iam/user/v1/__init__.py +53 -0
- meshtrade/iam/user/v1/service_meshpy.py +151 -0
- meshtrade/iam/user/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/user/v1/service_pb2.py +51 -0
- meshtrade/iam/user/v1/service_pb2.pyi +19 -0
- meshtrade/iam/user/v1/service_pb2_grpc.py +82 -0
- meshtrade/{issuance_hub/instrument/v1/instrument_pb2.py → iam/user/v1/user_pb2.py} +7 -7
- meshtrade/iam/user/v1/user_pb2.pyi +15 -0
- meshtrade/iam/user/v1/user_pb2_grpc.py +4 -0
- meshtrade/ledger/transaction/v1/__init__.py +34 -0
- meshtrade/ledger/transaction/v1/transaction_action_pb2.py +2 -2
- meshtrade/ledger/transaction/v1/transaction_action_pb2_grpc.py +4 -0
- meshtrade/ledger/transaction/v1/transaction_state_pb2.py +2 -2
- meshtrade/ledger/transaction/v1/transaction_state_pb2_grpc.py +4 -0
- meshtrade/option/v1/__init__.py +36 -4
- meshtrade/option/v1/{service_type_pb2.py → method_type_pb2.py} +7 -7
- meshtrade/option/v1/method_type_pb2.pyi +17 -0
- meshtrade/option/v1/method_type_pb2_grpc.py +4 -0
- meshtrade/trading/limit_order/v1/__init__.py +47 -1
- meshtrade/trading/limit_order/v1/limit_order_pb2.py +2 -2
- meshtrade/trading/limit_order/v1/limit_order_pb2_grpc.py +4 -0
- meshtrade/trading/limit_order/v1/service_meshpy.py +151 -0
- meshtrade/trading/limit_order/v1/service_options_meshpy.py +65 -0
- meshtrade/trading/limit_order/v1/service_pb2.py +10 -6
- meshtrade/trading/limit_order/v1/service_pb2.pyi +2 -0
- meshtrade/trading/limit_order/v1/service_pb2_grpc.py +78 -0
- meshtrade/trading/market_order/v1/__init__.py +53 -0
- meshtrade/trading/{direct_order/v1/direct_order_pb2.py → market_order/v1/market_order_pb2.py} +7 -7
- meshtrade/trading/{spot/v1/spot_pb2.pyi → market_order/v1/market_order_pb2.pyi} +1 -1
- meshtrade/trading/market_order/v1/market_order_pb2_grpc.py +4 -0
- meshtrade/trading/market_order/v1/service_meshpy.py +151 -0
- meshtrade/trading/market_order/v1/service_options_meshpy.py +65 -0
- meshtrade/trading/market_order/v1/service_pb2.py +44 -0
- meshtrade/trading/{spot → market_order}/v1/service_pb2.pyi +4 -2
- meshtrade/trading/market_order/v1/service_pb2_grpc.py +78 -0
- meshtrade/type/v1/__init__.py +89 -50
- meshtrade/type/v1/address_pb2.py +2 -2
- meshtrade/type/v1/address_pb2_grpc.py +4 -0
- meshtrade/type/v1/amount.py +2 -8
- meshtrade/type/v1/amount_pb2.py +2 -2
- meshtrade/type/v1/amount_pb2_grpc.py +4 -0
- meshtrade/type/v1/contact_details_pb2.py +2 -2
- meshtrade/type/v1/contact_details_pb2_grpc.py +4 -0
- meshtrade/type/v1/date.py +263 -91
- meshtrade/type/v1/date_pb2.py +2 -2
- meshtrade/type/v1/date_pb2_grpc.py +4 -0
- meshtrade/type/v1/decimal_built_in_conversions.py +1 -1
- meshtrade/type/v1/decimal_pb2.py +2 -2
- meshtrade/type/v1/decimal_pb2_grpc.py +4 -0
- meshtrade/type/v1/ledger.py +1 -1
- meshtrade/type/v1/ledger_pb2.py +2 -2
- meshtrade/type/v1/ledger_pb2_grpc.py +4 -0
- meshtrade/type/v1/time_of_day.py +52 -87
- meshtrade/type/v1/time_of_day_pb2.py +2 -2
- meshtrade/type/v1/time_of_day_pb2_grpc.py +4 -0
- meshtrade/type/v1/token_pb2.py +2 -2
- meshtrade/type/v1/token_pb2_grpc.py +4 -0
- meshtrade/wallet/account/v1/__init__.py +46 -0
- meshtrade/wallet/account/v1/account_pb2.py +2 -2
- meshtrade/wallet/account/v1/account_pb2_grpc.py +4 -0
- meshtrade/wallet/account/v1/service_meshpy.py +204 -0
- meshtrade/wallet/account/v1/service_options_meshpy.py +65 -0
- meshtrade/wallet/account/v1/service_pb2.py +18 -18
- meshtrade/wallet/account/v1/service_pb2.pyi +2 -2
- meshtrade/wallet/account/v1/service_pb2_grpc.py +222 -0
- meshtrade-0.0.10.dist-info/METADATA +95 -0
- meshtrade-0.0.10.dist-info/RECORD +173 -0
- {meshtrade-0.0.8.dist-info → meshtrade-0.0.10.dist-info}/top_level.txt +1 -0
- meshtrade/issuance_hub/__init__.py +0 -0
- meshtrade/issuance_hub/instrument/__init__.py +0 -0
- meshtrade/issuance_hub/instrument/v1/__init__.py +0 -11
- meshtrade/issuance_hub/instrument/v1/instrument_pb2.pyi +0 -11
- meshtrade/issuance_hub/instrument/v1/service_pb2.py +0 -49
- meshtrade/issuance_hub/instrument/v1/service_pb2.pyi +0 -46
- meshtrade/option/v1/auth_pb2.py +0 -40
- meshtrade/option/v1/service_type_pb2.pyi +0 -17
- meshtrade/trading/direct_order/__init__.py +0 -0
- meshtrade/trading/direct_order/v1/__init__.py +0 -7
- meshtrade/trading/direct_order/v1/direct_order_pb2.pyi +0 -11
- meshtrade/trading/direct_order/v1/service_pb2.py +0 -40
- meshtrade/trading/direct_order/v1/service_pb2.pyi +0 -12
- meshtrade/trading/spot/__init__.py +0 -0
- meshtrade/trading/spot/v1/__init__.py +0 -7
- meshtrade/trading/spot/v1/service_pb2.py +0 -40
- meshtrade/trading/spot/v1/spot_pb2.py +0 -37
- meshtrade-0.0.8.dist-info/METADATA +0 -35
- meshtrade-0.0.8.dist-info/RECORD +0 -113
- meshtrade-0.0.8.dist-info/licenses/LICENSE +0 -10
- {meshtrade-0.0.8.dist-info → meshtrade-0.0.10.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from meshtrade.iam.api_user.v1 import api_user_pb2 as meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2
|
|
6
|
+
from meshtrade.iam.api_user.v1 import service_pb2 as meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ApiUserServiceStub(object):
|
|
10
|
+
"""
|
|
11
|
+
ApiUserService manages API user lifecycle and authentication credentials.
|
|
12
|
+
|
|
13
|
+
API users represent automated clients that can authenticate with API keys
|
|
14
|
+
and perform operations within a specific group context. Each API user has:
|
|
15
|
+
- A unique identifier and display name
|
|
16
|
+
- Group ownership for resource isolation
|
|
17
|
+
- Role-based permissions for authorization
|
|
18
|
+
- Active/inactive state for access control
|
|
19
|
+
|
|
20
|
+
All operations require IAM domain permissions and operate within
|
|
21
|
+
the authenticated group context.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
def __init__(self, channel):
|
|
25
|
+
"""Constructor.
|
|
26
|
+
|
|
27
|
+
Args:
|
|
28
|
+
channel: A grpc.Channel.
|
|
29
|
+
"""
|
|
30
|
+
self.GetApiUser = channel.unary_unary(
|
|
31
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/GetApiUser',
|
|
32
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserRequest.SerializeToString,
|
|
33
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
34
|
+
_registered_method=True)
|
|
35
|
+
self.CreateApiUser = channel.unary_unary(
|
|
36
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/CreateApiUser',
|
|
37
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.CreateApiUserRequest.SerializeToString,
|
|
38
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
39
|
+
_registered_method=True)
|
|
40
|
+
self.ListApiUsers = channel.unary_unary(
|
|
41
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/ListApiUsers',
|
|
42
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersRequest.SerializeToString,
|
|
43
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersResponse.FromString,
|
|
44
|
+
_registered_method=True)
|
|
45
|
+
self.SearchApiUsers = channel.unary_unary(
|
|
46
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/SearchApiUsers',
|
|
47
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersRequest.SerializeToString,
|
|
48
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersResponse.FromString,
|
|
49
|
+
_registered_method=True)
|
|
50
|
+
self.ActivateApiUser = channel.unary_unary(
|
|
51
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/ActivateApiUser',
|
|
52
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ActivateApiUserRequest.SerializeToString,
|
|
53
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
54
|
+
_registered_method=True)
|
|
55
|
+
self.DeactivateApiUser = channel.unary_unary(
|
|
56
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/DeactivateApiUser',
|
|
57
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.DeactivateApiUserRequest.SerializeToString,
|
|
58
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
59
|
+
_registered_method=True)
|
|
60
|
+
self.GetApiUserByKeyHash = channel.unary_unary(
|
|
61
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/GetApiUserByKeyHash',
|
|
62
|
+
request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserByKeyHashRequest.SerializeToString,
|
|
63
|
+
response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
64
|
+
_registered_method=True)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class ApiUserServiceServicer(object):
|
|
68
|
+
"""
|
|
69
|
+
ApiUserService manages API user lifecycle and authentication credentials.
|
|
70
|
+
|
|
71
|
+
API users represent automated clients that can authenticate with API keys
|
|
72
|
+
and perform operations within a specific group context. Each API user has:
|
|
73
|
+
- A unique identifier and display name
|
|
74
|
+
- Group ownership for resource isolation
|
|
75
|
+
- Role-based permissions for authorization
|
|
76
|
+
- Active/inactive state for access control
|
|
77
|
+
|
|
78
|
+
All operations require IAM domain permissions and operate within
|
|
79
|
+
the authenticated group context.
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
def GetApiUser(self, request, context):
|
|
83
|
+
"""
|
|
84
|
+
Retrieves a single API user by its unique identifier.
|
|
85
|
+
|
|
86
|
+
Parameters:
|
|
87
|
+
- name: The resource name in format api_users/{api_user_id}
|
|
88
|
+
|
|
89
|
+
Returns:
|
|
90
|
+
- APIUser: Complete API user resource including metadata and roles
|
|
91
|
+
|
|
92
|
+
Authorization: Requires ROLE_IAM_ADMIN or ROLE_IAM_VIEWER
|
|
93
|
+
"""
|
|
94
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
95
|
+
context.set_details('Method not implemented!')
|
|
96
|
+
raise NotImplementedError('Method not implemented!')
|
|
97
|
+
|
|
98
|
+
def CreateApiUser(self, request, context):
|
|
99
|
+
"""
|
|
100
|
+
Creates a new API user with the specified configuration.
|
|
101
|
+
|
|
102
|
+
The API user will be created in the authenticated group context
|
|
103
|
+
and assigned the provided roles. The system generates a unique
|
|
104
|
+
identifier and API key for authentication.
|
|
105
|
+
|
|
106
|
+
Parameters:
|
|
107
|
+
- api_user: APIUser configuration (name field ignored, assigned by system)
|
|
108
|
+
|
|
109
|
+
Returns:
|
|
110
|
+
- APIUser: Newly created API user with generated name and API key
|
|
111
|
+
|
|
112
|
+
Authorization: Requires ROLE_IAM_ADMIN
|
|
113
|
+
"""
|
|
114
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
115
|
+
context.set_details('Method not implemented!')
|
|
116
|
+
raise NotImplementedError('Method not implemented!')
|
|
117
|
+
|
|
118
|
+
def ListApiUsers(self, request, context):
|
|
119
|
+
"""
|
|
120
|
+
Lists all API users in the authenticated group context.
|
|
121
|
+
|
|
122
|
+
Returns all API users that belong to the current group,
|
|
123
|
+
regardless of their active/inactive state.
|
|
124
|
+
|
|
125
|
+
Returns:
|
|
126
|
+
- ListApiUsersResponse: Collection of API users in the group
|
|
127
|
+
|
|
128
|
+
Authorization: Requires ROLE_IAM_ADMIN or ROLE_IAM_VIEWER
|
|
129
|
+
"""
|
|
130
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
131
|
+
context.set_details('Method not implemented!')
|
|
132
|
+
raise NotImplementedError('Method not implemented!')
|
|
133
|
+
|
|
134
|
+
def SearchApiUsers(self, request, context):
|
|
135
|
+
"""
|
|
136
|
+
Searches API users using display name filtering.
|
|
137
|
+
|
|
138
|
+
Performs substring matching on API user display names
|
|
139
|
+
within the authenticated group context.
|
|
140
|
+
|
|
141
|
+
Parameters:
|
|
142
|
+
- display_name: Substring to search for in display names
|
|
143
|
+
|
|
144
|
+
Returns:
|
|
145
|
+
- SearchApiUsersResponse: Collection of matching API users
|
|
146
|
+
|
|
147
|
+
Authorization: Requires ROLE_IAM_ADMIN or ROLE_IAM_VIEWER
|
|
148
|
+
"""
|
|
149
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
150
|
+
context.set_details('Method not implemented!')
|
|
151
|
+
raise NotImplementedError('Method not implemented!')
|
|
152
|
+
|
|
153
|
+
def ActivateApiUser(self, request, context):
|
|
154
|
+
"""
|
|
155
|
+
Activates an API user, enabling API key authentication.
|
|
156
|
+
|
|
157
|
+
Changes the API user state to active, allowing the associated
|
|
158
|
+
API key to be used for authentication and authorization.
|
|
159
|
+
|
|
160
|
+
Parameters:
|
|
161
|
+
- name: The resource name in format api_users/{api_user_id}
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
- APIUser: Updated API user with active state
|
|
165
|
+
|
|
166
|
+
Authorization: Requires ROLE_IAM_ADMIN
|
|
167
|
+
"""
|
|
168
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
169
|
+
context.set_details('Method not implemented!')
|
|
170
|
+
raise NotImplementedError('Method not implemented!')
|
|
171
|
+
|
|
172
|
+
def DeactivateApiUser(self, request, context):
|
|
173
|
+
"""
|
|
174
|
+
Deactivates an API user, disabling API key authentication.
|
|
175
|
+
|
|
176
|
+
Changes the API user state to inactive, preventing the associated
|
|
177
|
+
API key from being used for authentication.
|
|
178
|
+
|
|
179
|
+
Parameters:
|
|
180
|
+
- name: The resource name in format api_users/{api_user_id}
|
|
181
|
+
|
|
182
|
+
Returns:
|
|
183
|
+
- APIUser: Updated API user with inactive state
|
|
184
|
+
|
|
185
|
+
Authorization: Requires ROLE_IAM_ADMIN
|
|
186
|
+
"""
|
|
187
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
188
|
+
context.set_details('Method not implemented!')
|
|
189
|
+
raise NotImplementedError('Method not implemented!')
|
|
190
|
+
|
|
191
|
+
def GetApiUserByKeyHash(self, request, context):
|
|
192
|
+
"""
|
|
193
|
+
Retrieves an API user using its API key hash.
|
|
194
|
+
|
|
195
|
+
This method is used for authentication flows to lookup
|
|
196
|
+
an API user based on the hash of their API key.
|
|
197
|
+
|
|
198
|
+
Parameters:
|
|
199
|
+
- key_hash: Hash of the API key to lookup
|
|
200
|
+
|
|
201
|
+
Returns:
|
|
202
|
+
- APIUser: Complete API user resource associated with the key
|
|
203
|
+
|
|
204
|
+
Authorization: Requires ROLE_IAM_ADMIN or ROLE_IAM_VIEWER
|
|
205
|
+
"""
|
|
206
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
207
|
+
context.set_details('Method not implemented!')
|
|
208
|
+
raise NotImplementedError('Method not implemented!')
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def add_ApiUserServiceServicer_to_server(servicer, server):
|
|
212
|
+
rpc_method_handlers = {
|
|
213
|
+
'GetApiUser': grpc.unary_unary_rpc_method_handler(
|
|
214
|
+
servicer.GetApiUser,
|
|
215
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserRequest.FromString,
|
|
216
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
|
|
217
|
+
),
|
|
218
|
+
'CreateApiUser': grpc.unary_unary_rpc_method_handler(
|
|
219
|
+
servicer.CreateApiUser,
|
|
220
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.CreateApiUserRequest.FromString,
|
|
221
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
|
|
222
|
+
),
|
|
223
|
+
'ListApiUsers': grpc.unary_unary_rpc_method_handler(
|
|
224
|
+
servicer.ListApiUsers,
|
|
225
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersRequest.FromString,
|
|
226
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersResponse.SerializeToString,
|
|
227
|
+
),
|
|
228
|
+
'SearchApiUsers': grpc.unary_unary_rpc_method_handler(
|
|
229
|
+
servicer.SearchApiUsers,
|
|
230
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersRequest.FromString,
|
|
231
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersResponse.SerializeToString,
|
|
232
|
+
),
|
|
233
|
+
'ActivateApiUser': grpc.unary_unary_rpc_method_handler(
|
|
234
|
+
servicer.ActivateApiUser,
|
|
235
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ActivateApiUserRequest.FromString,
|
|
236
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
|
|
237
|
+
),
|
|
238
|
+
'DeactivateApiUser': grpc.unary_unary_rpc_method_handler(
|
|
239
|
+
servicer.DeactivateApiUser,
|
|
240
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.DeactivateApiUserRequest.FromString,
|
|
241
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
|
|
242
|
+
),
|
|
243
|
+
'GetApiUserByKeyHash': grpc.unary_unary_rpc_method_handler(
|
|
244
|
+
servicer.GetApiUserByKeyHash,
|
|
245
|
+
request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserByKeyHashRequest.FromString,
|
|
246
|
+
response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
|
|
247
|
+
),
|
|
248
|
+
}
|
|
249
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
250
|
+
'meshtrade.iam.api_user.v1.ApiUserService', rpc_method_handlers)
|
|
251
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
252
|
+
server.add_registered_method_handlers('meshtrade.iam.api_user.v1.ApiUserService', rpc_method_handlers)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
# This class is part of an EXPERIMENTAL API.
|
|
256
|
+
class ApiUserService(object):
|
|
257
|
+
"""
|
|
258
|
+
ApiUserService manages API user lifecycle and authentication credentials.
|
|
259
|
+
|
|
260
|
+
API users represent automated clients that can authenticate with API keys
|
|
261
|
+
and perform operations within a specific group context. Each API user has:
|
|
262
|
+
- A unique identifier and display name
|
|
263
|
+
- Group ownership for resource isolation
|
|
264
|
+
- Role-based permissions for authorization
|
|
265
|
+
- Active/inactive state for access control
|
|
266
|
+
|
|
267
|
+
All operations require IAM domain permissions and operate within
|
|
268
|
+
the authenticated group context.
|
|
269
|
+
"""
|
|
270
|
+
|
|
271
|
+
@staticmethod
|
|
272
|
+
def GetApiUser(request,
|
|
273
|
+
target,
|
|
274
|
+
options=(),
|
|
275
|
+
channel_credentials=None,
|
|
276
|
+
call_credentials=None,
|
|
277
|
+
insecure=False,
|
|
278
|
+
compression=None,
|
|
279
|
+
wait_for_ready=None,
|
|
280
|
+
timeout=None,
|
|
281
|
+
metadata=None):
|
|
282
|
+
return grpc.experimental.unary_unary(
|
|
283
|
+
request,
|
|
284
|
+
target,
|
|
285
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/GetApiUser',
|
|
286
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserRequest.SerializeToString,
|
|
287
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
288
|
+
options,
|
|
289
|
+
channel_credentials,
|
|
290
|
+
insecure,
|
|
291
|
+
call_credentials,
|
|
292
|
+
compression,
|
|
293
|
+
wait_for_ready,
|
|
294
|
+
timeout,
|
|
295
|
+
metadata,
|
|
296
|
+
_registered_method=True)
|
|
297
|
+
|
|
298
|
+
@staticmethod
|
|
299
|
+
def CreateApiUser(request,
|
|
300
|
+
target,
|
|
301
|
+
options=(),
|
|
302
|
+
channel_credentials=None,
|
|
303
|
+
call_credentials=None,
|
|
304
|
+
insecure=False,
|
|
305
|
+
compression=None,
|
|
306
|
+
wait_for_ready=None,
|
|
307
|
+
timeout=None,
|
|
308
|
+
metadata=None):
|
|
309
|
+
return grpc.experimental.unary_unary(
|
|
310
|
+
request,
|
|
311
|
+
target,
|
|
312
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/CreateApiUser',
|
|
313
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.CreateApiUserRequest.SerializeToString,
|
|
314
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
315
|
+
options,
|
|
316
|
+
channel_credentials,
|
|
317
|
+
insecure,
|
|
318
|
+
call_credentials,
|
|
319
|
+
compression,
|
|
320
|
+
wait_for_ready,
|
|
321
|
+
timeout,
|
|
322
|
+
metadata,
|
|
323
|
+
_registered_method=True)
|
|
324
|
+
|
|
325
|
+
@staticmethod
|
|
326
|
+
def ListApiUsers(request,
|
|
327
|
+
target,
|
|
328
|
+
options=(),
|
|
329
|
+
channel_credentials=None,
|
|
330
|
+
call_credentials=None,
|
|
331
|
+
insecure=False,
|
|
332
|
+
compression=None,
|
|
333
|
+
wait_for_ready=None,
|
|
334
|
+
timeout=None,
|
|
335
|
+
metadata=None):
|
|
336
|
+
return grpc.experimental.unary_unary(
|
|
337
|
+
request,
|
|
338
|
+
target,
|
|
339
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/ListApiUsers',
|
|
340
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersRequest.SerializeToString,
|
|
341
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersResponse.FromString,
|
|
342
|
+
options,
|
|
343
|
+
channel_credentials,
|
|
344
|
+
insecure,
|
|
345
|
+
call_credentials,
|
|
346
|
+
compression,
|
|
347
|
+
wait_for_ready,
|
|
348
|
+
timeout,
|
|
349
|
+
metadata,
|
|
350
|
+
_registered_method=True)
|
|
351
|
+
|
|
352
|
+
@staticmethod
|
|
353
|
+
def SearchApiUsers(request,
|
|
354
|
+
target,
|
|
355
|
+
options=(),
|
|
356
|
+
channel_credentials=None,
|
|
357
|
+
call_credentials=None,
|
|
358
|
+
insecure=False,
|
|
359
|
+
compression=None,
|
|
360
|
+
wait_for_ready=None,
|
|
361
|
+
timeout=None,
|
|
362
|
+
metadata=None):
|
|
363
|
+
return grpc.experimental.unary_unary(
|
|
364
|
+
request,
|
|
365
|
+
target,
|
|
366
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/SearchApiUsers',
|
|
367
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersRequest.SerializeToString,
|
|
368
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.SearchApiUsersResponse.FromString,
|
|
369
|
+
options,
|
|
370
|
+
channel_credentials,
|
|
371
|
+
insecure,
|
|
372
|
+
call_credentials,
|
|
373
|
+
compression,
|
|
374
|
+
wait_for_ready,
|
|
375
|
+
timeout,
|
|
376
|
+
metadata,
|
|
377
|
+
_registered_method=True)
|
|
378
|
+
|
|
379
|
+
@staticmethod
|
|
380
|
+
def ActivateApiUser(request,
|
|
381
|
+
target,
|
|
382
|
+
options=(),
|
|
383
|
+
channel_credentials=None,
|
|
384
|
+
call_credentials=None,
|
|
385
|
+
insecure=False,
|
|
386
|
+
compression=None,
|
|
387
|
+
wait_for_ready=None,
|
|
388
|
+
timeout=None,
|
|
389
|
+
metadata=None):
|
|
390
|
+
return grpc.experimental.unary_unary(
|
|
391
|
+
request,
|
|
392
|
+
target,
|
|
393
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/ActivateApiUser',
|
|
394
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ActivateApiUserRequest.SerializeToString,
|
|
395
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
396
|
+
options,
|
|
397
|
+
channel_credentials,
|
|
398
|
+
insecure,
|
|
399
|
+
call_credentials,
|
|
400
|
+
compression,
|
|
401
|
+
wait_for_ready,
|
|
402
|
+
timeout,
|
|
403
|
+
metadata,
|
|
404
|
+
_registered_method=True)
|
|
405
|
+
|
|
406
|
+
@staticmethod
|
|
407
|
+
def DeactivateApiUser(request,
|
|
408
|
+
target,
|
|
409
|
+
options=(),
|
|
410
|
+
channel_credentials=None,
|
|
411
|
+
call_credentials=None,
|
|
412
|
+
insecure=False,
|
|
413
|
+
compression=None,
|
|
414
|
+
wait_for_ready=None,
|
|
415
|
+
timeout=None,
|
|
416
|
+
metadata=None):
|
|
417
|
+
return grpc.experimental.unary_unary(
|
|
418
|
+
request,
|
|
419
|
+
target,
|
|
420
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/DeactivateApiUser',
|
|
421
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.DeactivateApiUserRequest.SerializeToString,
|
|
422
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
423
|
+
options,
|
|
424
|
+
channel_credentials,
|
|
425
|
+
insecure,
|
|
426
|
+
call_credentials,
|
|
427
|
+
compression,
|
|
428
|
+
wait_for_ready,
|
|
429
|
+
timeout,
|
|
430
|
+
metadata,
|
|
431
|
+
_registered_method=True)
|
|
432
|
+
|
|
433
|
+
@staticmethod
|
|
434
|
+
def GetApiUserByKeyHash(request,
|
|
435
|
+
target,
|
|
436
|
+
options=(),
|
|
437
|
+
channel_credentials=None,
|
|
438
|
+
call_credentials=None,
|
|
439
|
+
insecure=False,
|
|
440
|
+
compression=None,
|
|
441
|
+
wait_for_ready=None,
|
|
442
|
+
timeout=None,
|
|
443
|
+
metadata=None):
|
|
444
|
+
return grpc.experimental.unary_unary(
|
|
445
|
+
request,
|
|
446
|
+
target,
|
|
447
|
+
'/meshtrade.iam.api_user.v1.ApiUserService/GetApiUserByKeyHash',
|
|
448
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.GetApiUserByKeyHashRequest.SerializeToString,
|
|
449
|
+
meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
|
|
450
|
+
options,
|
|
451
|
+
channel_credentials,
|
|
452
|
+
insecure,
|
|
453
|
+
call_credentials,
|
|
454
|
+
compression,
|
|
455
|
+
wait_for_ready,
|
|
456
|
+
timeout,
|
|
457
|
+
metadata,
|
|
458
|
+
_registered_method=True)
|
|
@@ -1,5 +1,63 @@
|
|
|
1
|
+
"""Group v1 package."""
|
|
2
|
+
|
|
3
|
+
# ===================================================================
|
|
4
|
+
# AUTO-GENERATED SECTION - ONLY EDIT BELOW THE CLOSING COMMENT BLOCK
|
|
5
|
+
# ===================================================================
|
|
6
|
+
# This section is automatically managed by protoc-gen-meshpy.
|
|
7
|
+
#
|
|
8
|
+
# DO NOT EDIT ANYTHING IN THIS SECTION MANUALLY!
|
|
9
|
+
# Your changes will be overwritten during code generation.
|
|
10
|
+
#
|
|
11
|
+
# To add custom imports and exports, scroll down to the
|
|
12
|
+
# "MANUAL SECTION" indicated below.
|
|
13
|
+
# ===================================================================
|
|
14
|
+
|
|
15
|
+
# Generated protobuf imports
|
|
1
16
|
from .group_pb2 import Group
|
|
17
|
+
from .service_pb2 import (
|
|
18
|
+
GetGroupRequest,
|
|
19
|
+
ListGroupsRequest,
|
|
20
|
+
ListGroupsResponse,
|
|
21
|
+
SearchGroupsRequest,
|
|
22
|
+
SearchGroupsResponse,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
# Generated service imports
|
|
26
|
+
from .service_meshpy import (
|
|
27
|
+
GroupService,
|
|
28
|
+
GroupServiceGRPCClient,
|
|
29
|
+
GroupServiceGRPCClientInterface,
|
|
30
|
+
)
|
|
31
|
+
from .service_options_meshpy import ClientOptions
|
|
32
|
+
|
|
33
|
+
# ===================================================================
|
|
34
|
+
# END OF AUTO-GENERATED SECTION
|
|
35
|
+
# ===================================================================
|
|
36
|
+
#
|
|
37
|
+
# MANUAL SECTION - ADD YOUR CUSTOM IMPORTS AND EXPORTS BELOW
|
|
38
|
+
#
|
|
39
|
+
# You can safely add your own imports, functions, classes, and exports
|
|
40
|
+
# in this section. They will be preserved across code generation.
|
|
41
|
+
#
|
|
42
|
+
# Example:
|
|
43
|
+
# from my_custom_module import my_function
|
|
44
|
+
#
|
|
45
|
+
# ===================================================================
|
|
2
46
|
|
|
47
|
+
# ===================================================================
|
|
48
|
+
# MODULE EXPORTS
|
|
49
|
+
# ===================================================================
|
|
50
|
+
# Combined auto-generated and manual exports
|
|
3
51
|
__all__ = [
|
|
4
|
-
|
|
52
|
+
# Generated exports
|
|
53
|
+
"ClientOptions",
|
|
54
|
+
"GetGroupRequest",
|
|
55
|
+
"Group",
|
|
56
|
+
"GroupService",
|
|
57
|
+
"GroupServiceGRPCClient",
|
|
58
|
+
"GroupServiceGRPCClientInterface",
|
|
59
|
+
"ListGroupsRequest",
|
|
60
|
+
"ListGroupsResponse",
|
|
61
|
+
"SearchGroupsRequest",
|
|
62
|
+
"SearchGroupsResponse",
|
|
5
63
|
]
|
|
@@ -24,14 +24,14 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"meshtrade/iam/group/v1/group.proto\x12\x16meshtrade.iam.group.v1\"\x1b\n\x05Group\x12\x12\n\x04name\x18\x01 \x01(\tR\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"meshtrade/iam/group/v1/group.proto\x12\x16meshtrade.iam.group.v1\"\x1b\n\x05Group\x12\x12\n\x04name\x18\x01 \x01(\tR\x04nameBQ\n\x1d\x63o.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.group_pb2', _globals)
|
|
32
32
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
33
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
-
_globals['DESCRIPTOR']._serialized_options = b'
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
|
|
35
35
|
_globals['_GROUP']._serialized_start=62
|
|
36
36
|
_globals['_GROUP']._serialized_end=89
|
|
37
37
|
# @@protoc_insertion_point(module_scope)
|