meshtrade 1.4.0__py3-none-any.whl → 1.7.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 (73) hide show
  1. meshtrade/compliance/client/v1/client_pb2.py +2 -2
  2. meshtrade/compliance/client/v1/company_pb2.py +2 -2
  3. meshtrade/compliance/client/v1/company_representative_pb2.py +2 -2
  4. meshtrade/compliance/client/v1/company_representative_role_pb2.py +2 -2
  5. meshtrade/compliance/client/v1/fund_pb2.py +2 -2
  6. meshtrade/compliance/client/v1/identification_document_type_pb2.py +2 -2
  7. meshtrade/compliance/client/v1/industry_classification_pb2.py +2 -2
  8. meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +2 -2
  9. meshtrade/compliance/client/v1/natural_person_pb2.py +2 -2
  10. meshtrade/compliance/client/v1/pep_status_pb2.py +2 -2
  11. meshtrade/compliance/client/v1/service_pb2.py +2 -2
  12. meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +2 -2
  13. meshtrade/compliance/client/v1/tax_residency_pb2.py +2 -2
  14. meshtrade/compliance/client/v1/trust_pb2.py +2 -2
  15. meshtrade/compliance/client/v1/verification_status_pb2.py +2 -2
  16. meshtrade/iam/api_user/v1/api_credentials_pb2.py +4 -4
  17. meshtrade/iam/api_user/v1/api_user_pb2.py +16 -10
  18. meshtrade/iam/api_user/v1/service_pb2.py +36 -30
  19. meshtrade/iam/group/v1/group_pb2.py +9 -7
  20. meshtrade/iam/group/v1/service_pb2.py +11 -11
  21. meshtrade/iam/role/v1/role_pb2.py +3 -3
  22. meshtrade/iam/role/v1/role_pb2.pyi +8 -0
  23. meshtrade/iam/user/v1/__init__.py +17 -1
  24. meshtrade/iam/user/v1/service_meshpy.py +87 -0
  25. meshtrade/iam/user/v1/service_pb2.py +48 -11
  26. meshtrade/iam/user/v1/service_pb2.pyi +65 -6
  27. meshtrade/iam/user/v1/service_pb2_grpc.py +278 -4
  28. meshtrade/iam/user/v1/user_pb2.py +15 -4
  29. meshtrade/iam/user/v1/user_pb2.pyi +9 -2
  30. meshtrade/ledger/transaction/v1/transaction_action_pb2.py +2 -2
  31. meshtrade/ledger/transaction/v1/transaction_state_pb2.py +2 -2
  32. meshtrade/option/v1/method_type_pb2.py +2 -2
  33. meshtrade/reporting/account_report/v1/account_report_pb2.py +2 -2
  34. meshtrade/reporting/account_report/v1/disclaimer_pb2.py +2 -2
  35. meshtrade/reporting/account_report/v1/fee_entry_pb2.py +2 -2
  36. meshtrade/reporting/account_report/v1/income_entry_pb2.py +2 -2
  37. meshtrade/reporting/account_report/v1/service_pb2.py +26 -12
  38. meshtrade/reporting/account_report/v1/service_pb2_grpc.py +29 -25
  39. meshtrade/reporting/account_report/v1/trading_statement_entry_pb2.py +2 -2
  40. meshtrade/studio/instrument/v1/__init__.py +43 -0
  41. meshtrade/studio/instrument/v1/instrument_pb2.py +47 -0
  42. meshtrade/studio/instrument/v1/instrument_pb2.pyi +23 -0
  43. meshtrade/studio/instrument/v1/instrument_pb2_grpc.py +4 -0
  44. meshtrade/studio/instrument/v1/type_pb2.py +37 -0
  45. meshtrade/studio/instrument/v1/type_pb2.pyi +58 -0
  46. meshtrade/studio/instrument/v1/type_pb2_grpc.py +4 -0
  47. meshtrade/studio/instrument/v1/unit_pb2.py +37 -0
  48. meshtrade/studio/instrument/v1/unit_pb2.pyi +46 -0
  49. meshtrade/studio/instrument/v1/unit_pb2_grpc.py +4 -0
  50. meshtrade/trading/limit_order/v1/limit_order_pb2.py +2 -2
  51. meshtrade/trading/limit_order/v1/service_pb2.py +2 -2
  52. meshtrade/trading/market_order/v1/market_order_pb2.py +2 -2
  53. meshtrade/trading/market_order/v1/service_pb2.py +2 -2
  54. meshtrade/type/v1/address_pb2.py +2 -2
  55. meshtrade/type/v1/amount_pb2.py +2 -2
  56. meshtrade/type/v1/contact_details_pb2.py +2 -2
  57. meshtrade/type/v1/date_pb2.py +2 -2
  58. meshtrade/type/v1/decimal_pb2.py +2 -2
  59. meshtrade/type/v1/ledger_pb2.py +2 -2
  60. meshtrade/type/v1/sorting_pb2.py +2 -2
  61. meshtrade/type/v1/time_of_day_pb2.py +2 -2
  62. meshtrade/type/v1/token_pb2.py +2 -2
  63. meshtrade/wallet/account/v1/__init__.py +21 -1
  64. meshtrade/wallet/account/v1/account_pb2.py +30 -4
  65. meshtrade/wallet/account/v1/account_pb2.pyi +59 -3
  66. meshtrade/wallet/account/v1/service_meshpy.py +70 -0
  67. meshtrade/wallet/account/v1/service_pb2.py +64 -21
  68. meshtrade/wallet/account/v1/service_pb2.pyi +82 -19
  69. meshtrade/wallet/account/v1/service_pb2_grpc.py +244 -8
  70. {meshtrade-1.4.0.dist-info → meshtrade-1.7.0.dist-info}/METADATA +1 -1
  71. {meshtrade-1.4.0.dist-info → meshtrade-1.7.0.dist-info}/RECORD +73 -63
  72. {meshtrade-1.4.0.dist-info → meshtrade-1.7.0.dist-info}/WHEEL +0 -0
  73. {meshtrade-1.4.0.dist-info → meshtrade-1.7.0.dist-info}/top_level.txt +0 -0
