Thrift module: sharing_models
Module | Services | Data types | Constants |
---|---|---|---|
sharing_models | Domain Entity EntitySearchField EntityType GroupCardinality GroupChildType GroupMembership GroupType PermissionType SearchCondition SearchCriteria Sharing SharingRegistryException SharingType User UserGroup |
DO_NOT_SET_AT_CLIENTS_ID |
Constants
Constant | Type | Value |
---|---|---|
DO_NOT_SET_AT_CLIENTS_ID | string | "DO_NOT_SET_AT_CLIENTS_ID" |
Enumerations
Enumeration: GroupCardinality
This is an system internal enum used to define single user groups and multi users groups. Every user is also considered as a group in it's own right for implementation ease
SINGLE_USER | 0 | |
MULTI_USER | 1 |
Enumeration: GroupType
Group types can be either user level or domain level groups.
DOMAIN_LEVEL_GROUP | 0 | |
USER_LEVEL_GROUP | 1 |
Enumeration: GroupChildType
System internal data type to match group child types
USER | 0 | |
GROUP | 1 |
Enumeration: EntitySearchField
This list of fields that can be used to search entities
NAME | 0 | |
DESCRIPTION | 1 | |
FULL_TEXT | 2 | |
PARRENT_ENTITY_ID | 3 | |
OWNER_ID | 4 | |
PERMISSION_TYPE_ID | 5 | |
CREATED_TIME | 6 | |
UPDATED_TIME | 7 | |
ENTITY_TYPE_ID |
8 |
Enumeration: SearchCondition
Different search operators that can be used with the entity search fields
EQUAL | 0 | |
LIKE | 1 | |
FULL_TEXT | 2 | |
GTE | 3 | |
LTE | 4 | |
NOT |
5 |
Enumeration: SharingType
This is an internal enum type for managing sharings
DIRECT_NON_CASCADING | 0 | |
DIRECT_CASCADING | 1 | |
INDIRECT_CASCADING | 2 |
Data structures
Struct: Domain
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | domainId | string | optional | "DO_NOT_SET_AT_CLIENTS_ID" | |
2 | name | string | optional | ||
3 | description | string | optional | ||
4 | createdTime | i64 | optional | ||
5 | updatedTime | i64 | optional |
Domain is the entity that enables multi-tenency in this componenet. Every tenant will be operating separately it's own silo which is identified by the domain id. In the current implementation domain id will be same as the domain name
Struct: User
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | userId | string | optional | ||
2 | domainId | string | optional | ||
3 | userName | string | optional | ||
4 | firstName | string | optional | ||
5 | lastName | string | optional | ||
6 | string | optional | |||
7 | icon | binary | optional | ||
8 | createdTime | i64 | optional | ||
9 | updatedTime | i64 | optional |
User is the model used to register a user in the system. Minimal user information will be required to provide regarding the user.
Struct: UserGroup
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | groupId | string | optional | ||
2 | domainId | string | optional | ||
3 | name | string | optional | ||
4 | description | string | optional | ||
5 | ownerId | string | optional | ||
6 | groupType | GroupType | optional | ||
7 | groupCardinality | GroupCardinality | optional | ||
8 | createdTime | i64 | optional | ||
9 | updatedTime | i64 | optional |
User group is a collection of users.
Struct: GroupMembership
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | parentId | string | optional | ||
2 | childId | string | optional | ||
3 | domainId | string | optional | ||
4 | childType | GroupChildType | optional | ||
5 | createdTime | i64 | optional | ||
6 | updatedTime | i64 | optional |
System internal data type to map group memberships
Struct: EntityType
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | entityTypeId | string | optional | ||
2 | domainId | string | optional | ||
3 | name | string | optional | ||
4 | description | string | optional | ||
5 | createdTime | i64 | optional | ||
6 | updatedTime | i64 | optional |
client defined entity types
Struct: SearchCriteria
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | searchField | EntitySearchField | optional | ||
2 | value | string | optional | ||
3 | searchCondition | SearchCondition | optional |
Container object for search criteria
Struct: Entity
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | entityId | string | optional | ||
2 | domainId | string | optional | ||
3 | entityTypeId | string | optional | ||
4 | ownerId | string | optional | ||
5 | parentEntityId | string | optional | ||
6 | name | string | optional | ||
7 | description | string | optional | ||
8 | binaryData | binary | optional | ||
9 | fullText | string | optional | ||
10 | originalEntityCreationTime | i64 | optional | ||
11 | createdTime | i64 | optional | ||
12 | updatedTime | i64 | optional |
Entity object which is used to register an entity in the system.
Struct: PermissionType
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | permissionTypeId | string | optional | ||
2 | domainId | string | optional | ||
3 | name | string | optional | ||
4 | description | string | optional | ||
5 | createdTime | i64 | optional | ||
6 | updatedTime | i64 | optional |
Object for creating client defined permission type
Struct: Sharing
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | permissionTypeId | string | optional | ||
2 | entityId | string | optional | ||
3 | groupId | string | optional | ||
4 | sharingType | SharingType | optional | ||
5 | domainId | string | optional | ||
6 | inheritedParentId | string | optional | ||
7 | createdTime | i64 | optional | ||
8 | updatedTime | i64 | optional |
This is an internal enum type for managing sharings
Exception: SharingRegistryException
Key | Field | Type | Description | Requiredness | Default value |
---|---|---|---|---|---|
1 | message | string | required |
Exception model used in the sharing registry service