meshtrade 1.3.0__py3-none-any.whl → 1.5.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.

@@ -15,11 +15,13 @@
15
15
  # Generated protobuf imports
16
16
  from .group_pb2 import Group
17
17
  from .service_pb2 import (
18
+ CreateGroupRequest,
18
19
  GetGroupRequest,
19
20
  ListGroupsRequest,
20
21
  ListGroupsResponse,
21
22
  SearchGroupsRequest,
22
23
  SearchGroupsResponse,
24
+ UpdateGroupRequest,
23
25
  )
24
26
 
25
27
  # Generated service imports
@@ -51,6 +53,7 @@ from .service_options_meshpy import ClientOptions
51
53
  __all__ = [
52
54
  # Generated exports
53
55
  "ClientOptions",
56
+ "CreateGroupRequest",
54
57
  "GetGroupRequest",
55
58
  "Group",
56
59
  "GroupService",
@@ -60,4 +63,5 @@ __all__ = [
60
63
  "ListGroupsResponse",
61
64
  "SearchGroupsRequest",
62
65
  "SearchGroupsResponse",
66
+ "UpdateGroupRequest",
63
67
  ]
@@ -22,9 +22,10 @@ _runtime_version.ValidateProtobufRuntimeVersion(
22
22
  _sym_db = _symbol_database.Default()
23
23
 
24
24
 
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
25
26
 
26
27
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"meshtrade/iam/group/v1/group.proto\x12\x16meshtrade.iam.group.v1\"\x1b\n\x05Group\x12\x12\n\x04name\x18\x01 \x01(\tR\x04nameBQ\n\x1d\x63o.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
28
+ 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
29
 
29
30
  _globals = globals()
30
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,6 +33,14 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.grou
32
33
  if not _descriptor._USE_C_DESCRIPTORS:
33
34
  _globals['DESCRIPTOR']._loaded_options = None
34
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
35
- _globals['_GROUP']._serialized_start=62
36
- _globals['_GROUP']._serialized_end=89
36
+ _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}$\')'
38
+ _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}$\')'
40
+ _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'
42
+ _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'
44
+ _globals['_GROUP']._serialized_start=92
45
+ _globals['_GROUP']._serialized_end=975
37
46
  # @@protoc_insertion_point(module_scope)
@@ -1,11 +1,22 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.protobuf.internal import containers as _containers
1
3
  from google.protobuf import descriptor as _descriptor
2
4
  from google.protobuf import message as _message
5
+ from collections.abc import Iterable as _Iterable
3
6
  from typing import ClassVar as _ClassVar, Optional as _Optional
4
7
 
5
8
  DESCRIPTOR: _descriptor.FileDescriptor
6
9
 
7
10
  class Group(_message.Message):
8
- __slots__ = ("name",)
11
+ __slots__ = ("name", "owner", "owners", "display_name", "description")
9
12
  NAME_FIELD_NUMBER: _ClassVar[int]
13
+ OWNER_FIELD_NUMBER: _ClassVar[int]
14
+ OWNERS_FIELD_NUMBER: _ClassVar[int]
15
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
16
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
10
17
  name: str
11
- def __init__(self, name: _Optional[str] = ...) -> None: ...
18
+ owner: str
19
+ owners: _containers.RepeatedScalarFieldContainer[str]
20
+ display_name: str
21
+ 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,11 +18,13 @@ from meshtrade.iam.api_user.v1.api_credentials import find_credentials
18
18
  from .group_pb2 import Group
19
19
  from .service_options_meshpy import ServiceOptions
20
20
  from .service_pb2 import (
21
+ CreateGroupRequest,
21
22
  GetGroupRequest,
22
23
  ListGroupsRequest,
23
24
  ListGroupsResponse,
24
25
  SearchGroupsRequest,
25
26
  SearchGroupsResponse,
27
+ UpdateGroupRequest,
26
28
  )
27
29
  from .service_pb2_grpc import GroupServiceStub
28
30
 
@@ -133,21 +135,37 @@ class GroupService(BaseGRPCClient):
133
135
  tls=options.tls,
134
136
  )
135
137
 
136
- def get_group(self, request: GetGroupRequest, timeout: Optional[timedelta] = None) -> Group:
137
- """GetGroup method.
138
+ def create_group(self, request: CreateGroupRequest, timeout: Optional[timedelta] = None) -> Group:
139
+ """CreateGroup method.
138
140
 
139
141
  Args:
140
- request: The GetGroup request message
142
+ request: The CreateGroup request message
141
143
  timeout: Optional timeout override for this call
142
144
 
143
145
  Returns:
144
- The GetGroup response message
146
+ The CreateGroup response message
145
147
 
146
148
  Raises:
147
149
  grpc.RpcError: If the gRPC call fails
148
150
  ValueError: If authentication credentials are missing
