<!--


    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css"/>
<title>Thrift module: sharing_models</title></head><body>
<div class="container-fluid">
<h1>Thrift module: sharing_models</h1>
<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
<tr>
<td>sharing_models</td><td></td>
<td><a href="#Struct_Domain">Domain</a><br/>
<a href="#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
<a href="#Struct_Entity">Entity</a><br/>
<a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
<a href="#Struct_EntityType">EntityType</a><br/>
<a href="#Enum_GroupCardinality">GroupCardinality</a><br/>
<a href="#Enum_GroupChildType">GroupChildType</a><br/>
<a href="#Struct_GroupMembership">GroupMembership</a><br/>
<a href="#Enum_GroupType">GroupType</a><br/>
<a href="#Struct_PermissionType">PermissionType</a><br/>
<a href="#Enum_SearchCondition">SearchCondition</a><br/>
<a href="#Struct_SearchCriteria">SearchCriteria</a><br/>
<a href="#Struct_Sharing">Sharing</a><br/>
<a href="#Struct_SharingRegistryException">SharingRegistryException</a><br/>
<a href="#Enum_SharingType">SharingType</a><br/>
<a href="#Struct_User">User</a><br/>
<a href="#Struct_UserGroup">UserGroup</a><br/>
</td>
<td><code><a href="#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
</code></td>
</tr></table>
<hr/><h2 id="Constants">Constants</h2>
<table class="table-bordered table-striped table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
<tr id="Const_DO_NOT_SET_AT_CLIENTS_ID"><td><code>DO_NOT_SET_AT_CLIENTS_ID</code></td><td><code>string</code></td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr></table><hr/><h2 id="Enumerations">Enumerations</h2>
<div class="definition"><h3 id="Enum_GroupCardinality">Enumeration: GroupCardinality</h3>
<p>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</p>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>SINGLE_USER</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>MULTI_USER</code></td><td><code>1</code></td><td>
</td></tr>
</table></div>
<div class="definition"><h3 id="Enum_GroupType">Enumeration: GroupType</h3>
<p>Group types can be either user level or domain level groups.</p>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>DOMAIN_LEVEL_GROUP</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>USER_LEVEL_GROUP</code></td><td><code>1</code></td><td>
</td></tr>
</table></div>
<div class="definition"><h3 id="Enum_GroupChildType">Enumeration: GroupChildType</h3>
<p>System internal data type to match group child types</p>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>USER</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>GROUP</code></td><td><code>1</code></td><td>
</td></tr>
</table></div>
<div class="definition"><h3 id="Enum_EntitySearchField">Enumeration: EntitySearchField</h3>
<p>This list of fields that can be used to search entities</p>
<li>NAME : Name of the entity</li>
<li>DESCRIPTION : Description of the entity</li>
<li>FULL_TEXT : Full text field of the entity</li>
<li>PARENT_ENTITY_ID : Parent entity id of the entity</li>
<li>OWNER_ID : Owner of the entity</li>
<li>CREATED_TIME : Created time of the entity</li>
<li>UPDATED_TIME : Updated time of the entity</li>
<li>SHARED_COUNT : Number of directly shared users and groups</li>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>NAME</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>DESCRIPTION</code></td><td><code>1</code></td><td>
</td></tr>
<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
</td></tr>
<tr><td><code>PARRENT_ENTITY_ID</code></td><td><code>3</code></td><td>
</td></tr>
<tr><td><code>OWNER_ID</code></td><td><code>4</code></td><td>
</td></tr>
<tr><td><code>PERMISSION_TYPE_ID</code></td><td><code>5</code></td><td>
</td></tr>
<tr><td><code>CREATED_TIME</code></td><td><code>6</code></td><td>
</td></tr>
<tr><td><code>UPDATED_TIME</code></td><td><code>7</code></td><td>
</td></tr>
<tr><td><code>ENTITY_TYPE_ID</code></td><td><code>8</code></td><td>
</td></tr>
<tr><td><code>SHARED_COUNT</code></td><td><code>9</code></td><td>
</td></tr>
</table></div>
<div class="definition"><h3 id="Enum_SearchCondition">Enumeration: SearchCondition</h3>
<p>Different search operators that can be used with the entity search fields</p>
<li>EQUAL : Simply matches for equality. Applicable for name, and parent entity id</li>
<li>LIKE : Check for the condition %$FIELD% condition. Applicable for name, and description</li>
<li>FULL_TEXT : Does a full text search. Only applicable for the FULL_TEXT field.</li>
<li>GTE : Greater than or equal. Only applicable for created time, updated time and shared count.</li>
<li>LTE : Less than or equal. Only applicable for created time, updated time and shared count.</li>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>EQUAL</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>LIKE</code></td><td><code>1</code></td><td>
</td></tr>
<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
</td></tr>
<tr><td><code>GTE</code></td><td><code>3</code></td><td>
</td></tr>
<tr><td><code>LTE</code></td><td><code>4</code></td><td>
</td></tr>
<tr><td><code>NOT</code></td><td><code>5</code></td><td>
</td></tr>
</table></div>
<div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
<p>This is an internal enum type for managing sharings</p>

