meshtrade 0.0.8__py3-none-any.whl → 0.0.11__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.

Files changed (157) hide show
  1. buf/validate/validate_pb2.py +450 -0
  2. buf/validate/validate_pb2.pyi +627 -0
  3. meshtrade/common/__init__.py +28 -0
  4. meshtrade/common/config.py +30 -0
  5. meshtrade/common/grpc_client.py +202 -0
  6. meshtrade/compliance/client/v1/__init__.py +65 -7
  7. meshtrade/compliance/client/v1/client_pb2.py +2 -2
  8. meshtrade/compliance/client/v1/client_pb2_grpc.py +4 -0
  9. meshtrade/compliance/client/v1/company_pb2.py +2 -2
  10. meshtrade/compliance/client/v1/company_pb2_grpc.py +4 -0
  11. meshtrade/compliance/client/v1/company_representative_pb2.py +2 -2
  12. meshtrade/compliance/client/v1/company_representative_pb2_grpc.py +4 -0
  13. meshtrade/compliance/client/v1/company_representative_role_pb2.py +2 -2
  14. meshtrade/compliance/client/v1/company_representative_role_pb2_grpc.py +4 -0
  15. meshtrade/compliance/client/v1/fund_pb2.py +2 -2
  16. meshtrade/compliance/client/v1/fund_pb2_grpc.py +4 -0
  17. meshtrade/compliance/client/v1/identification_document_type_pb2.py +2 -2
  18. meshtrade/compliance/client/v1/identification_document_type_pb2_grpc.py +4 -0
  19. meshtrade/compliance/client/v1/industry_classification_pb2.py +2 -2
  20. meshtrade/compliance/client/v1/industry_classification_pb2_grpc.py +4 -0
  21. meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +2 -2
  22. meshtrade/compliance/client/v1/natural_person_connection_type_pb2_grpc.py +4 -0
  23. meshtrade/compliance/client/v1/natural_person_pb2.py +2 -2
  24. meshtrade/compliance/client/v1/natural_person_pb2_grpc.py +4 -0
  25. meshtrade/compliance/client/v1/pep_status_pb2.py +2 -2
  26. meshtrade/compliance/client/v1/pep_status_pb2_grpc.py +4 -0
  27. meshtrade/compliance/client/v1/service_meshpy.py +186 -0
  28. meshtrade/compliance/client/v1/service_options_meshpy.py +65 -0
  29. meshtrade/compliance/client/v1/service_pb2.py +20 -10
  30. meshtrade/compliance/client/v1/service_pb2.pyi +8 -0
  31. meshtrade/compliance/client/v1/service_pb2_grpc.py +192 -0
  32. meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +2 -2
  33. meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2_grpc.py +4 -0
  34. meshtrade/compliance/client/v1/tax_residency_pb2.py +2 -2
  35. meshtrade/compliance/client/v1/tax_residency_pb2_grpc.py +4 -0
  36. meshtrade/compliance/client/v1/trust_pb2.py +2 -2
  37. meshtrade/compliance/client/v1/trust_pb2_grpc.py +4 -0
  38. meshtrade/compliance/client/v1/verification_status_pb2.py +2 -2
  39. meshtrade/compliance/client/v1/verification_status_pb2_grpc.py +4 -0
  40. meshtrade/iam/api_user/v1/__init__.py +99 -0
  41. meshtrade/iam/api_user/v1/api_credentials.py +156 -0
  42. meshtrade/iam/api_user/v1/api_credentials_pb2.py +42 -0
  43. meshtrade/iam/api_user/v1/api_credentials_pb2.pyi +14 -0
  44. meshtrade/iam/api_user/v1/api_credentials_pb2_grpc.py +4 -0
  45. meshtrade/iam/api_user/v1/api_user_pb2.py +48 -0
  46. meshtrade/iam/api_user/v1/api_user_pb2.pyi +49 -0
  47. meshtrade/iam/api_user/v1/api_user_pb2_grpc.py +4 -0
  48. meshtrade/iam/api_user/v1/service.py +58 -0
  49. meshtrade/iam/api_user/v1/service_meshpy.py +255 -0
  50. meshtrade/iam/api_user/v1/service_options_meshpy.py +65 -0
  51. meshtrade/iam/api_user/v1/service_pb2.py +77 -0
  52. meshtrade/iam/api_user/v1/service_pb2.pyi +63 -0
  53. meshtrade/iam/api_user/v1/service_pb2_grpc.py +458 -0
  54. meshtrade/iam/group/v1/__init__.py +59 -1
  55. meshtrade/iam/group/v1/group_pb2.py +2 -2
  56. meshtrade/iam/group/v1/group_pb2_grpc.py +4 -0
  57. meshtrade/iam/group/v1/service_meshpy.py +187 -0
  58. meshtrade/iam/group/v1/service_options_meshpy.py +65 -0
  59. meshtrade/iam/group/v1/service_pb2.py +22 -6
  60. meshtrade/iam/group/v1/service_pb2.pyi +29 -1
  61. meshtrade/iam/group/v1/service_pb2_grpc.py +170 -0
  62. meshtrade/iam/role/v1/__init__.py +44 -0
  63. meshtrade/iam/role/v1/role.py +23 -0
  64. meshtrade/iam/role/v1/role_pb2.py +40 -0
  65. meshtrade/{option/v1/auth_pb2.pyi → iam/role/v1/role_pb2.pyi} +16 -0
  66. meshtrade/iam/role/v1/role_pb2_grpc.py +4 -0
  67. meshtrade/iam/user/v1/__init__.py +53 -0
  68. meshtrade/iam/user/v1/service_meshpy.py +151 -0
  69. meshtrade/iam/user/v1/service_options_meshpy.py +65 -0
  70. meshtrade/iam/user/v1/service_pb2.py +51 -0
  71. meshtrade/iam/user/v1/service_pb2.pyi +19 -0
  72. meshtrade/iam/user/v1/service_pb2_grpc.py +82 -0
  73. meshtrade/{issuance_hub/instrument/v1/instrument_pb2.py → iam/user/v1/user_pb2.py} +7 -7
  74. meshtrade/iam/user/v1/user_pb2.pyi +15 -0
  75. meshtrade/iam/user/v1/user_pb2_grpc.py +4 -0
  76. meshtrade/ledger/transaction/v1/__init__.py +34 -0
  77. meshtrade/ledger/transaction/v1/transaction_action_pb2.py +2 -2
  78. meshtrade/ledger/transaction/v1/transaction_action_pb2_grpc.py +4 -0
  79. meshtrade/ledger/transaction/v1/transaction_state_pb2.py +2 -2
  80. meshtrade/ledger/transaction/v1/transaction_state_pb2_grpc.py +4 -0
  81. meshtrade/option/v1/__init__.py +36 -4
  82. meshtrade/option/v1/{service_type_pb2.py → method_type_pb2.py} +7 -7
  83. meshtrade/option/v1/method_type_pb2.pyi +17 -0
  84. meshtrade/option/v1/method_type_pb2_grpc.py +4 -0
  85. meshtrade/trading/limit_order/v1/__init__.py +47 -1
  86. meshtrade/trading/limit_order/v1/limit_order_pb2.py +2 -2
  87. meshtrade/trading/limit_order/v1/limit_order_pb2_grpc.py +4 -0
  88. meshtrade/trading/limit_order/v1/service_meshpy.py +151 -0
  89. meshtrade/trading/limit_order/v1/service_options_meshpy.py +65 -0
  90. meshtrade/trading/limit_order/v1/service_pb2.py +10 -6
  91. meshtrade/trading/limit_order/v1/service_pb2.pyi +2 -0
  92. meshtrade/trading/limit_order/v1/service_pb2_grpc.py +78 -0
  93. meshtrade/trading/market_order/v1/__init__.py +53 -0
  94. meshtrade/trading/{direct_order/v1/direct_order_pb2.py → market_order/v1/market_order_pb2.py} +7 -7
  95. meshtrade/trading/{spot/v1/spot_pb2.pyi → market_order/v1/market_order_pb2.pyi} +1 -1
  96. meshtrade/trading/market_order/v1/market_order_pb2_grpc.py +4 -0
  97. meshtrade/trading/market_order/v1/service_meshpy.py +151 -0
  98. meshtrade/trading/market_order/v1/service_options_meshpy.py +65 -0
  99. meshtrade/trading/market_order/v1/service_pb2.py +44 -0
  100. meshtrade/trading/{spot → market_order}/v1/service_pb2.pyi +4 -2
  101. meshtrade/trading/market_order/v1/service_pb2_grpc.py +78 -0
  102. meshtrade/type/v1/__init__.py +91 -50
  103. meshtrade/type/v1/address_pb2.py +2 -2
  104. meshtrade/type/v1/address_pb2_grpc.py +4 -0
  105. meshtrade/type/v1/amount.py +2 -8
  106. meshtrade/type/v1/amount_pb2.py +2 -2
  107. meshtrade/type/v1/amount_pb2_grpc.py +4 -0
  108. meshtrade/type/v1/contact_details_pb2.py +2 -2
  109. meshtrade/type/v1/contact_details_pb2_grpc.py +4 -0
  110. meshtrade/type/v1/date.py +263 -91
  111. meshtrade/type/v1/date_pb2.py +2 -2
  112. meshtrade/type/v1/date_pb2_grpc.py +4 -0
  113. meshtrade/type/v1/decimal_built_in_conversions.py +1 -1
  114. meshtrade/type/v1/decimal_pb2.py +2 -2
  115. meshtrade/type/v1/decimal_pb2_grpc.py +4 -0
  116. meshtrade/type/v1/ledger.py +1 -1
  117. meshtrade/type/v1/ledger_pb2.py +2 -2
  118. meshtrade/type/v1/ledger_pb2_grpc.py +4 -0
  119. meshtrade/{trading/spot/v1/spot_pb2.py → type/v1/sorting_pb2.py} +7 -7
  120. meshtrade/type/v1/sorting_pb2.pyi +14 -0
  121. meshtrade/type/v1/sorting_pb2_grpc.py +4 -0
  122. meshtrade/type/v1/time_of_day.py +52 -87
  123. meshtrade/type/v1/time_of_day_pb2.py +2 -2
  124. meshtrade/type/v1/time_of_day_pb2_grpc.py +4 -0
  125. meshtrade/type/v1/token_pb2.py +2 -2
  126. meshtrade/type/v1/token_pb2_grpc.py +4 -0
  127. meshtrade/wallet/account/v1/__init__.py +46 -0
  128. meshtrade/wallet/account/v1/account_pb2.py +2 -2
  129. meshtrade/wallet/account/v1/account_pb2_grpc.py +4 -0
  130. meshtrade/wallet/account/v1/service_meshpy.py +204 -0
  131. meshtrade/wallet/account/v1/service_options_meshpy.py +65 -0
  132. meshtrade/wallet/account/v1/service_pb2.py +18 -18
  133. meshtrade/wallet/account/v1/service_pb2.pyi +2 -2
  134. meshtrade/wallet/account/v1/service_pb2_grpc.py +222 -0
  135. meshtrade-0.0.11.dist-info/METADATA +95 -0
  136. meshtrade-0.0.11.dist-info/RECORD +176 -0
  137. {meshtrade-0.0.8.dist-info → meshtrade-0.0.11.dist-info}/top_level.txt +1 -0
  138. meshtrade/issuance_hub/__init__.py +0 -0
  139. meshtrade/issuance_hub/instrument/__init__.py +0 -0
  140. meshtrade/issuance_hub/instrument/v1/__init__.py +0 -11
  141. meshtrade/issuance_hub/instrument/v1/instrument_pb2.pyi +0 -11
  142. meshtrade/issuance_hub/instrument/v1/service_pb2.py +0 -49
  143. meshtrade/issuance_hub/instrument/v1/service_pb2.pyi +0 -46
  144. meshtrade/option/v1/auth_pb2.py +0 -40
  145. meshtrade/option/v1/service_type_pb2.pyi +0 -17
  146. meshtrade/trading/direct_order/__init__.py +0 -0
  147. meshtrade/trading/direct_order/v1/__init__.py +0 -7
  148. meshtrade/trading/direct_order/v1/direct_order_pb2.pyi +0 -11
  149. meshtrade/trading/direct_order/v1/service_pb2.py +0 -40
  150. meshtrade/trading/direct_order/v1/service_pb2.pyi +0 -12
  151. meshtrade/trading/spot/__init__.py +0 -0
  152. meshtrade/trading/spot/v1/__init__.py +0 -7
  153. meshtrade/trading/spot/v1/service_pb2.py +0 -40
  154. meshtrade-0.0.8.dist-info/METADATA +0 -35
  155. meshtrade-0.0.8.dist-info/RECORD +0 -113
  156. meshtrade-0.0.8.dist-info/licenses/LICENSE +0 -10
  157. {meshtrade-0.0.8.dist-info → meshtrade-0.0.11.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
- "Group"
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\x04nameB2Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
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'Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
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)
@@ -0,0 +1,4 @@
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
+