@@ -25,22 +25,24 @@ _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\"\xf3\x06\n\x05Group\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\xb1\x02\n\x05owner\x18\x02 \x01(\tB\x9a\x02\xbaH\x96\x02r\x19\x10\x01\x32\x15^groups/[0-9A-Z]{26}$\xba\x01Y\n\x0eowner.required\x12\x37owner is required and must be in format groups/{ULIDv2}\x1a\x0esize(this) > 0\xba\x01\x9b\x01\n\x0cowner.format\x12\x64owner must be in format groups/{ULIDv2} where ULIDv2 is exactly 26 uppercase alphanumeric characters\x1a%this.matches(\'^groups/[0-9A-Z]{26}$\')R\x05owner\x12\xe4\x01\n\x06owners\x18\x03 \x03(\tB\xcb\x01\xbaH\xc7\x01\x92\x01\xc3\x01\"\xc0\x01r\x19\x10\x01\x32\x15^groups/[0-9A-Z]{26}$\xba\x01\xa1\x01\n\rowners.format\x12ieach owner must be in format groups/{ULIDv2} where ULIDv2 is exactly 26 uppercase alphanumeric characters\x1a%this.matches(\'^groups/[0-9A-Z]{26}$\')R\x06owners\x12\xb1\x01\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x8d\x01\xbaH\x89\x01r\x05\x10\x01\x18\xff\x01\xba\x01\x7f\n\x15\x64isplay_name.required\x12\x41\x64isplay name is required and must be between 1 and 255 characters\x1a#size(this) > 0 && size(this) <= 255R\x0b\x64isplayName\x12\x86\x01\n\x0b\x64\x65scription\x18\x05 \x01(\tBd\xbaHar\x03\x18\xe8\x07\xba\x01Y\n\x16\x64\x65scription.max_length\x12+description must not exceed 1000 characters\x1a\x12size(this) <= 1000R\x0b\x64\x65scriptionBQ\n\x1d\x63o.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\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\"\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')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
32
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.group_pb2', _globals)
33
33
  if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['DESCRIPTOR']._loaded_options = None
35
- _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
35
+ _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z1github.com/meshtrade/api/go/iam/group/v1;group_v1'
36
+ _globals['_GROUP'].fields_by_name['name']._loaded_options = None
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}$\')'
36
38
  _globals['_GROUP'].fields_by_name['owner']._loaded_options = None