<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>DIRECT_NON_CASCADING</code></td><td><code>0</code></td><td>
</td></tr>
<tr><td><code>DIRECT_CASCADING</code></td><td><code>1</code></td><td>
</td></tr>
<tr><td><code>INDIRECT_CASCADING</code></td><td><code>2</code></td><td>
</td></tr>
</table></div>
<hr/><h2 id="Structs">Data structures</h2>
<div class="definition"><h3 id="Struct_Domain">Struct: Domain</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
<tr><td>2</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>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</p>
<li>domainId : Will be generated by the server based on the domain name</li>
<li><b>name</b> : A single word name that identifies the domain e.g seagrid, ultrascan</li>
<li>description : A short description for the domain</li>
<li>createdTime : Will be set by the system</li>
<li>updatedTime : Will be set by the system</li>

<br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>userId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>userName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>firstName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>lastName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>email</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>icon</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>User is the model used to register a user in the system. Minimal user information will be required to provide
regarding the user.</p>
<li><b>userId</b> : User id provided by the client</li>
<li><b>domainId</b> : Domain id for that user</li>
<li><b>userName</b> : User name for the user</li>
<li><b>firstName</b> : First name of the user</li>
<li><b>lastName</b> : Last name of the user</li>
<li><b>email</b> : Email address of the user</li>
<li>icon : A binary field for storing the user icon</li>
<li>createdTime : If client provides this value then the system will use it if not the current time will be set</li>
<li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>

<br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>groupType</td><td><code><a href="#Enum_GroupType">GroupType</a></code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>groupCardinality</td><td><code><a href="#Enum_GroupCardinality">GroupCardinality</a></code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>User group is a collection of users.</p>
 <li><b>groupId</b> : Group id provided by the client</li>
 <li><b>domainId</b> : Domain id for this user group</li>
 <li><b>name</b> : Name for the user group. should be one word</li>
 <li>description : Short description for the group.</li>
 <li><b>ownerId</b> : Owner id of this group.</li>
 <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
 <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, MULTI_USER)</li>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
<br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: GroupMembership</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>parentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>childId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>System internal data type to map group memberships</p>

<br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: EntityType</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>client defined entity types</p>
<li><b>entityTypeId</b> : Entity type id provided by the client</li>
<li><b>domainId</b> : Domain id of the domain.</li>
<li><b>name</b> : Name for the entity type. Should be a single word.</li>
<li>description : Short description for the entity type.</li>
<li>createdTime : Will be set by the system</li>
<li>updatedTime : Will be set by the system</li>

<br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: SearchCriteria</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>searchField</td><td><code><a href="#Enum_EntitySearchField">EntitySearchField</a></code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>value</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>searchCondition</td><td><code><a href="#Enum_SearchCondition">SearchCondition</a></code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>Container object for search criteria</p>
<li><b>searchField</b> : Entity search field</li>
<li><b>value</b> : Search value</li>
<li><b>searchCondition</b> : EQUAL, LIKE etc..</li>

<br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>parentEntityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>binaryData</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>9</td><td>fullText</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>10</td><td>sharedCount</td><td><code>i64</code></td><td></td><td>optional</td><td><code>0</code></td></tr>
<tr><td>11</td><td>originalEntityCreationTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>12</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>13</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>Entity object which is used to register an entity in the system.</p>
<li><b>entityId</b> : Entity id provided by the client</li>
<li><b>domainId</b> : Domain id</li>
<li><b>entityTypeId</b> : Entity type id</li>
<li><b>ownerId</b> : Owner id</li>
<li>parentEntityId : Parent entity id</li>
<li><b>name</b> : Name</li>
<li>description : Short description for the entity</li>
<li>binaryData : Any information stored in binary format</li>
<li>fullText : A string which will be considered for full text search</li>
<li><b>originalEntityCreationTime</b> : When registering old records what is the original entity creation time. If not
set will be default to current time</li>
<li>createdTime : Will be set by the system</li>
<li>updatedTime : Will be set by the system</li>

<br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: PermissionType</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>Object for creating client defined permission type</p>
<li><b>permissionTypeId</b> : Permission type id provided by the client</li>
<li><b>domainId</b> : Domain id</li>
<li><b>name</b> : Single word name for the permission</li>
<li>description : Short description for the permission type</li>
<li>createdTime : Will be set by the system</li>
<li>updatedTime : Will be set by the system</li>

<br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>2</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>3</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>4</td><td>sharingType</td><td><code><a href="#Enum_SharingType">SharingType</a></code></td><td></td><td>optional</td><td></td></tr>
<tr><td>5</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>6</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>7</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
<tr><td>8</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
</table><br/><p>This is an internal enum type for managing sharings</p>

<br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
</table><br/><p>Exception model used in the sharing registry service</p>

<br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
</table><br/>This exception is thrown when you try to save a duplicate entity that already exists
  in the database.

  message: contains the associated error message

<br/></div></div></body></html>