149
151
  """
150
- return self._execute_method("GetGroup", request, timeout)
152
+ return self._execute_method("CreateGroup", request, timeout)
153
+
154
+ def update_group(self, request: UpdateGroupRequest, timeout: Optional[timedelta] = None) -> Group:
155
+ """UpdateGroup method.
156
+
157
+ Args:
158
+ request: The UpdateGroup request message
159
+ timeout: Optional timeout override for this call
160
+
161
+ Returns:
162
+ The UpdateGroup response message
163
+
164
+ Raises:
165
+ grpc.RpcError: If the gRPC call fails
166
+ ValueError: If authentication credentials are missing
167
+ """
168
+ return self._execute_method("UpdateGroup", request, timeout)
151
169
 
152
170
  def list_groups(self, request: ListGroupsRequest, timeout: Optional[timedelta] = None) -> ListGroupsResponse:
153
171
  """ListGroups method.
@@ -181,6 +199,22 @@ class GroupService(BaseGRPCClient):
181
199
  """
182
200
  return self._execute_method("SearchGroups", request, timeout)
183
201
 
202
+ def get_group(self, request: GetGroupRequest, timeout: Optional[timedelta] = None) -> Group:
203
+ """GetGroup method.
204
+
205
+ Args:
206
+ request: The GetGroup request message
207
+ timeout: Optional timeout override for this call
208
+
209
+ Returns:
210
+ The GetGroup response message
211
+
212
+ Raises:
213
+ grpc.RpcError: If the gRPC call fails
214
+ ValueError: If authentication credentials are missing
215
+ """
216
+ return self._execute_method("GetGroup", request, timeout)
217
+
184
218
 
185
219
  # Create aliases to match expected exports
186
220
  GroupServiceGRPCClient = GroupService
@@ -22,12 +22,14 @@ _runtime_version.ValidateProtobufRuntimeVersion(
22
22
  _sym_db = _symbol_database.Default()
23
23
 
24
24
 
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
25
26
  from meshtrade.iam.group.v1 import group_pb2 as meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2
26
27
  from meshtrade.iam.role.v1 import role_pb2 as meshtrade_dot_iam_dot_role_dot_v1_dot_role__pb2
27
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
28
30
 
29
31
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\"meshtrade/iam/group/v1/group.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"%\n\x0fGetGroupRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x13\n\x11ListGroupsRequest\"K\n\x12ListGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\")\n\x13SearchGroupsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"M\n\x14SearchGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups2\xee\x02\n\x0cGroupService\x12\x66\n\x08GetGroup\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\x12w\n\nListGroups\x12).meshtrade.iam.group.v1.ListGroupsRequest\x1a*.meshtrade.iam.group.v1.ListGroupsResponse\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\x12}\n\x0cSearchGroups\x12+.meshtrade.iam.group.v1.SearchGroupsRequest\x1a,.meshtrade.iam.group.v1.SearchGroupsResponse\"\x12\xa0\xb5\x18\x01\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc1\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\"\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')
31
33
 
32
34
  _globals = globals()
33
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,22 +37,48 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.serv
35
37
  if not _descriptor._USE_C_DESCRIPTORS:
36
38
  _globals['DESCRIPTOR']._loaded_options = None
37
39
  _globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
38
- _globals['_GROUPSERVICE'].methods_by_name['GetGroup']._loaded_options = None
39
- _globals['_GROUPSERVICE'].methods_by_name['GetGroup']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\215\267\001'
40
+ _globals['_CREATEGROUPREQUEST'].fields_by_name['group']._loaded_options = None
41
+ _globals['_CREATEGROUPREQUEST'].fields_by_name['group']._serialized_options = b'\272H\003\310\001\001'
42
+ _globals['_UPDATEGROUPREQUEST'].fields_by_name['group']._loaded_options = None
43
+ _globals['_UPDATEGROUPREQUEST'].fields_by_name['group']._serialized_options = b'\272H\003\310\001\001'
44
+ _globals['_LISTGROUPSREQUEST_SORTING'].fields_by_name['field']._loaded_options = None
45
+ _globals['_LISTGROUPSREQUEST_SORTING'].fields_by_name['field']._serialized_options = b'\272H\202\001r\026R\000R\004nameR\014display_name\272\001g\n\013field.valid\0222field must be one of: name, display_name, or empty\032$this in [\'\', \'name\', \'display_name\']'
46
+ _globals['_SEARCHGROUPSREQUEST_SORTING'].fields_by_name['field']._loaded_options = None
47
+ _globals['_SEARCHGROUPSREQUEST_SORTING'].fields_by_name['field']._serialized_options = b'\272H\202\001r\026R\000R\004nameR\014display_name\272\001g\n\013field.valid\0222field must be one of: name, display_name, or empty\032$this in [\'\', \'name\', \'display_name\']'
48
+ _globals['_SEARCHGROUPSREQUEST'].fields_by_name['display_name']._loaded_options = None
49
+ _globals['_SEARCHGROUPSREQUEST'].fields_by_name['display_name']._serialized_options = b'\272Hmr\003\030\377\001\272\001e\n\027display_name.max_length\0227display_name search term must not exceed 255 characters\032\021size(this) <= 255'
50
+ _globals['_SEARCHGROUPSREQUEST'].fields_by_name['description']._loaded_options = None
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
+ _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}$\')'
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'
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'
40
58
  _globals['_GROUPSERVICE'].methods_by_name['ListGroups']._loaded_options = None
41
- _globals['_GROUPSERVICE'].methods_by_name['ListGroups']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\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\302\215\267\001\303\215\267\001'
42
60
  _globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._loaded_options = None
43
- _globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._serialized_options = b'\240\265\030\001\252\265\030\n\n\010\300\215\267\001\301\215\267\001'
44
- _globals['_GETGROUPREQUEST']._serialized_start=173
45
- _globals['_GETGROUPREQUEST']._serialized_end=210
46
- _globals['_LISTGROUPSREQUEST']._serialized_start=212
47
- _globals['_LISTGROUPSREQUEST']._serialized_end=231
48
- _globals['_LISTGROUPSRESPONSE']._serialized_start=233
49
- _globals['_LISTGROUPSRESPONSE']._serialized_end=308
50
- _globals['_SEARCHGROUPSREQUEST']._serialized_start=310
51
- _globals['_SEARCHGROUPSREQUEST']._serialized_end=351
52
- _globals['_SEARCHGROUPSRESPONSE']._serialized_start=353
53
- _globals['_SEARCHGROUPSRESPONSE']._serialized_end=430
54
- _globals['_GROUPSERVICE']._serialized_start=433
55
- _globals['_GROUPSERVICE']._serialized_end=799
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'
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'
64
+ _globals['_CREATEGROUPREQUEST']._serialized_start=235
65
+ _globals['_CREATEGROUPREQUEST']._serialized_end=316
66
+ _globals['_UPDATEGROUPREQUEST']._serialized_start=318
67
+ _globals['_UPDATEGROUPREQUEST']._serialized_end=399
68
+ _globals['_LISTGROUPSREQUEST']._serialized_start=402
69
+ _globals['_LISTGROUPSREQUEST']._serialized_end=725
70
+ _globals['_LISTGROUPSREQUEST_SORTING']._serialized_start=501
71
+ _globals['_LISTGROUPSREQUEST_SORTING']._serialized_end=725
72
+ _globals['_LISTGROUPSRESPONSE']._serialized_start=727
73
+ _globals['_LISTGROUPSRESPONSE']._serialized_end=802
74
+ _globals['_SEARCHGROUPSREQUEST']._serialized_start=805
75
+ _globals['_SEARCHGROUPSREQUEST']._serialized_end=1429
76
+ _globals['_SEARCHGROUPSREQUEST_SORTING']._serialized_start=501
77
+ _globals['_SEARCHGROUPSREQUEST_SORTING']._serialized_end=725
78
+ _globals['_SEARCHGROUPSRESPONSE']._serialized_start=1431
79
+ _globals['_SEARCHGROUPSRESPONSE']._serialized_end=1508
80
+ _globals['_GETGROUPREQUEST']._serialized_start=1511
81
+ _globals['_GETGROUPREQUEST']._serialized_end=1830
82
+ _globals['_GROUPSERVICE']._serialized_start=1833
83
+ _globals['_GROUPSERVICE']._serialized_end=2444
56
84
  # @@protoc_insertion_point(module_scope)
@@ -1,6 +1,8 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
1
2
  from meshtrade.iam.group.v1 import group_pb2 as _group_pb2
2
3
  from meshtrade.iam.role.v1 import role_pb2 as _role_pb2
3
4
  from meshtrade.option.v1 import method_type_pb2 as _method_type_pb2
5
+ from meshtrade.type.v1 import sorting_pb2 as _sorting_pb2
4
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,15 +11,30 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
9
11
 
10
12
  DESCRIPTOR: _descriptor.FileDescriptor
11
13
 
12
- class GetGroupRequest(_message.Message):
13
- __slots__ = ("name",)
14
- NAME_FIELD_NUMBER: _ClassVar[int]
15
- name: str
16
- def __init__(self, name: _Optional[str] = ...) -> None: ...
14
+ class CreateGroupRequest(_message.Message):
15
+ __slots__ = ("group",)
16
+ GROUP_FIELD_NUMBER: _ClassVar[int]
17
+ group: _group_pb2.Group
18
+ def __init__(self, group: _Optional[_Union[_group_pb2.Group, _Mapping]] = ...) -> None: ...
19
+
20
+ class UpdateGroupRequest(_message.Message):
21
+ __slots__ = ("group",)
22
+ GROUP_FIELD_NUMBER: _ClassVar[int]
23
+ group: _group_pb2.Group
24
+ def __init__(self, group: _Optional[_Union[_group_pb2.Group, _Mapping]] = ...) -> None: ...
17
25
 
18
26
  class ListGroupsRequest(_message.Message):
19
- __slots__ = ()
20
- def __init__(self) -> None: ...
27
+ __slots__ = ("sorting",)
28
+ class Sorting(_message.Message):
29
+ __slots__ = ("field", "order")
30
+ FIELD_FIELD_NUMBER: _ClassVar[int]
31
+ ORDER_FIELD_NUMBER: _ClassVar[int]
32
+ field: str
33
+ order: _sorting_pb2.SortingOrder
34
+ def __init__(self, field: _Optional[str] = ..., order: _Optional[_Union[_sorting_pb2.SortingOrder, str]] = ...) -> None: ...
35
+ SORTING_FIELD_NUMBER: _ClassVar[int]
36
+ sorting: ListGroupsRequest.Sorting
37
+ def __init__(self, sorting: _Optional[_Union[ListGroupsRequest.Sorting, _Mapping]] = ...) -> None: ...
21
38
 
22
39
  class ListGroupsResponse(_message.Message):
23
40
  __slots__ = ("groups",)
@@ -26,13 +43,30 @@ class ListGroupsResponse(_message.Message):
26
43
  def __init__(self, groups: _Optional[_Iterable[_Union[_group_pb2.Group, _Mapping]]] = ...) -> None: ...
27
44
 
28
45
  class SearchGroupsRequest(_message.Message):
29
- __slots__ = ("name",)
30
- NAME_FIELD_NUMBER: _ClassVar[int]
31
- name: str
32
- def __init__(self, name: _Optional[str] = ...) -> None: ...
46
+ __slots__ = ("display_name", "description", "sorting")
47
+ class Sorting(_message.Message):
48
+ __slots__ = ("field", "order")
49
+ FIELD_FIELD_NUMBER: _ClassVar[int]
50
+ ORDER_FIELD_NUMBER: _ClassVar[int]
51
+ field: str
52
+ order: _sorting_pb2.SortingOrder
53
+ def __init__(self, field: _Optional[str] = ..., order: _Optional[_Union[_sorting_pb2.SortingOrder, str]] = ...) -> None: ...
54
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
55
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
56
+ SORTING_FIELD_NUMBER: _ClassVar[int]
57
+ display_name: str
58
+ description: str
59
+ sorting: SearchGroupsRequest.Sorting
60
+ def __init__(self, display_name: _Optional[str] = ..., description: _Optional[str] = ..., sorting: _Optional[_Union[SearchGroupsRequest.Sorting, _Mapping]] = ...) -> None: ...
33
61
 
34
62
  class SearchGroupsResponse(_message.Message):
35
63
  __slots__ = ("groups",)
36
64
  GROUPS_FIELD_NUMBER: _ClassVar[int]
37
65
  groups: _containers.RepeatedCompositeFieldContainer[_group_pb2.Group]
38
66
  def __init__(self, groups: _Optional[_Iterable[_Union[_group_pb2.Group, _Mapping]]] = ...) -> None: ...
67
+
68
+ class GetGroupRequest(_message.Message):
69
+ __slots__ = ("name",)
70
+ NAME_FIELD_NUMBER: _ClassVar[int]
71
+ name: str
72
+ def __init__(self, name: _Optional[str] = ...) -> None: ...
@@ -7,7 +7,17 @@ from meshtrade.iam.group.v1 import service_pb2 as meshtrade_dot_iam_dot_group_do
7
7
 
8
8
 
9
9
  class GroupServiceStub(object):
10
- """Missing associated documentation comment in .proto file."""
10
+ """
11
+ GroupService manages organizational group hierarchy and lifecycle operations.
12
+
13
+ Groups are the fundamental multi-tenancy units in Mesh that own resources,
14
+ define permission boundaries, and enable hierarchical access control.
15
+ Each group can own sub-groups, users, API users, and platform resources,
16
+ forming tree structures for inherited permissions and resource isolation.
17
+
18
+ All operations are scoped to the authenticated group's hierarchy and
19
+ require appropriate IAM domain permissions.
20
+ """
11
21
 
12
22
  def __init__(self, channel):
13
23
  """Constructor.