37
- _globals['_GROUP'].fields_by_name['owner']._serialized_options = b'\272H\226\002r\031\020\0012\025^groups/[0-9A-Z]{26}$\272\001Y\n\016owner.required\0227owner is required and must be in format groups/{ULIDv2}\032\016size(this) > 0\272\001\233\001\n\014owner.format\022downer must be in format groups/{ULIDv2} where ULIDv2 is exactly 26 uppercase alphanumeric characters\032%this.matches(\'^groups/[0-9A-Z]{26}$\')'
39
+ _globals['_GROUP'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
38
40
  _globals['_GROUP'].fields_by_name['owners']._loaded_options = None
39
- _globals['_GROUP'].fields_by_name['owners']._serialized_options = b'\272H\307\001\222\001\303\001\"\300\001r\031\020\0012\025^groups/[0-9A-Z]{26}$\272\001\241\001\n\rowners.format\022ieach owner must be in format groups/{ULIDv2} where ULIDv2 is exactly 26 uppercase alphanumeric characters\032%this.matches(\'^groups/[0-9A-Z]{26}$\')'
41
+ _globals['_GROUP'].fields_by_name['owners']._serialized_options = b'\272H;\222\0018\"6r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!'
40
42
  _globals['_GROUP'].fields_by_name['display_name']._loaded_options = None
41
- _globals['_GROUP'].fields_by_name['display_name']._serialized_options = b'\272H\211\001r\005\020\001\030\377\001\272\001\177\n\025display_name.required\022Adisplay name is required and must be between 1 and 255 characters\032#size(this) > 0 && size(this) <= 255'
43
+ _globals['_GROUP'].fields_by_name['display_name']._serialized_options = b'\272H\nr\005\020\001\030\377\001\310\001\001'
42
44
  _globals['_GROUP'].fields_by_name['description']._loaded_options = None
43
- _globals['_GROUP'].fields_by_name['description']._serialized_options = b'\272Har\003\030\350\007\272\001Y\n\026description.max_length\022+description must not exceed 1000 characters\032\022size(this) <= 1000'
45
+ _globals['_GROUP'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\350\007'
44
46
  _globals['_GROUP']._serialized_start=92
45
- _globals['_GROUP']._serialized_end=975
47
+ _globals['_GROUP']._serialized_end=556
46
48
  # @@protoc_insertion_point(module_scope)
@@ -29,14 +29,14 @@ 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/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\"meshtrade/iam/group/v1/group.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"Q\n\x12\x43reateGroupRequest\x12;\n\x05group\x18\x01 \x01(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupB\x06\xbaH\x03\xc8\x01\x01R\x05group\"Q\n\x12UpdateGroupRequest\x12;\n\x05group\x18\x01 \x01(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupB\x06\xbaH\x03\xc8\x01\x01R\x05group\"\xc3\x02\n\x11ListGroupsRequest\x12K\n\x07sorting\x18\x01 \x01(\x0b\x32\x31.meshtrade.iam.group.v1.ListGroupsRequest.SortingR\x07sorting\x1a\xe0\x01\n\x07Sorting\x12\x9d\x01\n\x05\x66ield\x18\x01 \x01(\tB\x86\x01\xbaH\x82\x01r\x16R\x00R\x04nameR\x0c\x64isplay_name\xba\x01g\n\x0b\x66ield.valid\x12\x32\x66ield must be one of: name, display_name, or empty\x1a$this in [\'\', \'name\', \'display_name\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"K\n\x12ListGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\"\xf0\x04\n\x13SearchGroupsRequest\x12\x93\x01\n\x0c\x64isplay_name\x18\x01 \x01(\tBp\xbaHmr\x03\x18\xff\x01\xba\x01\x65\n\x17\x64isplay_name.max_length\x12\x37\x64isplay_name search term must not exceed 255 characters\x1a\x11size(this) <= 255R\x0b\x64isplayName\x12\x90\x01\n\x0b\x64\x65scription\x18\x02 \x01(\tBn\xbaHkr\x03\x18\xff\x01\xba\x01\x63\n\x16\x64\x65scription.max_length\x12\x36\x64\x65scription search term must not exceed 255 characters\x1a\x11size(this) <= 255R\x0b\x64\x65scription\x12M\n\x07sorting\x18\x03 \x01(\x0b\x32\x33.meshtrade.iam.group.v1.SearchGroupsRequest.SortingR\x07sorting\x1a\xe0\x01\n\x07Sorting\x12\x9d\x01\n\x05\x66ield\x18\x01 \x01(\tB\x86\x01\xbaH\x82\x01r\x16R\x00R\x04nameR\x0c\x64isplay_name\xba\x01g\n\x0b\x66ield.valid\x12\x32\x66ield must be one of: name, display_name, or empty\x1a$this in [\'\', \'name\', \'display_name\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"M\n\x14SearchGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\"\xbf\x02\n\x0fGetGroupRequest\x12\xab\x02\n\x04name\x18\x01 \x01(\tB\x96\x02\xbaH\x92\x02r\x19\x10\x01\x32\x15^groups/[0-9A-Z]{26}$\xba\x01W\n\rname.required\x12\x36name is required and must be in format groups/{ULIDv2}\x1a\x0esize(this) > 0\xba\x01\x99\x01\n\x0bname.format\x12\x63name must be in format groups/{ULIDv2} where ulidv2 is exactly 26 uppercase alphanumeric characters\x1a%this.matches(\'^groups/[0-9A-Z]{26}$\')R\x04name2\xe3\x04\n\x0cGroupService\x12l\n\x0b\x43reateGroup\x12*.meshtrade.iam.group.v1.CreateGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12l\n\x0bUpdateGroup\x12*.meshtrade.iam.group.v1.UpdateGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x7f\n\nListGroups\x12).meshtrade.iam.group.v1.ListGroupsRequest\x1a*.meshtrade.iam.group.v1.ListGroupsResponse\"\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\x85\x01\n\x0cSearchGroups\x12+.meshtrade.iam.group.v1.SearchGroupsRequest\x1a,.meshtrade.iam.group.v1.SearchGroupsResponse\"\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\x12n\n\x08GetGroup\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\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\x42Q\n\x1d\x63o.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\"meshtrade/iam/group/v1/group.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"Q\n\x12\x43reateGroupRequest\x12;\n\x05group\x18\x01 \x01(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupB\x06\xbaH\x03\xc8\x01\x01R\x05group\"Q\n\x12UpdateGroupRequest\x12;\n\x05group\x18\x01 \x01(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupB\x06\xbaH\x03\xc8\x01\x01R\x05group\"\xc3\x02\n\x11ListGroupsRequest\x12K\n\x07sorting\x18\x01 \x01(\x0b\x32\x31.meshtrade.iam.group.v1.ListGroupsRequest.SortingR\x07sorting\x1a\xe0\x01\n\x07Sorting\x12\x9d\x01\n\x05\x66ield\x18\x01 \x01(\tB\x86\x01\xbaH\x82\x01r\x16R\x00R\x04nameR\x0c\x64isplay_name\xba\x01g\n\x0b\x66ield.valid\x12\x32\x66ield must be one of: name, display_name, or empty\x1a$this in [\'\', \'name\', \'display_name\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"K\n\x12ListGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\"\xf0\x04\n\x13SearchGroupsRequest\x12\x93\x01\n\x0c\x64isplay_name\x18\x01 \x01(\tBp\xbaHmr\x03\x18\xff\x01\xba\x01\x65\n\x17\x64isplay_name.max_length\x12\x37\x64isplay_name search term must not exceed 255 characters\x1a\x11size(this) <= 255R\x0b\x64isplayName\x12\x90\x01\n\x0b\x64\x65scription\x18\x02 \x01(\tBn\xbaHkr\x03\x18\xff\x01\xba\x01\x63\n\x16\x64\x65scription.max_length\x12\x36\x64\x65scription search term must not exceed 255 characters\x1a\x11size(this) <= 255R\x0b\x64\x65scription\x12M\n\x07sorting\x18\x03 \x01(\x0b\x32\x33.meshtrade.iam.group.v1.SearchGroupsRequest.SortingR\x07sorting\x1a\xe0\x01\n\x07Sorting\x12\x9d\x01\n\x05\x66ield\x18\x01 \x01(\tB\x86\x01\xbaH\x82\x01r\x16R\x00R\x04nameR\x0c\x64isplay_name\xba\x01g\n\x0b\x66ield.valid\x12\x32\x66ield must be one of: name, display_name, or empty\x1a$this in [\'\', \'name\', \'display_name\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"M\n\x14SearchGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\"\xf3\x02\n\x0fGetGroupRequest\x12\xdf\x02\n\x04name\x18\x01 \x01(\tB\xca\x02\xbaH\xc6\x02r3\x10\x01\x32/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\xba\x01W\n\rname.required\x12\x36name is required and must be in format groups/{ULIDv2}\x1a\x0esize(this) > 0\xba\x01\xb3\x01\n\x0bname.format\x12\x63name must be in format groups/{ULIDv2} where ulidv2 is exactly 26 uppercase alphanumeric characters\x1a?this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name2\xe3\x04\n\x0cGroupService\x12l\n\x0b\x43reateGroup\x12*.meshtrade.iam.group.v1.CreateGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc4\x8d\xb7\x01\x12l\n\x0bUpdateGroup\x12*.meshtrade.iam.group.v1.UpdateGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc4\x8d\xb7\x01\x12\x7f\n\nListGroups\x12).meshtrade.iam.group.v1.ListGroupsRequest\x1a*.meshtrade.iam.group.v1.ListGroupsResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc4\x8d\xb7\x01\xc5\x8d\xb7\x01\x12\x85\x01\n\x0cSearchGroups\x12+.meshtrade.iam.group.v1.SearchGroupsRequest\x1a,.meshtrade.iam.group.v1.SearchGroupsResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc4\x8d\xb7\x01\xc5\x8d\xb7\x01\x12n\n\x08GetGroup\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc4\x8d\xb7\x01\xc5\x8d\xb7\x01\x42R\n\x1d\x63o.meshtrade.api.iam.group.v1Z1github.com/meshtrade/api/go/iam/group/v1;group_v1b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
36
36
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.service_pb2', _globals)
37
37
  if not _descriptor._USE_C_DESCRIPTORS:
38
38
  _globals['DESCRIPTOR']._loaded_options = None
39
- _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
39
+ _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z1github.com/meshtrade/api/go/iam/group/v1;group_v1'
40
40
  _globals['_CREATEGROUPREQUEST'].fields_by_name['group']._loaded_options = None
41
41
  _globals['_CREATEGROUPREQUEST'].fields_by_name['group']._serialized_options = b'\272H\003\310\001\001'
42
42
  _globals['_UPDATEGROUPREQUEST'].fields_by_name['group']._loaded_options = None
@@ -50,17 +50,17 @@ if not _descriptor._USE_C_DESCRIPTORS:
50
50
  _globals['_SEARCHGROUPSREQUEST'].fields_by_name['description']._loaded_options = None
51
51
  _globals['_SEARCHGROUPSREQUEST'].fields_by_name['description']._serialized_options = b'\272Hkr\003\030\377\001\272\001c\n\026description.max_length\0226description search term must not exceed 255 characters\032\021size(this) <= 255'
52
52
  _globals['_GETGROUPREQUEST'].fields_by_name['name']._loaded_options = None
53
- _globals['_GETGROUPREQUEST'].fields_by_name['name']._serialized_options = b'\272H\222\002r\031\020\0012\025^groups/[0-9A-Z]{26}$\272\001W\n\rname.required\0226name is required and must be in format groups/{ULIDv2}\032\016size(this) > 0\272\001\231\001\n\013name.format\022cname must be in format groups/{ULIDv2} where ulidv2 is exactly 26 uppercase alphanumeric characters\032%this.matches(\'^groups/[0-9A-Z]{26}$\')'
53
+ _globals['_GETGROUPREQUEST'].fields_by_name['name']._serialized_options = b'\272H\306\002r3\020\0012/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\272\001W\n\rname.required\0226name is required and must be in format groups/{ULIDv2}\032\016size(this) > 0\272\001\263\001\n\013name.format\022cname must be in format groups/{ULIDv2} where ulidv2 is exactly 26 uppercase alphanumeric characters\032?this.matches(\'^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
54
54
  _globals['_GROUPSERVICE'].methods_by_name['CreateGroup']._loaded_options = None
55
- _globals['_GROUPSERVICE'].methods_by_name['CreateGroup']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\302\215\267\001'
55
+ _globals['_GROUPSERVICE'].methods_by_name['CreateGroup']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\304\215\267\001'
56
56
  _globals['_GROUPSERVICE'].methods_by_name['UpdateGroup']._loaded_options = None
57
- _globals['_GROUPSERVICE'].methods_by_name['UpdateGroup']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\302\215\267\001'
57
+ _globals['_GROUPSERVICE'].methods_by_name['UpdateGroup']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\304\215\267\001'
58
58
  _globals['_GROUPSERVICE'].methods_by_name['ListGroups']._loaded_options = None
59
- _globals['_GROUPSERVICE'].methods_by_name['ListGroups']._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'
59
+ _globals['_GROUPSERVICE'].methods_by_name['ListGroups']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\304\215\267\001\305\215\267\001'
60
60
  _globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._loaded_options = None
61
- _globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._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'
61
+ _globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\304\215\267\001\305\215\267\001'
62
62
  _globals['_GROUPSERVICE'].methods_by_name['GetGroup']._loaded_options = None
63
- _globals['_GROUPSERVICE'].methods_by_name['GetGroup']._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'
63
+ _globals['_GROUPSERVICE'].methods_by_name['GetGroup']._serialized_options = b'\240\265\030\001\252\265\030\022\n\020\300\215\267\001\301\215\267\001\304\215\267\001\305\215\267\001'
64
64
  _globals['_CREATEGROUPREQUEST']._serialized_start=235
65
65
  _globals['_CREATEGROUPREQUEST']._serialized_end=316
66
66
  _globals['_UPDATEGROUPREQUEST']._serialized_start=318
@@ -78,7 +78,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
78
78
  _globals['_SEARCHGROUPSRESPONSE']._serialized_start=1431
79
79
  _globals['_SEARCHGROUPSRESPONSE']._serialized_end=1508
80
80
  _globals['_GETGROUPREQUEST']._serialized_start=1511
81
- _globals['_GETGROUPREQUEST']._serialized_end=1830
82
- _globals['_GROUPSERVICE']._serialized_start=1833
83
- _globals['_GROUPSERVICE']._serialized_end=2444
81
+ _globals['_GETGROUPREQUEST']._serialized_end=1882
82
+ _globals['_GROUPSERVICE']._serialized_start=1885
83
+ _globals['_GROUPSERVICE']._serialized_end=2496
84
84
  # @@protoc_insertion_point(module_scope)
@@ -25,16 +25,16 @@ _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*\xa7\x03\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\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\x1b\n\x14ROLE_IAM_GROUP_ADMIN\x10\xc2\x8d\xb7\x01\x12\x1c\n\x15ROLE_IAM_GROUP_VIEWER\x10\xc3\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\x05rolesBN\n\x1c\x63o.meshtrade.api.iam.role.v1Z.github.com/meshtrade/api/go/iam/role/v1;rolev1b\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*\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')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
32
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.role.v1.role_pb2', _globals)
33
33
  if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['DESCRIPTOR']._loaded_options = None
35
- _globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.role.v1Z.github.com/meshtrade/api/go/iam/role/v1;rolev1'
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=580
37
+ _globals['_ROLE']._serialized_end=712
38
38
  _globals['_ROLELIST']._serialized_start=93
39
39
  _globals['_ROLELIST']._serialized_end=154
40
40
  # @@protoc_insertion_point(module_scope)
@@ -13,10 +13,14 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
13
13
  ROLE_UNSPECIFIED: _ClassVar[Role]
14
14
  ROLE_WALLET_ADMIN: _ClassVar[Role]
15
15
  ROLE_WALLET_VIEWER: _ClassVar[Role]
16
+ ROLE_WALLET_ACCOUNT_ADMIN: _ClassVar[Role]
17
+ ROLE_WALLET_ACCOUNT_VIEWER: _ClassVar[Role]
16
18
  ROLE_COMPLIANCE_ADMIN: _ClassVar[Role]
17
19
  ROLE_COMPLIANCE_VIEWER: _ClassVar[Role]
18
20
  ROLE_IAM_ADMIN: _ClassVar[Role]
19
21
  ROLE_IAM_VIEWER: _ClassVar[Role]
22
+ ROLE_IAM_API_USER_ADMIN: _ClassVar[Role]
23
+ ROLE_IAM_API_USER_VIEWER: _ClassVar[Role]
20
24
  ROLE_IAM_GROUP_ADMIN: _ClassVar[Role]
21
25
  ROLE_IAM_GROUP_VIEWER: _ClassVar[Role]
22
26
  ROLE_ISSUANCE_HUB_ADMIN: _ClassVar[Role]
@@ -28,10 +32,14 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
28
32
  ROLE_UNSPECIFIED: Role
29
33
  ROLE_WALLET_ADMIN: Role
30
34
  ROLE_WALLET_VIEWER: Role
35
+ ROLE_WALLET_ACCOUNT_ADMIN: Role
36
+ ROLE_WALLET_ACCOUNT_VIEWER: Role
31
37
  ROLE_COMPLIANCE_ADMIN: Role
32
38
  ROLE_COMPLIANCE_VIEWER: Role
33
39
  ROLE_IAM_ADMIN: Role
34
40
  ROLE_IAM_VIEWER: Role
41
+ ROLE_IAM_API_USER_ADMIN: Role
42
+ ROLE_IAM_API_USER_VIEWER: Role
35
43
  ROLE_IAM_GROUP_ADMIN: Role
36
44
  ROLE_IAM_GROUP_VIEWER: Role
37
45
  ROLE_ISSUANCE_HUB_ADMIN: Role
@@ -14,7 +14,16 @@
14
14
 
15
15
  # Generated protobuf imports
16
16
  from .user_pb2 import User
17
- from .service_pb2 import AssignRoleToUserRequest
17
+ from .service_pb2 import (
18
+ AssignRoleToUserRequest,
19
+ CreateUserRequest,
20
+ GetUserRequest,
21
+ ListUsersRequest,
22
+ ListUsersResponse,
23
+ SearchUsersRequest,
24
+ SearchUsersResponse,
25
+ UpdateUserRequest,
26
+ )
18
27
 
19
28
  # Generated service imports
20
29
  from .service_meshpy import (
@@ -46,6 +55,13 @@ __all__ = [
46
55
  # Generated exports
47
56
  "AssignRoleToUserRequest",
48
57
  "ClientOptions",
58
+ "CreateUserRequest",
59
+ "GetUserRequest",
60
+ "ListUsersRequest",
61
+ "ListUsersResponse",
62
+ "SearchUsersRequest",
63
+ "SearchUsersResponse",
64
+ "UpdateUserRequest",
49
65
  "User",
50
66
  "UserService",
51
67
  "UserServiceGRPCClient",
@@ -19,6 +19,13 @@ from .user_pb2 import User
19
19
  from .service_options_meshpy import ServiceOptions
20
20
  from .service_pb2 import (
21
21
  AssignRoleToUserRequest,
22
+ CreateUserRequest,
23
+ GetUserRequest,
24
+ ListUsersRequest,
25
+ ListUsersResponse,
26
+ SearchUsersRequest,
27
+ SearchUsersResponse,
28
+ UpdateUserRequest,
22
29
  )
23
30
  from .service_pb2_grpc import UserServiceStub
24
31
 
@@ -145,6 +152,86 @@ class UserService(BaseGRPCClient):
145
152
  """
146
153
  return self._execute_method("AssignRoleToUser", request, timeout)
147
154
 
155
+ def get_user(self, request: GetUserRequest, timeout: Optional[timedelta] = None) -> User:
156
+ """GetUser method.
157
+
158
+ Args:
159
+ request: The GetUser request message
160
+ timeout: Optional timeout override for this call
161
+
162
+ Returns:
163
+ The GetUser response message
164
+
165
+ Raises:
166
+ grpc.RpcError: If the gRPC call fails
167
+ ValueError: If authentication credentials are missing
168
+ """
169
+ return self._execute_method("GetUser", request, timeout)
170
+
171
+ def list_users(self, request: ListUsersRequest, timeout: Optional[timedelta] = None) -> ListUsersResponse:
172
+ """ListUsers method.
173
+
174
+ Args:
175
+ request: The ListUsers request message
176
+ timeout: Optional timeout override for this call
177
+
178
+ Returns:
179
+ The ListUsers response message
180
+
181
+ Raises:
182
+ grpc.RpcError: If the gRPC call fails
183
+ ValueError: If authentication credentials are missing
184
+ """
185
+ return self._execute_method("ListUsers", request, timeout)
186
+
187
+ def search_users(self, request: SearchUsersRequest, timeout: Optional[timedelta] = None) -> SearchUsersResponse:
188
+ """SearchUsers method.
189
+
190
+ Args:
191
+ request: The SearchUsers request message
192
+ timeout: Optional timeout override for this call
193
+
194
+ Returns:
195
+ The SearchUsers response message
196
+
197
+ Raises:
198
+ grpc.RpcError: If the gRPC call fails
199
+ ValueError: If authentication credentials are missing
200
+ """
201
+ return self._execute_method("SearchUsers", request, timeout)
202
+
203
+ def create_user(self, request: CreateUserRequest, timeout: Optional[timedelta] = None) -> User:
204
+ """CreateUser method.
205
+
206
+ Args:
207
+ request: The CreateUser request message
208
+ timeout: Optional timeout override for this call
209
+
210
+ Returns:
211
+ The CreateUser response message
212
+
213
+ Raises:
214
+ grpc.RpcError: If the gRPC call fails
215
+ ValueError: If authentication credentials are missing
216
+ """
217
+ return self._execute_method("CreateUser", request, timeout)
218
+
219
+ def update_user(self, request: UpdateUserRequest, timeout: Optional[timedelta] = None) -> User:
220
+ """UpdateUser method.
221
+
222
+ Args:
223
+ request: The UpdateUser request message
224
+ timeout: Optional timeout override for this call
225
+
226
+ Returns:
227
+ The UpdateUser response message
228
+
229
+ Raises:
230
+ grpc.RpcError: If the gRPC call fails
231
+ ValueError: If authentication credentials are missing
232
+ """
233
+ return self._execute_method("UpdateUser", request, timeout)
234
+
148
235
 
149
236
  # Create aliases to match expected exports
150
237
  UserServiceGRPCClient = UserService
@@ -26,26 +26,63 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from meshtrade.iam.role.v1 import role_pb2 as meshtrade_dot_iam_dot_role_dot_v1_dot_role__pb2
27
27
  from meshtrade.iam.user.v1 import user_pb2 as meshtrade_dot_iam_dot_user_dot_v1_dot_user__pb2
28
28
  from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_dot_method__type__pb2
29
+ from meshtrade.type.v1 import sorting_pb2 as meshtrade_dot_type_dot_v1_dot_sorting__pb2
29
30
 
30
31
 
31
- 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\"\x88\x04\n\x17\x41ssignRoleToUserRequest\x12\xac\x01\n\x05\x65mail\x18\x01 \x01(\tB\x95\x01\xbaH\x91\x01r7\x10\x01\x18\xfe\x01\x32\x30^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$\xba\x01U\n\x0e\x65mail.required\x12\x33\x65mail is required and must be a valid email address\x1a\x0esize(this) > 0R\x05\x65mail\x12\x9b\x01\n\x05group\x18\x02 \x01(\tB\x84\x01\xbaH\x80\x01r\x05\x10\x01\x18\xff\x01\xba\x01v\n\x0egroup.required\x12?group name is required and must be between 1 and 255 characters\x1a#size(this) > 0 && size(this) <= 255R\x05group\x12\x9f\x01\n\x04role\x18\x03 \x01(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleBn\xbaHk\x82\x01\x04\x10\x01 \x00\xba\x01\x61\n\rrole.required\x12@role is required and must be a valid role type (not UNSPECIFIED)\x1a\x0eint(this) != 0R\x04role2~\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\x42N\n\x1c\x63o.meshtrade.api.iam.user.v1Z.github.com/meshtrade/api/go/iam/user/v1;userv1b\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\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
33
 
33
34
  _globals = globals()
34
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
36
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.user.v1.service_pb2', _globals)
36
37
  if not _descriptor._USE_C_DESCRIPTORS:
37
38
  _globals['DESCRIPTOR']._loaded_options = None
38
- _globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.user.v1Z.github.com/meshtrade/api/go/iam/user/v1;userv1'
39
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['email']._loaded_options = None
40
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['email']._serialized_options = b'\272H\221\001r7\020\001\030\376\00120^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$\272\001U\n\016email.required\0223email is required and must be a valid email address\032\016size(this) > 0'
41
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['group']._loaded_options = None
42
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['group']._serialized_options = b'\272H\200\001r\005\020\001\030\377\001\272\001v\n\016group.required\022?group name is required and must be between 1 and 255 characters\032#size(this) > 0 && size(this) <= 255'
39
+ _globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1'
40
+ _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['name']._loaded_options = None
41
+ _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001 '
43
42
  _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._loaded_options = None
44
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272Hk\202\001\004\020\001 \000\272\001a\n\rrole.required\022@role is required and must be a valid role type (not UNSPECIFIED)\032\016int(this) != 0'
43
+ _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HCr>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\230\001)\310\001\001'
44
+ _globals['_GETUSERREQUEST'].fields_by_name['name']._loaded_options = None
45
+ _globals['_GETUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001 \310\001\001'
46
+ _globals['_LISTUSERSREQUEST_SORTING'].fields_by_name['field']._loaded_options = None
47
+ _globals['_LISTUSERSREQUEST_SORTING'].fields_by_name['field']._serialized_options = b'\272HYr\tR\000R\005email\272\001K\n\013field.valid\022%field must be one of: email, or empty\032\025this in [\'\', \'email\']'
48
+ _globals['_SEARCHUSERSREQUEST_SORTING'].fields_by_name['field']._loaded_options = None
49
+ _globals['_SEARCHUSERSREQUEST_SORTING'].fields_by_name['field']._serialized_options = b'\272HYr\tR\000R\005email\272\001K\n\013field.valid\022%field must be one of: email, or empty\032\025this in [\'\', \'email\']'
50
+ _globals['_CREATEUSERREQUEST'].fields_by_name['user']._loaded_options = None
51
+ _globals['_CREATEUSERREQUEST'].fields_by_name['user']._serialized_options = b'\272H\003\310\001\001'
52
+ _globals['_UPDATEUSERREQUEST'].fields_by_name['user']._loaded_options = None
53
+ _globals['_UPDATEUSERREQUEST'].fields_by_name['user']._serialized_options = b'\272H\003\310\001\001'
45
54
  _globals['_USERSERVICE'].methods_by_name['AssignRoleToUser']._loaded_options = None
46
55
  _globals['_USERSERVICE'].methods_by_name['AssignRoleToUser']._serialized_options = b'\240\265\030\002\252\265\030\006\n\004\300\215\267\001'
47
- _globals['_ASSIGNROLETOUSERREQUEST']._serialized_start=199
48
- _globals['_ASSIGNROLETOUSERREQUEST']._serialized_end=719
49
- _globals['_USERSERVICE']._serialized_start=721
50
- _globals['_USERSERVICE']._serialized_end=847
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'
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'
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'
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'
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'
66
+ _globals['_ASSIGNROLETOUSERREQUEST']._serialized_start=232
67
+ _globals['_ASSIGNROLETOUSERREQUEST']._serialized_end=427
68
+ _globals['_GETUSERREQUEST']._serialized_start=429
69
+ _globals['_GETUSERREQUEST']._serialized_end=526
70
+ _globals['_LISTUSERSREQUEST']._serialized_start=529
71
+ _globals['_LISTUSERSREQUEST']._serialized_end=805
72
+ _globals['_LISTUSERSREQUEST_SORTING']._serialized_start=625
73
+ _globals['_LISTUSERSREQUEST_SORTING']._serialized_end=805
74
+ _globals['_LISTUSERSRESPONSE']._serialized_start=807
75
+ _globals['_LISTUSERSRESPONSE']._serialized_end=877
76
+ _globals['_SEARCHUSERSREQUEST']._serialized_start=880
77
+ _globals['_SEARCHUSERSREQUEST']._serialized_end=1182
78
+ _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_start=625
79
+ _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_end=805
80
+ _globals['_SEARCHUSERSRESPONSE']._serialized_start=1184
81
+ _globals['_SEARCHUSERSRESPONSE']._serialized_end=1256
82
+ _globals['_CREATEUSERREQUEST']._serialized_start=1258
83
+ _globals['_CREATEUSERREQUEST']._serialized_end=1334
84
+ _globals['_UPDATEUSERREQUEST']._serialized_start=1336
85
+ _globals['_UPDATEUSERREQUEST']._serialized_end=1412
86
+ _globals['_USERSERVICE']._serialized_start=1415
87
+ _globals['_USERSERVICE']._serialized_end=2080
51
88
  # @@protoc_insertion_point(module_scope)
@@ -2,18 +2,77 @@ from buf.validate import validate_pb2 as _validate_pb2
2
2
  from meshtrade.iam.role.v1 import role_pb2 as _role_pb2
3
3
  from meshtrade.iam.user.v1 import user_pb2 as _user_pb2
4
4
  from meshtrade.option.v1 import method_type_pb2 as _method_type_pb2
5
+ from meshtrade.type.v1 import sorting_pb2 as _sorting_pb2
6
+ from google.protobuf.internal import containers as _containers
5
7
  from google.protobuf import descriptor as _descriptor
6
8
  from google.protobuf import message as _message
9
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
7
10
  from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
8
11
 
9
12
  DESCRIPTOR: _descriptor.FileDescriptor
10
13
 
11
14
  class AssignRoleToUserRequest(_message.Message):
12
- __slots__ = ("email", "group", "role")
13
- EMAIL_FIELD_NUMBER: _ClassVar[int]
14
- GROUP_FIELD_NUMBER: _ClassVar[int]
15
+ __slots__ = ("name", "role")
16
+ NAME_FIELD_NUMBER: _ClassVar[int]
15
17
  ROLE_FIELD_NUMBER: _ClassVar[int]
18
+ name: str
19
+ role: str
20
+ def __init__(self, name: _Optional[str] = ..., role: _Optional[str] = ...) -> None: ...
21
+
22
+ class GetUserRequest(_message.Message):
23
+ __slots__ = ("name",)
24
+ NAME_FIELD_NUMBER: _ClassVar[int]
25
+ name: str
26
+ def __init__(self, name: _Optional[str] = ...) -> None: ...
27
+
28
+ class ListUsersRequest(_message.Message):
29
+ __slots__ = ("sorting",)
30
+ class Sorting(_message.Message):
31
+ __slots__ = ("field", "order")
32
+ FIELD_FIELD_NUMBER: _ClassVar[int]
33
+ ORDER_FIELD_NUMBER: _ClassVar[int]
34
+ field: str
35
+ order: _sorting_pb2.SortingOrder
36
+ def __init__(self, field: _Optional[str] = ..., order: _Optional[_Union[_sorting_pb2.SortingOrder, str]] = ...) -> None: ...
37
+ SORTING_FIELD_NUMBER: _ClassVar[int]
38
+ sorting: ListUsersRequest.Sorting
39
+ def __init__(self, sorting: _Optional[_Union[ListUsersRequest.Sorting, _Mapping]] = ...) -> None: ...
40
+
41
+ class ListUsersResponse(_message.Message):
42
+ __slots__ = ("users",)
43
+ USERS_FIELD_NUMBER: _ClassVar[int]
44
+ users: _containers.RepeatedCompositeFieldContainer[_user_pb2.User]
45
+ def __init__(self, users: _Optional[_Iterable[_Union[_user_pb2.User, _Mapping]]] = ...) -> None: ...
46
+
47
+ class SearchUsersRequest(_message.Message):
48
+ __slots__ = ("email", "sorting")
49
+ class Sorting(_message.Message):
50
+ __slots__ = ("field", "order")
51
+ FIELD_FIELD_NUMBER: _ClassVar[int]
52
+ ORDER_FIELD_NUMBER: _ClassVar[int]
53
+ field: str
54
+ order: _sorting_pb2.SortingOrder
55
+ def __init__(self, field: _Optional[str] = ..., order: _Optional[_Union[_sorting_pb2.SortingOrder, str]] = ...) -> None: ...
56
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
57
+ SORTING_FIELD_NUMBER: _ClassVar[int]
16
58
  email: str
17
- group: str
18
- role: _role_pb2.Role
19
- def __init__(self, email: _Optional[str] = ..., group: _Optional[str] = ..., role: _Optional[_Union[_role_pb2.Role, str]] = ...) -> None: ...
59
+ sorting: SearchUsersRequest.Sorting
60
+ def __init__(self, email: _Optional[str] = ..., sorting: _Optional[_Union[SearchUsersRequest.Sorting, _Mapping]] = ...) -> None: ...
61
+
62
+ class SearchUsersResponse(_message.Message):
63
+ __slots__ = ("users",)
64
+ USERS_FIELD_NUMBER: _ClassVar[int]
65
+ users: _containers.RepeatedCompositeFieldContainer[_user_pb2.User]
66
+ def __init__(self, users: _Optional[_Iterable[_Union[_user_pb2.User, _Mapping]]] = ...) -> None: ...
67
+
68
+ class CreateUserRequest(_message.Message):
69
+ __slots__ = ("user",)
70
+ USER_FIELD_NUMBER: _ClassVar[int]
71
+ user: _user_pb2.User
72
+ def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ...) -> None: ...
73
+
74
+ class UpdateUserRequest(_message.Message):
75
+ __slots__ = ("user",)
76
+ USER_FIELD_NUMBER: _ClassVar[int]
77
+ user: _user_pb2.User
78
+ def __init__(self, user: _Optional[_Union[_user_pb2.User, _Mapping]] = ...) -> None: ...