meshtrade 1.7.0__py3-none-any.whl → 1.9.0__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 (38) hide show
  1. meshtrade/compliance/client/v1/client_pb2.py +17 -3
  2. meshtrade/compliance/client/v1/client_pb2.pyi +8 -3
  3. meshtrade/compliance/client/v1/company_pb2.py +24 -7
  4. meshtrade/compliance/client/v1/company_pb2.pyi +1 -0
  5. meshtrade/compliance/client/v1/company_representative_pb2.py +8 -3
  6. meshtrade/compliance/client/v1/company_representative_pb2.pyi +1 -0
  7. meshtrade/compliance/client/v1/fund_pb2.py +12 -3
  8. meshtrade/compliance/client/v1/fund_pb2.pyi +1 -0
  9. meshtrade/compliance/client/v1/natural_person_pb2.py +18 -3
  10. meshtrade/compliance/client/v1/natural_person_pb2.pyi +1 -0
  11. meshtrade/compliance/client/v1/service_pb2.py +19 -14
  12. meshtrade/compliance/client/v1/service_pb2.pyi +1 -0
  13. meshtrade/compliance/client/v1/tax_residency_pb2.py +8 -3
  14. meshtrade/compliance/client/v1/tax_residency_pb2.pyi +1 -0
  15. meshtrade/compliance/client/v1/trust_pb2.py +12 -3
  16. meshtrade/compliance/client/v1/trust_pb2.pyi +1 -0
  17. meshtrade/iam/api_user/v1/__init__.py +2 -0
  18. meshtrade/iam/api_user/v1/api_user_pb2.py +7 -9
  19. meshtrade/iam/api_user/v1/api_user_pb2.pyi +2 -4
  20. meshtrade/iam/api_user/v1/service_meshpy.py +17 -0
  21. meshtrade/iam/api_user/v1/service_pb2.py +23 -15
  22. meshtrade/iam/api_user/v1/service_pb2.pyi +8 -0
  23. meshtrade/iam/api_user/v1/service_pb2_grpc.py +48 -0
  24. meshtrade/iam/group/v1/group_pb2.py +2 -4
  25. meshtrade/iam/group/v1/group_pb2.pyi +2 -6
  26. meshtrade/iam/role/v1/role_pb2.py +2 -2
  27. meshtrade/iam/role/v1/role_pb2.pyi +16 -4
  28. meshtrade/iam/user/v1/service_pb2.py +8 -8
  29. meshtrade/iam/user/v1/user_pb2.py +2 -4
  30. meshtrade/iam/user/v1/user_pb2.pyi +2 -4
  31. meshtrade/studio/instrument/v1/instrument_pb2.py +2 -4
  32. meshtrade/studio/instrument/v1/instrument_pb2.pyi +3 -6
  33. meshtrade/wallet/account/v1/account_pb2.py +8 -10
  34. meshtrade/wallet/account/v1/account_pb2.pyi +2 -4
  35. {meshtrade-1.7.0.dist-info → meshtrade-1.9.0.dist-info}/METADATA +1 -1
  36. {meshtrade-1.7.0.dist-info → meshtrade-1.9.0.dist-info}/RECORD +38 -38
  37. {meshtrade-1.7.0.dist-info → meshtrade-1.9.0.dist-info}/WHEEL +0 -0
  38. {meshtrade-1.7.0.dist-info → meshtrade-1.9.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ from meshtrade.iam.role.v1 import role_pb2 as meshtrade_dot_iam_dot_role_dot_v1_
28
28
  from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_dot_method__type__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/iam/api_user/v1/service.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a(meshtrade/iam/api_user/v1/api_user.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"h\n\x11GetApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"D\n\x1aGetApiUserByKeyHashRequest\x12&\n\x08key_hash\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\x98\x01,\xc8\x01\x01R\x07keyHash\"]\n\x14\x43reateApiUserRequest\x12\x45\n\x08\x61pi_user\x18\x01 \x01(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserB\x06\xbaH\x03\xc8\x01\x01R\x07\x61piUser\"\x15\n\x13ListApiUsersRequest\"W\n\x14ListApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\":\n\x15SearchApiUsersRequest\x12!\n\x0c\x64isplay_name\x18\x01 \x01(\tR\x0b\x64isplayName\"Y\n\x16SearchApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\"m\n\x16\x41\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"o\n\x18\x44\x65\x61\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name2\xb8\x07\n\x0e\x41piUserService\x12z\n\nGetApiUser\x12,.meshtrade.iam.api_user.v1.GetApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12x\n\rCreateApiUser\x12/.meshtrade.iam.api_user.v1.CreateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8b\x01\n\x0cListApiUsers\x12..meshtrade.iam.api_user.v1.ListApiUsersRequest\x1a/.meshtrade.iam.api_user.v1.ListApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12\x91\x01\n\x0eSearchApiUsers\x12\x30.meshtrade.iam.api_user.v1.SearchApiUsersRequest\x1a\x31.meshtrade.iam.api_user.v1.SearchApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12|\n\x0f\x41\x63tivateApiUser\x12\x31.meshtrade.iam.api_user.v1.ActivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x80\x01\n\x11\x44\x65\x61\x63tivateApiUser\x12\x33.meshtrade.iam.api_user.v1.DeactivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8c\x01\n\x13GetApiUserByKeyHash\x12\x35.meshtrade.iam.api_user.v1.GetApiUserByKeyHashRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/iam/api_user/v1/service.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a(meshtrade/iam/api_user/v1/api_user.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"h\n\x11GetApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"D\n\x1aGetApiUserByKeyHashRequest\x12&\n\x08key_hash\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\x98\x01,\xc8\x01\x01R\x07keyHash\"]\n\x14\x43reateApiUserRequest\x12\x45\n\x08\x61pi_user\x18\x01 \x01(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserB\x06\xbaH\x03\xc8\x01\x01R\x07\x61piUser\"\xd1\x01\n\x1a\x41ssignRoleToAPIUserRequest\x12P\n\x04name\x18\x01 \x01(\tB<\xbaH9r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$R\x04name\x12\x61\n\x04role\x18\x04 \x01(\tBM\xbaHJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"\x15\n\x13ListApiUsersRequest\"W\n\x14ListApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\":\n\x15SearchApiUsersRequest\x12!\n\x0c\x64isplay_name\x18\x01 \x01(\tR\x0b\x64isplayName\"Y\n\x16SearchApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\"m\n\x16\x41\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"o\n\x18\x44\x65\x61\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name2\xbf\x08\n\x0e\x41piUserService\x12z\n\nGetApiUser\x12,.meshtrade.iam.api_user.v1.GetApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12x\n\rCreateApiUser\x12/.meshtrade.iam.api_user.v1.CreateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x84\x01\n\x13\x41ssignRoleToAPIUser\x12\x35.meshtrade.iam.api_user.v1.AssignRoleToAPIUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8b\x01\n\x0cListApiUsers\x12..meshtrade.iam.api_user.v1.ListApiUsersRequest\x1a/.meshtrade.iam.api_user.v1.ListApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12\x91\x01\n\x0eSearchApiUsers\x12\x30.meshtrade.iam.api_user.v1.SearchApiUsersRequest\x1a\x31.meshtrade.iam.api_user.v1.SearchApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12|\n\x0f\x41\x63tivateApiUser\x12\x31.meshtrade.iam.api_user.v1.ActivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x80\x01\n\x11\x44\x65\x61\x63tivateApiUser\x12\x33.meshtrade.iam.api_user.v1.DeactivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8c\x01\n\x13GetApiUserByKeyHash\x12\x35.meshtrade.iam.api_user.v1.GetApiUserByKeyHashRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,6 +42,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
42
42
  _globals['_GETAPIUSERBYKEYHASHREQUEST'].fields_by_name['key_hash']._serialized_options = b'\272H\010r\003\230\001,\310\001\001'
43
43
  _globals['_CREATEAPIUSERREQUEST'].fields_by_name['api_user']._loaded_options = None
44
44
  _globals['_CREATEAPIUSERREQUEST'].fields_by_name['api_user']._serialized_options = b'\272H\003\310\001\001'
45
+ _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
46
+ _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H9r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001$'
47
+ _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['role']._loaded_options = None
48
+ _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\230\001)\310\001\001'
45
49
  _globals['_ACTIVATEAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
46
50
  _globals['_ACTIVATEAPIUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001$\310\001\001'
47
51
  _globals['_DEACTIVATEAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
@@ -50,6 +54,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
50
54
  _globals['_APIUSERSERVICE'].methods_by_name['GetApiUser']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\302\215\267\001\303\215\267\001'
51
55
  _globals['_APIUSERSERVICE'].methods_by_name['CreateApiUser']._loaded_options = None
52
56
  _globals['_APIUSERSERVICE'].methods_by_name['CreateApiUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\302\215\267\001'
57
+ _globals['_APIUSERSERVICE'].methods_by_name['AssignRoleToAPIUser']._loaded_options = None
58
+ _globals['_APIUSERSERVICE'].methods_by_name['AssignRoleToAPIUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\302\215\267\001'
53
59
  _globals['_APIUSERSERVICE'].methods_by_name['ListApiUsers']._loaded_options = None
54
60
  _globals['_APIUSERSERVICE'].methods_by_name['ListApiUsers']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\302\215\267\001\303\215\267\001'
55
61
  _globals['_APIUSERSERVICE'].methods_by_name['SearchApiUsers']._loaded_options = None
@@ -66,18 +72,20 @@ if not _descriptor._USE_C_DESCRIPTORS:
66
72
  _globals['_GETAPIUSERBYKEYHASHREQUEST']._serialized_end=388
67
73
  _globals['_CREATEAPIUSERREQUEST']._serialized_start=390
68
74
  _globals['_CREATEAPIUSERREQUEST']._serialized_end=483
69
- _globals['_LISTAPIUSERSREQUEST']._serialized_start=485
70
- _globals['_LISTAPIUSERSREQUEST']._serialized_end=506
71
- _globals['_LISTAPIUSERSRESPONSE']._serialized_start=508
72
- _globals['_LISTAPIUSERSRESPONSE']._serialized_end=595
73
- _globals['_SEARCHAPIUSERSREQUEST']._serialized_start=597
74
- _globals['_SEARCHAPIUSERSREQUEST']._serialized_end=655
75
- _globals['_SEARCHAPIUSERSRESPONSE']._serialized_start=657
76
- _globals['_SEARCHAPIUSERSRESPONSE']._serialized_end=746
77
- _globals['_ACTIVATEAPIUSERREQUEST']._serialized_start=748
78
- _globals['_ACTIVATEAPIUSERREQUEST']._serialized_end=857
79
- _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_start=859
80
- _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_end=970
81
- _globals['_APIUSERSERVICE']._serialized_start=973
82
- _globals['_APIUSERSERVICE']._serialized_end=1925
75
+ _globals['_ASSIGNROLETOAPIUSERREQUEST']._serialized_start=486
76
+ _globals['_ASSIGNROLETOAPIUSERREQUEST']._serialized_end=695
77
+ _globals['_LISTAPIUSERSREQUEST']._serialized_start=697
78
+ _globals['_LISTAPIUSERSREQUEST']._serialized_end=718
79
+ _globals['_LISTAPIUSERSRESPONSE']._serialized_start=720
80
+ _globals['_LISTAPIUSERSRESPONSE']._serialized_end=807
81
+ _globals['_SEARCHAPIUSERSREQUEST']._serialized_start=809
82
+ _globals['_SEARCHAPIUSERSREQUEST']._serialized_end=867
83
+ _globals['_SEARCHAPIUSERSRESPONSE']._serialized_start=869
84
+ _globals['_SEARCHAPIUSERSRESPONSE']._serialized_end=958
85
+ _globals['_ACTIVATEAPIUSERREQUEST']._serialized_start=960
86
+ _globals['_ACTIVATEAPIUSERREQUEST']._serialized_end=1069
87
+ _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_start=1071
88
+ _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_end=1182
89
+ _globals['_APIUSERSERVICE']._serialized_start=1185
90
+ _globals['_APIUSERSERVICE']._serialized_end=2272
83
91
  # @@protoc_insertion_point(module_scope)
@@ -28,6 +28,14 @@ class CreateApiUserRequest(_message.Message):
28
28
  api_user: _api_user_pb2.APIUser
29
29
  def __init__(self, api_user: _Optional[_Union[_api_user_pb2.APIUser, _Mapping]] = ...) -> None: ...
30
30
 
31
+ class AssignRoleToAPIUserRequest(_message.Message):
32
+ __slots__ = ("name", "role")
33
+ NAME_FIELD_NUMBER: _ClassVar[int]
34
+ ROLE_FIELD_NUMBER: _ClassVar[int]
35
+ name: str
36
+ role: str
37
+ def __init__(self, name: _Optional[str] = ..., role: _Optional[str] = ...) -> None: ...
38
+
31
39
  class ListApiUsersRequest(_message.Message):
32
40
  __slots__ = ()
33
41
  def __init__(self) -> None: ...
@@ -37,6 +37,11 @@ class ApiUserServiceStub(object):
37
37
  request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.CreateApiUserRequest.SerializeToString,
38
38
  response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
39
39
  _registered_method=True)
40
+ self.AssignRoleToAPIUser = channel.unary_unary(
41
+ '/meshtrade.iam.api_user.v1.ApiUserService/AssignRoleToAPIUser',
42
+ request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.AssignRoleToAPIUserRequest.SerializeToString,
43
+ response_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
44
+ _registered_method=True)
40
45
  self.ListApiUsers = channel.unary_unary(
41
46
  '/meshtrade.iam.api_user.v1.ApiUserService/ListApiUsers',
42
47
  request_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersRequest.SerializeToString,
@@ -99,6 +104,17 @@ class ApiUserServiceServicer(object):
99
104
  context.set_details('Method not implemented!')
100
105
  raise NotImplementedError('Method not implemented!')
101
106
 
107
+ def AssignRoleToAPIUser(self, request, context):
108
+ """
109
+ Assigns a role to an existing api user within the authenticated group context.
110
+
111
+ The role assignment enables the api user to perform operations according
112
+ to the permissions associated with that role within the group hierarchy.
113
+ """
114
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
115
+ context.set_details('Method not implemented!')
116
+ raise NotImplementedError('Method not implemented!')
117
+
102
118
  def ListApiUsers(self, request, context):
103
119
  """
104
120
  Lists all API users in the authenticated group context.
@@ -167,6 +183,11 @@ def add_ApiUserServiceServicer_to_server(servicer, server):
167
183
  request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.CreateApiUserRequest.FromString,
168
184
  response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
169
185
  ),
186
+ 'AssignRoleToAPIUser': grpc.unary_unary_rpc_method_handler(
187
+ servicer.AssignRoleToAPIUser,
188
+ request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.AssignRoleToAPIUserRequest.FromString,
189
+ response_serializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.SerializeToString,
190
+ ),
170
191
  'ListApiUsers': grpc.unary_unary_rpc_method_handler(
171
192
  servicer.ListApiUsers,
172
193
  request_deserializer=meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.ListApiUsersRequest.FromString,
@@ -269,6 +290,33 @@ class ApiUserService(object):
269
290
  metadata,
270
291
  _registered_method=True)
271
292
 
293
+ @staticmethod
294
+ def AssignRoleToAPIUser(request,
295
+ target,
296
+ options=(),
297
+ channel_credentials=None,
298
+ call_credentials=None,
299
+ insecure=False,
300
+ compression=None,
301
+ wait_for_ready=None,
302
+ timeout=None,
303
+ metadata=None):
304
+ return grpc.experimental.unary_unary(
305
+ request,
306
+ target,
307
+ '/meshtrade.iam.api_user.v1.ApiUserService/AssignRoleToAPIUser',
308
+ meshtrade_dot_iam_dot_api__user_dot_v1_dot_service__pb2.AssignRoleToAPIUserRequest.SerializeToString,
309
+ meshtrade_dot_iam_dot_api__user_dot_v1_dot_api__user__pb2.APIUser.FromString,
310
+ options,
311
+ channel_credentials,
312
+ insecure,
313
+ call_credentials,
314
+ compression,
315
+ wait_for_ready,
316
+ timeout,
317
+ metadata,
318
+ _registered_method=True)
319
+
272
320
  @staticmethod
273
321
  def ListApiUsers(request,
274
322
  target,
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"meshtrade/iam/group/v1/group.proto\x12\x16meshtrade.iam.group.v1\x1a\x1b\x62uf/validate/validate.proto\"\xd0\x03\n\x05Group\x12\xbc\x01\n\x04name\x18\x01 \x01(\tB\xa7\x01\xbaH\xa3\x01\xba\x01\x9f\x01\n\x14name.format.optional\x12\x33name must be empty or in the format groups/{ULIDv2}\x1aRsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12V\n\x06owners\x18\x03 \x03(\tB>\xbaH;\x92\x01\x38\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x06owners\x12\x30\n\x0c\x64isplay_name\x18\x04 \x01(\tB\r\xbaH\nr\x05\x10\x01\x18\xff\x01\xc8\x01\x01R\x0b\x64isplayName\x12*\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0b\x64\x65scriptionBR\n\x1d\x63o.meshtrade.api.iam.group.v1Z1github.com/meshtrade/api/go/iam/group/v1;group_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"meshtrade/iam/group/v1/group.proto\x12\x16meshtrade.iam.group.v1\x1a\x1b\x62uf/validate/validate.proto\"\xf8\x02\n\x05Group\x12\xbc\x01\n\x04name\x18\x01 \x01(\tB\xa7\x01\xbaH\xa3\x01\xba\x01\x9f\x01\n\x14name.format.optional\x12\x33name must be empty or in the format groups/{ULIDv2}\x1aRsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12\x30\n\x0c\x64isplay_name\x18\x04 \x01(\tB\r\xbaH\nr\x05\x10\x01\x18\xff\x01\xc8\x01\x01R\x0b\x64isplayName\x12*\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0b\x64\x65scriptionBR\n\x1d\x63o.meshtrade.api.iam.group.v1Z1github.com/meshtrade/api/go/iam/group/v1;group_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,12 +37,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['_GROUP'].fields_by_name['name']._serialized_options = b'\272H\243\001\272\001\237\001\n\024name.format.optional\0223name must be empty or in the format groups/{ULIDv2}\032Rsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
38
38
  _globals['_GROUP'].fields_by_name['owner']._loaded_options = None
39
39
  _globals['_GROUP'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
40
- _globals['_GROUP'].fields_by_name['owners']._loaded_options = None
41
- _globals['_GROUP'].fields_by_name['owners']._serialized_options = b'\272H;\222\0018\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
42
40
  _globals['_GROUP'].fields_by_name['display_name']._loaded_options = None
43
41
  _globals['_GROUP'].fields_by_name['display_name']._serialized_options = b'\272H\nr\005\020\001\030\377\001\310\001\001'
44
42
  _globals['_GROUP'].fields_by_name['description']._loaded_options = None
45
43
  _globals['_GROUP'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\350\007'
46
44
  _globals['_GROUP']._serialized_start=92
47
- _globals['_GROUP']._serialized_end=556
45
+ _globals['_GROUP']._serialized_end=468
48
46
  # @@protoc_insertion_point(module_scope)
@@ -1,22 +1,18 @@
1
1
  from buf.validate import validate_pb2 as _validate_pb2
2
- from google.protobuf.internal import containers as _containers
3
2
  from google.protobuf import descriptor as _descriptor
4
3
  from google.protobuf import message as _message
5
- from collections.abc import Iterable as _Iterable
6
4
  from typing import ClassVar as _ClassVar, Optional as _Optional
7
5
 
8
6
  DESCRIPTOR: _descriptor.FileDescriptor
9
7
 
10
8
  class Group(_message.Message):
11
- __slots__ = ("name", "owner", "owners", "display_name", "description")
9
+ __slots__ = ("name", "owner", "display_name", "description")
12
10
  NAME_FIELD_NUMBER: _ClassVar[int]
13
11
  OWNER_FIELD_NUMBER: _ClassVar[int]
14
- OWNERS_FIELD_NUMBER: _ClassVar[int]
15
12
  DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
16
13
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
17
14
  name: str
18
15
  owner: str
19
- owners: _containers.RepeatedScalarFieldContainer[str]
20
16
  display_name: str
21
17
  description: str
22
- def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., owners: _Optional[_Iterable[str]] = ..., display_name: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
18
+ def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., display_name: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/role/v1/role.proto\x12\x15meshtrade.iam.role.v1\x1a google/protobuf/descriptor.proto\"=\n\x08RoleList\x12\x31\n\x05roles\x18\x01 \x03(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleR\x05roles*\xab\x04\n\x04Role\x12\x14\n\x10ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x11ROLE_WALLET_ADMIN\x10\xc0\x84=\x12\x18\n\x12ROLE_WALLET_VIEWER\x10\xc1\x84=\x12\x1f\n\x19ROLE_WALLET_ACCOUNT_ADMIN\x10\xc2\x84=\x12 \n\x1aROLE_WALLET_ACCOUNT_VIEWER\x10\xc3\x84=\x12\x1b\n\x15ROLE_COMPLIANCE_ADMIN\x10\x80\x89z\x12\x1c\n\x16ROLE_COMPLIANCE_VIEWER\x10\x81\x89z\x12\x15\n\x0eROLE_IAM_ADMIN\x10\xc0\x8d\xb7\x01\x12\x16\n\x0fROLE_IAM_VIEWER\x10\xc1\x8d\xb7\x01\x12\x1e\n\x17ROLE_IAM_API_USER_ADMIN\x10\xc2\x8d\xb7\x01\x12\x1f\n\x18ROLE_IAM_API_USER_VIEWER\x10\xc3\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_GROUP_ADMIN\x10\xc4\x8d\xb7\x01\x12\x1c\n\x15ROLE_IAM_GROUP_VIEWER\x10\xc5\x8d\xb7\x01\x12\x1e\n\x17ROLE_ISSUANCE_HUB_ADMIN\x10\x80\x92\xf4\x01\x12\x1f\n\x18ROLE_ISSUANCE_HUB_VIEWER\x10\x81\x92\xf4\x01\x12\x19\n\x12ROLE_TRADING_ADMIN\x10\xc0\x96\xb1\x02\x12\x1a\n\x13ROLE_TRADING_VIEWER\x10\xc1\x96\xb1\x02\x12\x1b\n\x14ROLE_REPORTING_ADMIN\x10\x80\x9b\xee\x02\x12\x1c\n\x15ROLE_REPORTING_VIEWER\x10\x81\x9b\xee\x02:f\n\x0estandard_roles\x12\x1c.google.protobuf.FileOptions\x18\xd3\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\rstandardRoles:W\n\x05roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/role/v1/role.proto\x12\x15meshtrade.iam.role.v1\x1a google/protobuf/descriptor.proto\"=\n\x08RoleList\x12\x31\n\x05roles\x18\x01 \x03(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleR\x05roles*\xec\x05\n\x04Role\x12\x14\n\x10ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x11ROLE_WALLET_ADMIN\x10\xc0\x84=\x12\x18\n\x12ROLE_WALLET_VIEWER\x10\xc1\x84=\x12\x1f\n\x19ROLE_WALLET_ACCOUNT_ADMIN\x10\xc2\x84=\x12 \n\x1aROLE_WALLET_ACCOUNT_VIEWER\x10\xc3\x84=\x12\x1b\n\x15ROLE_COMPLIANCE_ADMIN\x10\x80\x89z\x12\x1c\n\x16ROLE_COMPLIANCE_VIEWER\x10\x81\x89z\x12\"\n\x1cROLE_COMPLIANCE_CLIENT_ADMIN\x10\x82\x89z\x12#\n\x1dROLE_COMPLIANCE_CLIENT_VIEWER\x10\x83\x89z\x12\x15\n\x0eROLE_IAM_ADMIN\x10\xc0\x8d\xb7\x01\x12\x16\n\x0fROLE_IAM_VIEWER\x10\xc1\x8d\xb7\x01\x12\x1e\n\x17ROLE_IAM_API_USER_ADMIN\x10\xc2\x8d\xb7\x01\x12\x1f\n\x18ROLE_IAM_API_USER_VIEWER\x10\xc3\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_GROUP_ADMIN\x10\xc4\x8d\xb7\x01\x12\x1c\n\x15ROLE_IAM_GROUP_VIEWER\x10\xc5\x8d\xb7\x01\x12\x1a\n\x13ROLE_IAM_USER_ADMIN\x10\xc6\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_USER_VIEWER\x10\xc7\x8d\xb7\x01\x12\x18\n\x11ROLE_STUDIO_ADMIN\x10\x80\x92\xf4\x01\x12\x19\n\x12ROLE_STUDIO_VIEWER\x10\x81\x92\xf4\x01\x12#\n\x1cROLE_STUDIO_INSTRUMENT_ADMIN\x10\x82\x92\xf4\x01\x12$\n\x1dROLE_STUDIO_INSTRUMENT_VIEWER\x10\x83\x92\xf4\x01\x12\x19\n\x12ROLE_TRADING_ADMIN\x10\xc0\x96\xb1\x02\x12\x1a\n\x13ROLE_TRADING_VIEWER\x10\xc1\x96\xb1\x02\x12\x1b\n\x14ROLE_REPORTING_ADMIN\x10\x80\x9b\xee\x02\x12\x1c\n\x15ROLE_REPORTING_VIEWER\x10\x81\x9b\xee\x02:f\n\x0estandard_roles\x12\x1c.google.protobuf.FileOptions\x18\xd3\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\rstandardRoles:W\n\x05roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,7 +34,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['DESCRIPTOR']._loaded_options = None
35
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1'
36
36
  _globals['_ROLE']._serialized_start=157
37
- _globals['_ROLE']._serialized_end=712
37
+ _globals['_ROLE']._serialized_end=905
38
38
  _globals['_ROLELIST']._serialized_start=93
39
39
  _globals['_ROLELIST']._serialized_end=154
40
40
  # @@protoc_insertion_point(module_scope)
@@ -17,14 +17,20 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
17
  ROLE_WALLET_ACCOUNT_VIEWER: _ClassVar[Role]
18
18
  ROLE_COMPLIANCE_ADMIN: _ClassVar[Role]
19
19
  ROLE_COMPLIANCE_VIEWER: _ClassVar[Role]
20
+ ROLE_COMPLIANCE_CLIENT_ADMIN: _ClassVar[Role]
21
+ ROLE_COMPLIANCE_CLIENT_VIEWER: _ClassVar[Role]
20
22
  ROLE_IAM_ADMIN: _ClassVar[Role]
21
23
  ROLE_IAM_VIEWER: _ClassVar[Role]
22
24
  ROLE_IAM_API_USER_ADMIN: _ClassVar[Role]
23
25
  ROLE_IAM_API_USER_VIEWER: _ClassVar[Role]
24
26
  ROLE_IAM_GROUP_ADMIN: _ClassVar[Role]
25
27
  ROLE_IAM_GROUP_VIEWER: _ClassVar[Role]
26
- ROLE_ISSUANCE_HUB_ADMIN: _ClassVar[Role]
27
- ROLE_ISSUANCE_HUB_VIEWER: _ClassVar[Role]
28
+ ROLE_IAM_USER_ADMIN: _ClassVar[Role]
29
+ ROLE_IAM_USER_VIEWER: _ClassVar[Role]
30
+ ROLE_STUDIO_ADMIN: _ClassVar[Role]
31
+ ROLE_STUDIO_VIEWER: _ClassVar[Role]
32
+ ROLE_STUDIO_INSTRUMENT_ADMIN: _ClassVar[Role]
33
+ ROLE_STUDIO_INSTRUMENT_VIEWER: _ClassVar[Role]
28
34
  ROLE_TRADING_ADMIN: _ClassVar[Role]
29
35
  ROLE_TRADING_VIEWER: _ClassVar[Role]
30
36
  ROLE_REPORTING_ADMIN: _ClassVar[Role]
@@ -36,14 +42,20 @@ ROLE_WALLET_ACCOUNT_ADMIN: Role
36
42
  ROLE_WALLET_ACCOUNT_VIEWER: Role
37
43
  ROLE_COMPLIANCE_ADMIN: Role
38
44
  ROLE_COMPLIANCE_VIEWER: Role
45
+ ROLE_COMPLIANCE_CLIENT_ADMIN: Role
46
+ ROLE_COMPLIANCE_CLIENT_VIEWER: Role
39
47
  ROLE_IAM_ADMIN: Role
40
48
  ROLE_IAM_VIEWER: Role
41
49
  ROLE_IAM_API_USER_ADMIN: Role
42
50
  ROLE_IAM_API_USER_VIEWER: Role
43
51
  ROLE_IAM_GROUP_ADMIN: Role
44
52
  ROLE_IAM_GROUP_VIEWER: Role
45
- ROLE_ISSUANCE_HUB_ADMIN: Role
46
- ROLE_ISSUANCE_HUB_VIEWER: Role
53
+ ROLE_IAM_USER_ADMIN: Role
54
+ ROLE_IAM_USER_VIEWER: Role
55
+ ROLE_STUDIO_ADMIN: Role
56
+ ROLE_STUDIO_VIEWER: Role
57
+ ROLE_STUDIO_INSTRUMENT_ADMIN: Role
58
+ ROLE_STUDIO_INSTRUMENT_VIEWER: Role
47
59
  ROLE_TRADING_ADMIN: Role
48
60
  ROLE_TRADING_VIEWER: Role
49
61
  ROLE_REPORTING_ADMIN: Role
@@ -29,7 +29,7 @@ from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_d
29
29
  from meshtrade.type.v1 import sorting_pb2 as meshtrade_dot_type_dot_v1_dot_sorting__pb2
30
30
 
31
31
 
32
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#meshtrade/iam/user/v1/service.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a meshtrade/iam/role/v1/role.proto\x1a meshtrade/iam/user/v1/user.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"\xc3\x01\n\x17\x41ssignRoleToUserRequest\x12L\n\x04name\x18\x01 \x01(\tB8\xbaH5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 R\x04name\x12Z\n\x04role\x18\x04 \x01(\tBF\xbaHCr>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"a\n\x0eGetUserRequest\x12O\n\x04name\x18\x01 \x01(\tB;\xbaH8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 \xc8\x01\x01R\x04name\"\x94\x02\n\x10ListUsersRequest\x12I\n\x07sorting\x18\x01 \x01(\x0b\x32/.meshtrade.iam.user.v1.ListUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"F\n\x11ListUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"\xae\x02\n\x12SearchUsersRequest\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12K\n\x07sorting\x18\x02 \x01(\x0b\x32\x31.meshtrade.iam.user.v1.SearchUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"H\n\x13SearchUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"L\n\x11\x43reateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user\"L\n\x11UpdateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user2\x99\x05\n\x0bUserService\x12o\n\x10\x41ssignRoleToUser\x12..meshtrade.iam.user.v1.AssignRoleToUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x0e\xa0\xb5\x18\x02\xaa\xb5\x18\x06\n\x04\xc0\x8d\xb7\x01\x12\x61\n\x07GetUser\x12%.meshtrade.iam.user.v1.GetUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\x12r\n\tListUsers\x12\'.meshtrade.iam.user.v1.ListUsersRequest\x1a(.meshtrade.iam.user.v1.ListUsersResponse\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\x12x\n\x0bSearchUsers\x12).meshtrade.iam.user.v1.SearchUsersRequest\x1a*.meshtrade.iam.user.v1.SearchUsersResponse\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\x12\x63\n\nCreateUser\x12(.meshtrade.iam.user.v1.CreateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x0e\xa0\xb5\x18\x02\xaa\xb5\x18\x06\n\x04\xc0\x8d\xb7\x01\x12\x63\n\nUpdateUser\x12(.meshtrade.iam.user.v1.UpdateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x0e\xa0\xb5\x18\x02\xaa\xb5\x18\x06\n\x04\xc0\x8d\xb7\x01\x42O\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#meshtrade/iam/user/v1/service.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a meshtrade/iam/role/v1/role.proto\x1a meshtrade/iam/user/v1/user.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"\xc3\x01\n\x17\x41ssignRoleToUserRequest\x12L\n\x04name\x18\x01 \x01(\tB8\xbaH5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 R\x04name\x12Z\n\x04role\x18\x04 \x01(\tBF\xbaHCr>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"a\n\x0eGetUserRequest\x12O\n\x04name\x18\x01 \x01(\tB;\xbaH8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 \xc8\x01\x01R\x04name\"\x94\x02\n\x10ListUsersRequest\x12I\n\x07sorting\x18\x01 \x01(\x0b\x32/.meshtrade.iam.user.v1.ListUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"F\n\x11ListUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"\xae\x02\n\x12SearchUsersRequest\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12K\n\x07sorting\x18\x02 \x01(\x0b\x32\x31.meshtrade.iam.user.v1.SearchUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"H\n\x13SearchUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"L\n\x11\x43reateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user\"L\n\x11UpdateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user2\xbe\x05\n\x0bUserService\x12s\n\x10\x41ssignRoleToUser\x12..meshtrade.iam.user.v1.AssignRoleToUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12i\n\x07GetUser\x12%.meshtrade.iam.user.v1.GetUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12z\n\tListUsers\x12\'.meshtrade.iam.user.v1.ListUsersRequest\x1a(.meshtrade.iam.user.v1.ListUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12\x80\x01\n\x0bSearchUsers\x12).meshtrade.iam.user.v1.SearchUsersRequest\x1a*.meshtrade.iam.user.v1.SearchUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12g\n\nCreateUser\x12(.meshtrade.iam.user.v1.CreateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12g\n\nUpdateUser\x12(.meshtrade.iam.user.v1.UpdateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x42O\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -52,17 +52,17 @@ if not _descriptor._USE_C_DESCRIPTORS:
52
52
  _globals['_UPDATEUSERREQUEST'].fields_by_name['user']._loaded_options = None
53
53
  _globals['_UPDATEUSERREQUEST'].fields_by_name['user']._serialized_options = b'\272H\003\310\001\001'
54
54
  _globals['_USERSERVICE'].methods_by_name['AssignRoleToUser']._loaded_options = None
55
- _globals['_USERSERVICE'].methods_by_name['AssignRoleToUser']._serialized_options = b'\240\265\030\002\252\265\030\006\n\004\300\215\267\001'
55
+ _globals['_USERSERVICE'].methods_by_name['AssignRoleToUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\306\215\267\001'
56
56
  _globals['_USERSERVICE'].methods_by_name['GetUser']._loaded_options = None
57
- _globals['_USERSERVICE'].methods_by_name['GetUser']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\215\267\001'
57
+ _globals['_USERSERVICE'].methods_by_name['GetUser']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\306\215\267\001\307\215\267\001'
58
58
  _globals['_USERSERVICE'].methods_by_name['ListUsers']._loaded_options = None
59
- _globals['_USERSERVICE'].methods_by_name['ListUsers']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\215\267\001'
59
+ _globals['_USERSERVICE'].methods_by_name['ListUsers']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\306\215\267\001\307\215\267\001'
60
60
  _globals['_USERSERVICE'].methods_by_name['SearchUsers']._loaded_options = None
61
- _globals['_USERSERVICE'].methods_by_name['SearchUsers']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\215\267\001'
61
+ _globals['_USERSERVICE'].methods_by_name['SearchUsers']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\306\215\267\001\307\215\267\001'
62
62
  _globals['_USERSERVICE'].methods_by_name['CreateUser']._loaded_options = None
63
- _globals['_USERSERVICE'].methods_by_name['CreateUser']._serialized_options = b'\240\265\030\002\252\265\030\006\n\004\300\215\267\001'
63
+ _globals['_USERSERVICE'].methods_by_name['CreateUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\306\215\267\001'
64
64
  _globals['_USERSERVICE'].methods_by_name['UpdateUser']._loaded_options = None
65
- _globals['_USERSERVICE'].methods_by_name['UpdateUser']._serialized_options = b'\240\265\030\002\252\265\030\006\n\004\300\215\267\001'
65
+ _globals['_USERSERVICE'].methods_by_name['UpdateUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\306\215\267\001'
66
66
  _globals['_ASSIGNROLETOUSERREQUEST']._serialized_start=232
67
67
  _globals['_ASSIGNROLETOUSERREQUEST']._serialized_end=427
68
68
  _globals['_GETUSERREQUEST']._serialized_start=429
@@ -84,5 +84,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
84
84
  _globals['_UPDATEUSERREQUEST']._serialized_start=1336
85
85
  _globals['_UPDATEUSERREQUEST']._serialized_end=1412
86
86
  _globals['_USERSERVICE']._serialized_start=1415
87
- _globals['_USERSERVICE']._serialized_end=2080
87
+ _globals['_USERSERVICE']._serialized_end=2117
88
88
  # @@protoc_insertion_point(module_scope)
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/user/v1/user.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\"\xf1\x03\n\x04User\x12\xba\x01\n\x04name\x18\x01 \x01(\tB\xa5\x01\xbaH\xa1\x01\xba\x01\x9d\x01\n\x14name.format.optional\x12\x32name must be empty or in the format users/{ULIDv2}\x1aQsize(this) == 0 || this.matches(\'^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12V\n\x06owners\x18\x03 \x03(\tB>\xbaH;\x92\x01\x38\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x06owners\x12 \n\x05\x65mail\x18\x04 \x01(\tB\n\xbaH\x07r\x02`\x01\xc8\x01\x01R\x05\x65mail\x12^\n\x05roles\x18\x06 \x03(\tBH\xbaHE\x92\x01\x42\"@r>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)R\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/user/v1/user.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x99\x03\n\x04User\x12\xba\x01\n\x04name\x18\x01 \x01(\tB\xa5\x01\xbaH\xa1\x01\xba\x01\x9d\x01\n\x14name.format.optional\x12\x32name must be empty or in the format users/{ULIDv2}\x1aQsize(this) == 0 || this.matches(\'^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12 \n\x05\x65mail\x18\x04 \x01(\tB\n\xbaH\x07r\x02`\x01\xc8\x01\x01R\x05\x65mail\x12^\n\x05roles\x18\x06 \x03(\tBH\xbaHE\x92\x01\x42\"@r>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)R\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,12 +37,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['_USER'].fields_by_name['name']._serialized_options = b'\272H\241\001\272\001\235\001\n\024name.format.optional\0222name must be empty or in the format users/{ULIDv2}\032Qsize(this) == 0 || this.matches(\'^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
38
38
  _globals['_USER'].fields_by_name['owner']._loaded_options = None
39
39
  _globals['_USER'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
40
- _globals['_USER'].fields_by_name['owners']._loaded_options = None
41
- _globals['_USER'].fields_by_name['owners']._serialized_options = b'\272H;\222\0018\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
42
40
  _globals['_USER'].fields_by_name['email']._loaded_options = None
43
41
  _globals['_USER'].fields_by_name['email']._serialized_options = b'\272H\007r\002`\001\310\001\001'
44
42
  _globals['_USER'].fields_by_name['roles']._loaded_options = None
45
43
  _globals['_USER'].fields_by_name['roles']._serialized_options = b'\272HE\222\001B\"@r>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\230\001)'
46
44
  _globals['_USER']._serialized_start=89
47
- _globals['_USER']._serialized_end=586
45
+ _globals['_USER']._serialized_end=498
48
46
  # @@protoc_insertion_point(module_scope)
@@ -8,15 +8,13 @@ from typing import ClassVar as _ClassVar, Optional as _Optional
8
8
  DESCRIPTOR: _descriptor.FileDescriptor
9
9
 
10
10
  class User(_message.Message):
11
- __slots__ = ("name", "owner", "owners", "email", "roles")
11
+ __slots__ = ("name", "owner", "email", "roles")
12
12
  NAME_FIELD_NUMBER: _ClassVar[int]
13
13
  OWNER_FIELD_NUMBER: _ClassVar[int]
14
- OWNERS_FIELD_NUMBER: _ClassVar[int]
15
14
  EMAIL_FIELD_NUMBER: _ClassVar[int]
16
15
  ROLES_FIELD_NUMBER: _ClassVar[int]
17
16
  name: str
18
17
  owner: str
19
- owners: _containers.RepeatedScalarFieldContainer[str]
20
18
  email: str
21
19
  roles: _containers.RepeatedScalarFieldContainer[str]
22
- def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., owners: _Optional[_Iterable[str]] = ..., email: _Optional[str] = ..., roles: _Optional[_Iterable[str]] = ...) -> None: ...
20
+ def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., email: _Optional[str] = ..., roles: _Optional[_Iterable[str]] = ...) -> None: ...
@@ -26,7 +26,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from meshtrade.type.v1 import token_pb2 as meshtrade_dot_type_dot_v1_dot_token__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/meshtrade/studio/instrument/v1/instrument.proto\x12\x1emeshtrade.studio.instrument.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1dmeshtrade/type/v1/token.proto\"\xd7\x03\n\nInstrument\x12\xbc\x01\n\x04name\x18\x01 \x01(\tB\xa7\x01\xbaH\xa3\x01\xba\x01\x9f\x01\n\x14name.format.optional\x12\x33name must be empty or in the format groups/{ULIDv2}\x1aRsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12O\n\x05owner\x18\x02 \x01(\tB9\xbaH6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x05owner\x12Z\n\x06owners\x18\x03 \x03(\tBB\xbaH?\x92\x01<\x08\x00\x10\x64\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x06owners\x12-\n\x0c\x64isplay_name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x0b\x64isplayName\x12.\n\x05token\x18\x05 \x01(\x0b\x32\x18.meshtrade.type.v1.TokenR\x05tokenBg\n%co.meshtrade.api.studio.instrument.v1Z>github.com/meshtrade/api/go/studio/instrument/v1;instrument_v1b\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/meshtrade/studio/instrument/v1/instrument.proto\x12\x1emeshtrade.studio.instrument.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1dmeshtrade/type/v1/token.proto\"\xfb\x02\n\nInstrument\x12\xbc\x01\n\x04name\x18\x01 \x01(\tB\xa7\x01\xbaH\xa3\x01\xba\x01\x9f\x01\n\x14name.format.optional\x12\x33name must be empty or in the format groups/{ULIDv2}\x1aRsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12O\n\x05owner\x18\x02 \x01(\tB9\xbaH6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x05owner\x12-\n\x0c\x64isplay_name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x0b\x64isplayName\x12.\n\x05token\x18\x05 \x01(\x0b\x32\x18.meshtrade.type.v1.TokenR\x05tokenBg\n%co.meshtrade.api.studio.instrument.v1Z>github.com/meshtrade/api/go/studio/instrument/v1;instrument_v1b\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -38,10 +38,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
38
38
  _globals['_INSTRUMENT'].fields_by_name['name']._serialized_options = b'\272H\243\001\272\001\237\001\n\024name.format.optional\0223name must be empty or in the format groups/{ULIDv2}\032Rsize(this) == 0 || this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
39
39
  _globals['_INSTRUMENT'].fields_by_name['owner']._loaded_options = None
40
40
  _globals['_INSTRUMENT'].fields_by_name['owner']._serialized_options = b'\272H6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
41
- _globals['_INSTRUMENT'].fields_by_name['owners']._loaded_options = None
42
- _globals['_INSTRUMENT'].fields_by_name['owners']._serialized_options = b'\272H?\222\001<\010\000\020d\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
43
41
  _globals['_INSTRUMENT'].fields_by_name['display_name']._loaded_options = None
44
42
  _globals['_INSTRUMENT'].fields_by_name['display_name']._serialized_options = b'\272H\007r\005\020\001\030\377\001'
45
43
  _globals['_INSTRUMENT']._serialized_start=144
46
- _globals['_INSTRUMENT']._serialized_end=615
44
+ _globals['_INSTRUMENT']._serialized_end=523
47
45
  # @@protoc_insertion_point(module_scope)
@@ -1,23 +1,20 @@
1
1
  from buf.validate import validate_pb2 as _validate_pb2
2
2
  from meshtrade.type.v1 import token_pb2 as _token_pb2
3
- from google.protobuf.internal import containers as _containers
4
3
  from google.protobuf import descriptor as _descriptor
5
4
  from google.protobuf import message as _message
6
- from collections.abc import Iterable as _Iterable, Mapping as _Mapping
5
+ from collections.abc import Mapping as _Mapping
7
6
  from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
8
7
 
9
8
  DESCRIPTOR: _descriptor.FileDescriptor
10
9
 
11
10
  class Instrument(_message.Message):
12
- __slots__ = ("name", "owner", "owners", "display_name", "token")
11
+ __slots__ = ("name", "owner", "display_name", "token")
13
12
  NAME_FIELD_NUMBER: _ClassVar[int]
14
13
  OWNER_FIELD_NUMBER: _ClassVar[int]
15
- OWNERS_FIELD_NUMBER: _ClassVar[int]
16
14
  DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
17
15
  TOKEN_FIELD_NUMBER: _ClassVar[int]
18
16
  name: str
19
17
  owner: str
20
- owners: _containers.RepeatedScalarFieldContainer[str]
21
18
  display_name: str
22
19
  token: _token_pb2.Token
23
- def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., owners: _Optional[_Iterable[str]] = ..., display_name: _Optional[str] = ..., token: _Optional[_Union[_token_pb2.Token, _Mapping]] = ...) -> None: ...
20
+ def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., display_name: _Optional[str] = ..., token: _Optional[_Union[_token_pb2.Token, _Mapping]] = ...) -> None: ...
@@ -30,7 +30,7 @@ from meshtrade.studio.instrument.v1 import unit_pb2 as meshtrade_dot_studio_dot_
30
30
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
31
31
 
32
32
 
33
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)meshtrade/wallet/account/v1/account.proto\x12\x1bmeshtrade.wallet.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emeshtrade/type/v1/ledger.proto\x1a\x1emeshtrade/type/v1/amount.proto\x1a)meshtrade/studio/instrument/v1/type.proto\x1a)meshtrade/studio/instrument/v1/unit.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x95\x07\n\x07\x41\x63\x63ount\x12\xc0\x01\n\x04name\x18\x01 \x01(\tB\xab\x01\xbaH\xa7\x01\xba\x01\xa3\x01\n\x14name.format.optional\x12\x35name must be empty or in the format accounts/{ULIDv2}\x1aTsize(this) == 0 || this.matches(\'^accounts/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12V\n\x06owners\x18\x03 \x03(\tB>\xbaH;\x92\x01\x38\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!R\x06owners\x12\xab\x01\n\x06number\x18\x05 \x01(\tB\x92\x01\xbaH\x8e\x01\xba\x01\x8a\x01\n\x16number.format.optional\x12@number must be empty or a 7-digit account number starting with 1\x1a.size(this) == 0 || this.matches(\'^1[0-9]{6}$\')R\x06number\x12%\n\tledger_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\xff\x01R\x08ledgerId\x12@\n\x06ledger\x18\x07 \x01(\x0e\x32\x19.meshtrade.type.v1.LedgerB\r\xbaH\n\x82\x01\x04\x10\x01 \x00\xc8\x01\x01R\x06ledger\x12\x30\n\x0c\x64isplay_name\x18\x08 \x01(\tB\r\xbaH\nr\x05\x10\x01\x18\xff\x01\xc8\x01\x01R\x0b\x64isplayName\x12O\n\x16live_data_retrieved_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x13liveDataRetrievedAt\x12?\n\x05state\x18\n \x01(\x0e\x32).meshtrade.wallet.account.v1.AccountStateR\x05state\x12@\n\x08\x62\x61lances\x18\x0b \x03(\x0b\x32$.meshtrade.wallet.account.v1.BalanceR\x08\x62\x61lances\"\xa6\x01\n\x12InstrumentMetaData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32..meshtrade.studio.instrument.v1.InstrumentTypeR\x04type\x12\x38\n\x04unit\x18\x03 \x01(\x0e\x32$.meshtrade.studio.instrument.v1.UnitR\x04unit\"\x9e\x01\n\x07\x42\x61lance\x12\x31\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x19.meshtrade.type.v1.AmountR\x06\x61mount\x12`\n\x13instrument_metadata\x18\x02 \x01(\x0b\x32/.meshtrade.wallet.account.v1.InstrumentMetaDataR\x12instrumentMetadata*_\n\x0c\x41\x63\x63ountState\x12\x1d\n\x19\x41\x43\x43OUNT_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41\x43\x43OUNT_STATE_CLOSED\x10\x01\x12\x16\n\x12\x41\x43\x43OUNT_STATE_OPEN\x10\x02\x42^\n\"co.meshtrade.api.wallet.account.v1Z8github.com/meshtrade/api/go/wallet/account/v1;account_v1b\x06proto3')
33
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)meshtrade/wallet/account/v1/account.proto\x12\x1bmeshtrade.wallet.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emeshtrade/type/v1/ledger.proto\x1a\x1emeshtrade/type/v1/amount.proto\x1a)meshtrade/studio/instrument/v1/type.proto\x1a)meshtrade/studio/instrument/v1/unit.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xbd\x06\n\x07\x41\x63\x63ount\x12\xc0\x01\n\x04name\x18\x01 \x01(\tB\xab\x01\xbaH\xa7\x01\xba\x01\xa3\x01\n\x14name.format.optional\x12\x35name must be empty or in the format accounts/{ULIDv2}\x1aTsize(this) == 0 || this.matches(\'^accounts/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12\xab\x01\n\x06number\x18\x05 \x01(\tB\x92\x01\xbaH\x8e\x01\xba\x01\x8a\x01\n\x16number.format.optional\x12@number must be empty or a 7-digit account number starting with 1\x1a.size(this) == 0 || this.matches(\'^1[0-9]{6}$\')R\x06number\x12%\n\tledger_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\xff\x01R\x08ledgerId\x12@\n\x06ledger\x18\x07 \x01(\x0e\x32\x19.meshtrade.type.v1.LedgerB\r\xbaH\n\x82\x01\x04\x10\x01 \x00\xc8\x01\x01R\x06ledger\x12\x30\n\x0c\x64isplay_name\x18\x08 \x01(\tB\r\xbaH\nr\x05\x10\x01\x18\xff\x01\xc8\x01\x01R\x0b\x64isplayName\x12O\n\x16live_data_retrieved_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x13liveDataRetrievedAt\x12?\n\x05state\x18\n \x01(\x0e\x32).meshtrade.wallet.account.v1.AccountStateR\x05state\x12@\n\x08\x62\x61lances\x18\x0b \x03(\x0b\x32$.meshtrade.wallet.account.v1.BalanceR\x08\x62\x61lances\"\xa6\x01\n\x12InstrumentMetaData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32..meshtrade.studio.instrument.v1.InstrumentTypeR\x04type\x12\x38\n\x04unit\x18\x03 \x01(\x0e\x32$.meshtrade.studio.instrument.v1.UnitR\x04unit\"\x9e\x01\n\x07\x42\x61lance\x12\x31\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x19.meshtrade.type.v1.AmountR\x06\x61mount\x12`\n\x13instrument_metadata\x18\x02 \x01(\x0b\x32/.meshtrade.wallet.account.v1.InstrumentMetaDataR\x12instrumentMetadata*_\n\x0c\x41\x63\x63ountState\x12\x1d\n\x19\x41\x43\x43OUNT_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x41\x43\x43OUNT_STATE_CLOSED\x10\x01\x12\x16\n\x12\x41\x43\x43OUNT_STATE_OPEN\x10\x02\x42^\n\"co.meshtrade.api.wallet.account.v1Z8github.com/meshtrade/api/go/wallet/account/v1;account_v1b\x06proto3')
34
34
 
35
35
  _globals = globals()
36
36
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,8 +42,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
42
42
  _globals['_ACCOUNT'].fields_by_name['name']._serialized_options = b'\272H\247\001\272\001\243\001\n\024name.format.optional\0225name must be empty or in the format accounts/{ULIDv2}\032Tsize(this) == 0 || this.matches(\'^accounts/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
43
43
  _globals['_ACCOUNT'].fields_by_name['owner']._loaded_options = None
44
44
  _globals['_ACCOUNT'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
45
- _globals['_ACCOUNT'].fields_by_name['owners']._loaded_options = None
46
- _globals['_ACCOUNT'].fields_by_name['owners']._serialized_options = b'\272H;\222\0018\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
47
45
  _globals['_ACCOUNT'].fields_by_name['number']._loaded_options = None
48
46
  _globals['_ACCOUNT'].fields_by_name['number']._serialized_options = b'\272H\216\001\272\001\212\001\n\026number.format.optional\022@number must be empty or a 7-digit account number starting with 1\032.size(this) == 0 || this.matches(\'^1[0-9]{6}$\')'
49
47
  _globals['_ACCOUNT'].fields_by_name['ledger_id']._loaded_options = None
@@ -52,12 +50,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
52
50
  _globals['_ACCOUNT'].fields_by_name['ledger']._serialized_options = b'\272H\n\202\001\004\020\001 \000\310\001\001'
53
51
  _globals['_ACCOUNT'].fields_by_name['display_name']._loaded_options = None
54
52
  _globals['_ACCOUNT'].fields_by_name['display_name']._serialized_options = b'\272H\nr\005\020\001\030\377\001\310\001\001'
55
- _globals['_ACCOUNTSTATE']._serialized_start=1536
56
- _globals['_ACCOUNTSTATE']._serialized_end=1631
53
+ _globals['_ACCOUNTSTATE']._serialized_start=1448
54
+ _globals['_ACCOUNTSTATE']._serialized_end=1543
57
55
  _globals['_ACCOUNT']._serialized_start=287
58
- _globals['_ACCOUNT']._serialized_end=1204
59
- _globals['_INSTRUMENTMETADATA']._serialized_start=1207
60
- _globals['_INSTRUMENTMETADATA']._serialized_end=1373
61
- _globals['_BALANCE']._serialized_start=1376
62
- _globals['_BALANCE']._serialized_end=1534
56
+ _globals['_ACCOUNT']._serialized_end=1116
57
+ _globals['_INSTRUMENTMETADATA']._serialized_start=1119
58
+ _globals['_INSTRUMENTMETADATA']._serialized_end=1285
59
+ _globals['_BALANCE']._serialized_start=1288
60
+ _globals['_BALANCE']._serialized_end=1446
63
61
  # @@protoc_insertion_point(module_scope)
@@ -25,10 +25,9 @@ ACCOUNT_STATE_CLOSED: AccountState
25
25
  ACCOUNT_STATE_OPEN: AccountState
26
26
 
27
27
  class Account(_message.Message):
28
- __slots__ = ("name", "owner", "owners", "number", "ledger_id", "ledger", "display_name", "live_data_retrieved_at", "state", "balances")
28
+ __slots__ = ("name", "owner", "number", "ledger_id", "ledger", "display_name", "live_data_retrieved_at", "state", "balances")
29
29
  NAME_FIELD_NUMBER: _ClassVar[int]
30
30
  OWNER_FIELD_NUMBER: _ClassVar[int]
31
- OWNERS_FIELD_NUMBER: _ClassVar[int]
32
31
  NUMBER_FIELD_NUMBER: _ClassVar[int]
33
32
  LEDGER_ID_FIELD_NUMBER: _ClassVar[int]
34
33
  LEDGER_FIELD_NUMBER: _ClassVar[int]
@@ -38,7 +37,6 @@ class Account(_message.Message):
38
37
  BALANCES_FIELD_NUMBER: _ClassVar[int]
39
38
  name: str
40
39
  owner: str
41
- owners: _containers.RepeatedScalarFieldContainer[str]
42
40
  number: str
43
41
  ledger_id: str
44
42
  ledger: _ledger_pb2.Ledger
@@ -46,7 +44,7 @@ class Account(_message.Message):
46
44
  live_data_retrieved_at: _timestamp_pb2.Timestamp
47
45
  state: AccountState
48
46
  balances: _containers.RepeatedCompositeFieldContainer[Balance]
49
- def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., owners: _Optional[_Iterable[str]] = ..., number: _Optional[str] = ..., ledger_id: _Optional[str] = ..., ledger: _Optional[_Union[_ledger_pb2.Ledger, str]] = ..., display_name: _Optional[str] = ..., live_data_retrieved_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[AccountState, str]] = ..., balances: _Optional[_Iterable[_Union[Balance, _Mapping]]] = ...) -> None: ...
47
+ def __init__(self, name: _Optional[str] = ..., owner: _Optional[str] = ..., number: _Optional[str] = ..., ledger_id: _Optional[str] = ..., ledger: _Optional[_Union[_ledger_pb2.Ledger, str]] = ..., display_name: _Optional[str] = ..., live_data_retrieved_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., state: _Optional[_Union[AccountState, str]] = ..., balances: _Optional[_Iterable[_Union[Balance, _Mapping]]] = ...) -> None: ...
50
48
 
51
49
  class InstrumentMetaData(_message.Message):
52
50
  __slots__ = ("name", "type", "unit")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshtrade
3
- Version: 1.7.0
3
+ Version: 1.9.0
4
4
  Summary: Integration SDK for Mesh API Services
5
5
  Author-email: Bernard Bussy <bernard@meshtrade.co>
6
6
  License: LicenseRef-My-Custom-License