@@ -15,9 +25,14 @@ class GroupServiceStub(object):
15
25
  Args:
16
26
  channel: A grpc.Channel.
17
27
  """
18
- self.GetGroup = channel.unary_unary(
19
- '/meshtrade.iam.group.v1.GroupService/GetGroup',
20
- request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
28
+ self.CreateGroup = channel.unary_unary(
29
+ '/meshtrade.iam.group.v1.GroupService/CreateGroup',
30
+ request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.CreateGroupRequest.SerializeToString,
31
+ response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
32
+ _registered_method=True)
33
+ self.UpdateGroup = channel.unary_unary(
34
+ '/meshtrade.iam.group.v1.GroupService/UpdateGroup',
35
+ request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.UpdateGroupRequest.SerializeToString,
21
36
  response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
22
37
  _registered_method=True)
23
38
  self.ListGroups = channel.unary_unary(
@@ -30,14 +45,43 @@ class GroupServiceStub(object):
30
45
  request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsRequest.SerializeToString,
31
46
  response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsResponse.FromString,
32
47
  _registered_method=True)
48
+ self.GetGroup = channel.unary_unary(
49
+ '/meshtrade.iam.group.v1.GroupService/GetGroup',
50
+ request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
51
+ response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
52
+ _registered_method=True)
33
53
 
34
54
 
35
55
  class GroupServiceServicer(object):
36
- """Missing associated documentation comment in .proto file."""
56
+ """
57
+ GroupService manages organizational group hierarchy and lifecycle operations.
37
58
 
38
- def GetGroup(self, request, context):
59
+ Groups are the fundamental multi-tenancy units in Mesh that own resources,
60
+ define permission boundaries, and enable hierarchical access control.
61
+ Each group can own sub-groups, users, API users, and platform resources,
62
+ forming tree structures for inherited permissions and resource isolation.
63
+
64
+ All operations are scoped to the authenticated group's hierarchy and
65
+ require appropriate IAM domain permissions.
66
+ """
67
+
68
+ def CreateGroup(self, request, context):
69
+ """
70
+ Creates a new child group within the authenticated group's hierarchy.
71
+
72
+ The new group inherits access from its parent and becomes part of the
73
+ organizational structure. Group ownership must match the executing context.
74
+ """
75
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
76
+ context.set_details('Method not implemented!')
77
+ raise NotImplementedError('Method not implemented!')
78
+
79
+ def UpdateGroup(self, request, context):
39
80
  """
40
- Get Specific Group.
81
+ Updates an existing group's display name and description metadata.
82
+
83
+ Only mutable fields can be modified while preserving the group's
84
+ identity and ownership within the hierarchy.
41
85
  """
42
86
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
43
87
  context.set_details('Method not implemented!')
@@ -45,7 +89,10 @@ class GroupServiceServicer(object):
45
89
 
46
90
  def ListGroups(self, request, context):
47
91
  """
48
- Get all groups
92
+ Retrieves all groups within the authenticated group's hierarchical scope.
93
+
94
+ Returns the complete organizational structure accessible to the executing
95
+ context, including the root group and all descendant groups.
49
96
  """
50
97
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
51
98
  context.set_details('Method not implemented!')
@@ -53,7 +100,21 @@ class GroupServiceServicer(object):
53
100
 
54
101
  def SearchGroups(self, request, context):
55
102
  """
56
- Get all groups with search filtering options.
103
+ Searches groups using flexible text criteria within the hierarchy.
104
+
105
+ Performs case-insensitive substring matching on display names and
106
+ descriptions using OR logic across search terms.
107
+ """
108
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
109
+ context.set_details('Method not implemented!')
110
+ raise NotImplementedError('Method not implemented!')
111
+
112
+ def GetGroup(self, request, context):
113
+ """
114
+ Retrieves a specific group by its resource identifier within the hierarchy.
115
+
116
+ Provides access to a single group's complete metadata and organizational
117
+ context if accessible within the executing group's scope.
57
118
  """
58
119
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
59
120
  context.set_details('Method not implemented!')
@@ -62,9 +123,14 @@ class GroupServiceServicer(object):
62
123
 
63
124
  def add_GroupServiceServicer_to_server(servicer, server):
64
125
  rpc_method_handlers = {
65
- 'GetGroup': grpc.unary_unary_rpc_method_handler(
66
- servicer.GetGroup,
67
- request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.FromString,
126
+ 'CreateGroup': grpc.unary_unary_rpc_method_handler(
127
+ servicer.CreateGroup,
128
+ request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.CreateGroupRequest.FromString,
129
+ response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.SerializeToString,
130
+ ),
131
+ 'UpdateGroup': grpc.unary_unary_rpc_method_handler(
132
+ servicer.UpdateGroup,
133
+ request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.UpdateGroupRequest.FromString,
68
134
  response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.SerializeToString,
69
135
  ),
70
136
  'ListGroups': grpc.unary_unary_rpc_method_handler(
@@ -77,6 +143,11 @@ def add_GroupServiceServicer_to_server(servicer, server):
77
143
  request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsRequest.FromString,
78
144
  response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsResponse.SerializeToString,
79
145
  ),
146
+ 'GetGroup': grpc.unary_unary_rpc_method_handler(
147
+ servicer.GetGroup,
148
+ request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.FromString,
149
+ response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.SerializeToString,
150
+ ),
80
151
  }
81
152
  generic_handler = grpc.method_handlers_generic_handler(
82
153
  'meshtrade.iam.group.v1.GroupService', rpc_method_handlers)
@@ -86,10 +157,20 @@ def add_GroupServiceServicer_to_server(servicer, server):
86
157
 
87
158
  # This class is part of an EXPERIMENTAL API.
88
159
  class GroupService(object):
89
- """Missing associated documentation comment in .proto file."""
160
+ """
161
+ GroupService manages organizational group hierarchy and lifecycle operations.
162
+
163
+ Groups are the fundamental multi-tenancy units in Mesh that own resources,
164
+ define permission boundaries, and enable hierarchical access control.
165
+ Each group can own sub-groups, users, API users, and platform resources,
166
+ forming tree structures for inherited permissions and resource isolation.
167
+
168
+ All operations are scoped to the authenticated group's hierarchy and
169
+ require appropriate IAM domain permissions.
170
+ """
90
171
 
91
172
  @staticmethod
92
- def GetGroup(request,
173
+ def CreateGroup(request,
93
174
  target,
94
175
  options=(),
95
176
  channel_credentials=None,
@@ -102,8 +183,35 @@ class GroupService(object):
102
183
  return grpc.experimental.unary_unary(
103
184
  request,
104
185
  target,
105
- '/meshtrade.iam.group.v1.GroupService/GetGroup',
106
- meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
186
+ '/meshtrade.iam.group.v1.GroupService/CreateGroup',
187
+ meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.CreateGroupRequest.SerializeToString,
188
+ meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
189
+ options,
190
+ channel_credentials,
191
+ insecure,
192
+ call_credentials,
193
+ compression,
194
+ wait_for_ready,
195
+ timeout,
196
+ metadata,
197
+ _registered_method=True)
198
+
199
+ @staticmethod
200
+ def UpdateGroup(request,
201
+ target,
202
+ options=(),
203
+ channel_credentials=None,
204
+ call_credentials=None,
205
+ insecure=False,
206
+ compression=None,
207
+ wait_for_ready=None,
208
+ timeout=None,
209
+ metadata=None):
210
+ return grpc.experimental.unary_unary(
211
+ request,
212
+ target,
213
+ '/meshtrade.iam.group.v1.GroupService/UpdateGroup',
214
+ meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.UpdateGroupRequest.SerializeToString,
107
215
  meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
108
216
  options,
109
217
  channel_credentials,
@@ -168,3 +276,30 @@ class GroupService(object):
168
276
  timeout,
169
277
  metadata,
170
278
  _registered_method=True)
279
+
280
+ @staticmethod
281
+ def GetGroup(request,
282
+ target,
283
+ options=(),
284
+ channel_credentials=None,
285
+ call_credentials=None,
286
+ insecure=False,
287
+ compression=None,
288
+ wait_for_ready=None,
289
+ timeout=None,
290
+ metadata=None):
291
+ return grpc.experimental.unary_unary(
292
+ request,
293
+ target,
294
+ '/meshtrade.iam.group.v1.GroupService/GetGroup',
295
+ meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
296
+ meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
297
+ options,
298
+ channel_credentials,
299
+ insecure,
300
+ call_credentials,
301
+ compression,
302
+ wait_for_ready,
303
+ timeout,
304
+ metadata,
305
+ _registered_method=True)
@@ -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*\xec\x02\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\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*\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')
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;rolev1'
36
36
  _globals['_ROLE']._serialized_start=157
37
- _globals['_ROLE']._serialized_end=521
37
+ _globals['_ROLE']._serialized_end=580
38
38
  _globals['_ROLELIST']._serialized_start=93
39
39
  _globals['_ROLELIST']._serialized_end=154
40
40
  # @@protoc_insertion_point(module_scope)
@@ -17,6 +17,8 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
17
  ROLE_COMPLIANCE_VIEWER: _ClassVar[Role]
18
18
  ROLE_IAM_ADMIN: _ClassVar[Role]
19
19
  ROLE_IAM_VIEWER: _ClassVar[Role]
20
+ ROLE_IAM_GROUP_ADMIN: _ClassVar[Role]
21
+ ROLE_IAM_GROUP_VIEWER: _ClassVar[Role]
20
22
  ROLE_ISSUANCE_HUB_ADMIN: _ClassVar[Role]
21
23
  ROLE_ISSUANCE_HUB_VIEWER: _ClassVar[Role]
22
24
  ROLE_TRADING_ADMIN: _ClassVar[Role]
@@ -30,6 +32,8 @@ ROLE_COMPLIANCE_ADMIN: Role
30
32
  ROLE_COMPLIANCE_VIEWER: Role
31
33
  ROLE_IAM_ADMIN: Role
32
34
  ROLE_IAM_VIEWER: Role
35
+ ROLE_IAM_GROUP_ADMIN: Role
36
+ ROLE_IAM_GROUP_VIEWER: Role
33
37
  ROLE_ISSUANCE_HUB_ADMIN: Role
34
38
  ROLE_ISSUANCE_HUB_VIEWER: Role
35
39
  ROLE_TRADING_ADMIN: Role
@@ -16,11 +16,11 @@
16
16
  from .address_pb2 import Address
17
17
  from .contact_details_pb2 import ContactDetails
18
18
  from .decimal_pb2 import Decimal
19
+ from .sorting_pb2 import SortingOrder
19
20
  from .ledger_pb2 import Ledger
20
21
  from .token_pb2 import Token
21
22
  from .amount_pb2 import Amount
22
23
  from .date_pb2 import Date
23
- from .sorting_pb2 import SortingOrder
24
24
  from .time_of_day_pb2 import TimeOfDay
25
25
 
26
26
  # ===================================================================
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshtrade
3
- Version: 1.3.0
3
+ Version: 1.5.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
@@ -70,19 +70,19 @@ meshtrade/iam/api_user/v1/service_pb2.py,sha256=VUcxM629vCkz4nGoxLXfL3XK4rvvC1mb
70
70
  meshtrade/iam/api_user/v1/service_pb2.pyi,sha256=cmQuOBMR0C1IRB8CoAcri6YiGtaSjf7p7QmBHvX_bt4,2607
71
71
  meshtrade/iam/api_user/v1/service_pb2_grpc.py,sha256=vOcfWseMyD9qna9QSZ1ilf7WfwByC_OFypvz7SycATc,17683
72
72
  meshtrade/iam/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- meshtrade/iam/group/v1/__init__.py,sha256=ROAaDtQDxNt7RHOfUlTmc4Oh5xoJo2x8UN-UPofIVuA,1969
74
- meshtrade/iam/group/v1/group_pb2.py,sha256=CiOEf0edDOEl4EnRNyJRElfZPG3Vb0nJG8jQW0HKjBg,1592
75
- meshtrade/iam/group/v1/group_pb2.pyi,sha256=hYHylacNV2llToNzhISbJ5GFXuGtZeEK95LHNnylK90,380
73
+ meshtrade/iam/group/v1/__init__.py,sha256=tayQlse2nLxoo0oZbM9FYdX-jH7_jkCTLCf0Yw8IaeY,2069
74
+ meshtrade/iam/group/v1/group_pb2.py,sha256=mc65OFIhy7NnZet7Yz34pPEdcsym_pSZR33Yhpacz6M,4456
75
+ meshtrade/iam/group/v1/group_pb2.pyi,sha256=cFDjl9VlphF0NpZzP0qJZH7GMq8hb3uWrpiFWVFElss,1024
76
76
  meshtrade/iam/group/v1/group_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
77
- meshtrade/iam/group/v1/service_meshpy.py,sha256=wEwaMZeNdr-sYcxlUysCMpFuwn6NTONLdHkZK0Cfj9M,6832
77
+ meshtrade/iam/group/v1/service_meshpy.py,sha256=dJWdunAQViIG6-LaYTNk0-vOsL8eLFDO3y6oc0yOSHw,7954
78
78
  meshtrade/iam/group/v1/service_options_meshpy.py,sha256=04luV1eQlZ6yeJVdgl6XqR3mpaQyxc0XASfSQt_C0jY,2534
79
- meshtrade/iam/group/v1/service_pb2.py,sha256=RZLJDVkwJQevJdWYuGL96_R7bHGMRF0fU_WmNMwLsAE,4197
80
- meshtrade/iam/group/v1/service_pb2.pyi,sha256=iRJatuY5NV8VSi1qnntCEFH4liq8Y-Jd8814HTr8wgw,1603
81
- meshtrade/iam/group/v1/service_pb2_grpc.py,sha256=1eCMHXbtrCxokUUoWkRVpL_xpzxTTYqqg9NIZ1Hm1OA,7001
79
+ meshtrade/iam/group/v1/service_pb2.py,sha256=YrWy4gITfWD98Q_WWPIF8g0zw_Oyk5t5wKrZHu1iHLk,10209
80
+ meshtrade/iam/group/v1/service_pb2.pyi,sha256=xg9tmab0dl6szbEAtmRNBPUOYoSQPSzKF7jALB6I2pY,3370
81
+ meshtrade/iam/group/v1/service_pb2_grpc.py,sha256=RHubfJy336fjw6TTTGyRASCl51SVIgE4oyl2nTWYeKk,13142
82
82
  meshtrade/iam/role/v1/__init__.py,sha256=xW5_jhEKdb9xYNri0thNpvXAsEa1cqPmjI0XS8BPvQM,1527
83
83
  meshtrade/iam/role/v1/role.py,sha256=4uIWnaM5RcrTUlkv8NLHrjPU9AonoPJotdQ496IQnLM,795
84
- meshtrade/iam/role/v1/role_pb2.py,sha256=8_rtmPtnYX7R9RowSpAhhKcpKCEMWR7QSN8UW8Ns1Ds,2761
85
- meshtrade/iam/role/v1/role_pb2.pyi,sha256=_hkVw764rDL_TcL4QGPWPr14lk46c8Rjp-PeWfMr91U,1838
84
+ meshtrade/iam/role/v1/role_pb2.py,sha256=4E4YAKyr4XwwKi8Rzz8LQDQSHFEfCOsv0iCNljutciI,2870
85
+ meshtrade/iam/role/v1/role_pb2.pyi,sha256=kz5gCruhDRbXsgOOOcDiH11YFr-QPZgMg4QuVZcxr-g,1978
86
86
  meshtrade/iam/role/v1/role_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
87
87
  meshtrade/iam/user/v1/__init__.py,sha256=Of7OG_BzVdVqnmSFdu0b_8s6JSXsDrQ1SCUdNW2cO5M,1762
88
88
  meshtrade/iam/user/v1/service_meshpy.py,sha256=a_1TSUDBD4WXfsfDG1uWN05ZD_69_uEJD0ymwSNpaC0,5672
@@ -148,7 +148,7 @@ meshtrade/trading/market_order/v1/service_pb2.py,sha256=tB6aQqnDwAg8Ogya2AYPKs_6
148
148
  meshtrade/trading/market_order/v1/service_pb2.pyi,sha256=MIGhHksXG6hw6N-afJEEAR3fUqKoNU2EdfffDcLMO3c,612
149
149
  meshtrade/trading/market_order/v1/service_pb2_grpc.py,sha256=MvjbM6EO7A4jFr8e68umjIIxw5swzoVpuxrLvmxr7es,3430
150
150
  meshtrade/type/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
- meshtrade/type/v1/__init__.py,sha256=eqJu43Vhe1MWwJ5iMTvAK6uoFQEFdrs80gP0_EzW1Pk,3521
151
+ meshtrade/type/v1/__init__.py,sha256=e3ggm22xjJ4UDqMQlD-4rEOTQI6u_tZ4jlKhsQU0oX4,3521
152
152
  meshtrade/type/v1/address_pb2.py,sha256=uZQcUd_Nr1gQrWMZz6dmbcOvqMPuJ-T6daQmeJzI-jw,1858
153
153
  meshtrade/type/v1/address_pb2.pyi,sha256=A1PdvzCZpd-JKQhTwwQ3gz2Kw9mOkH3S1imSm78_4Uw,1107
154
154
  meshtrade/type/v1/address_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -191,7 +191,7 @@ meshtrade/wallet/account/v1/service_options_meshpy.py,sha256=ROVvFr-sub9TMtzHO-s
191
191
  meshtrade/wallet/account/v1/service_pb2.py,sha256=4huN7EQVoNpqMf5UK9iIyAKUGhWPj-a9OdC2soqXxlQ,5208
192
192
  meshtrade/wallet/account/v1/service_pb2.pyi,sha256=PL7ANYkhNYTrC8fXv9Pjfz2x-IeUj8HnytTAn4wnvNU,2132
193
193
  meshtrade/wallet/account/v1/service_pb2_grpc.py,sha256=lTykth2v98aluqtqaID78HJ6dubXqI0ShpvfFmu3_pY,9480
194
- meshtrade-1.3.0.dist-info/METADATA,sha256=1oEPbhwx61vR1vz0T1uzVwAXO7Rj7iZJFau5V7b4xfg,3006
195
- meshtrade-1.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
196
- meshtrade-1.3.0.dist-info/top_level.txt,sha256=NV0mf_yWXSvBwj2_q5aSz2hN5hQF0QypAiJwV4schJI,14
197
- meshtrade-1.3.0.dist-info/RECORD,,
194
+ meshtrade-1.5.0.dist-info/METADATA,sha256=8f4rZ2b7o3A21492k4b2-kS-9egmAgtzQkiLFBtPiIE,3006
195
+ meshtrade-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
196
+ meshtrade-1.5.0.dist-info/top_level.txt,sha256=NV0mf_yWXSvBwj2_q5aSz2hN5hQF0QypAiJwV4schJI,14
197
+ meshtrade-1.5.0.dist-info/RECORD,,