Types
Application#
The Application type defines an application.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | Application UUID |
| _name | String | required, Application name |
| _description | String | Application description |
| _appOwner | String | required, Application owner |
| _namespaces | Array<String> | Namespaces that the application pertains to |
| _redirecUris | String | required, Comma separated string with redirect URIs to receive the access_token after a successful authentication. |
| _authorizedOrigins | String | Comma separated string with the authorized origin restriction. Authentication from any other origins will be restricted. |
| _home | String | Application home page URL |
| _orgId | String | required, Organization Id |
| _whitelistedApps | UNKNOWN: OptionalType | An array of app ids for the Applications that can access resources in this app. |
CreatePermissionsResponse#
The response object when you create a Permission
Type: Object
| Property | Type | Description |
|---|---|---|
| _success | Array<Permission> | An array of the successfully created permissions |
| _failures | Array<Permission> | An array of the failed permissions and the reason for failure |
Ctx#
Use a Ctx object to maintain project or session context.
Type: Object
| Property | Type | Description |
|---|---|---|
| noAuth | UNKNOWN: OptionalType | Enter if no authentication is required |
| authToken | UNKNOWN: OptionalType | Use to store an authentication token, if required |
| _namespaces | UNKNOWN: OptionalType | Stores namespaces when nsfilter is used |
| storage | UNKNOWN: OptionalType | Session storage |
File#
Data type for a source file in the File Service.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The File's database id |
| _name | String | The file name |
| _tipId | String | Latest version id |
| _tipVersion | Number | Latest version number |
| _nextVersion | Number | Next version number |
| _type | String | Either "file" or "dir" |
| _irn | String | Platform resource name with pattern as filesvc:file:<_id> |
| _namespaces | Array | List of namespaces that the UserGroup has access to |
| _tags | Array | Add custom tags to the File |
| _fileVersion | FileVersion | Version details |
| _uploadMeta | UploadMeta | Upload metadata if the file is uploaded as a resumable file upload |
| _url | String | File download URL that lasts 48 hours. Only appears as part of a request specific to get the download URL, such as GET /files/:id/url api response or IafFileSvc.getFileUrl(). |
FileContainer#
Type: NamedFileCollection
| Property | Type | Description |
|---|---|---|
| _version | FileContainerVersion | version |
FileContainerVersion#
Type: NamedFileCollectionVersion
| Property | Type | Description |
|---|---|---|
| _userAttributes | JSON | it contains 'path' refers to file container(folder) path, '/' for root container |
FileCriteria#
Criteria to target a source file in the File Service.
Type: Object
| Property | Type | Description |
|---|---|---|
| _namespaces | (Array<String> | String) | Namespaces to filter. Please note that these namespaces must be present in nsfilter. If its not provided get files from all the namespaces in the nsfilter |
| _parents | String | Folder id to filter. Without an id, the request considers files from all folders. Use 'root' to filter by a root folder. |
| _ids | String | A comma separted string of file ids to search. |
| _tags | (Array<String> | String) | A tag or array of tags to filter by |
| _name | String | Filter by file name. Supports regex. |
// Get all the files from all the folders from namespaces in the ctx let criteria = {} let files = IafFileSvc.getFiles(criteria, ctx);
// Get all files from root folder let criteria = {"_parents": "root"} let res = await IafFileSvc.getFiles(criteria, ctx);
// Get all files from specific folder let criteria = {"_parents": "5a25417d-1408-42d4-b9a2-812be53bb111"} let res = await IafFileSvc.getFiles(criteria, ctx);
// Get all files by ids let criteria = {"_ids": "5a25417d-1408-42d4-b9a2-812be53bb111,f3dc8288-39f1-4d7c-9b4b-51fe364db874,bf03bc5f-bfe4-40f4-91fd-5ece6effbe99"} let res = await IafFileSvc.getFiles(criteria, ctx);
//Get All bimpk files let criteria = {"_name":".*bimpk"} let res = await IafFileSvc.getFiles(criteria, ctx);FileHeaders#
These headers will be applied to the HTTP response during download if they were specified during upload.
Type: Object
| Property | Type | Description |
|---|---|---|
| null | String | "content-type" - Mime type of the file, Ex: image/png, application/pdf or image/svg+xml |
| null | String | "content-encoding" - Content encoding type. Ex: gzip |
FileItem#
An object that represents a source file with user-created properties that can be related to NamedUserCollection types and other RelatedItem types.
Type: RelatedItem
| Property | Type | Description |
|---|---|---|
| _fileId | String | Refers to the source file's id in File Service |
| _fileVersionId | String | Refers to the source file version's id in File Service |
FilePreviewOptions#
Options for displaying a preview. Currently it is only available for images and it is generated 640x480 dimension only.
Type: Object
| Property | Type | Description |
|---|---|---|
| width | Number | Preview image width. |
| height | Number | Preview image height |
FileVersion#
A version of a source file
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The FileVersion's id |
| _version | Number | The version number |
| _fileSize | Number | The file's memory size |
| _fileId | String | Id reference of the source file |
| _url | String | File download URL that lasts 48 hours. Only appears as part of a request specific to get the download ULR, such as GET /files/:id/versions/:versionId/url api response or IafFileSvc.getFileVersionUrl(). |
GeometryView#
Use the GeometryView type to define a geometry view.
Type: Object
| Property | Type | Description |
|---|---|---|
| index | Number | Enter the index of your view to identify it in an array of views from a model |
| label | String | View title |
| value | String | File id that represents the view |
IafActionDescriptor#
Type: Object
| Property | Type | Description |
|---|---|---|
| actions | Array<String> | |
| desc | JSON | criteria with key value pair |
IafPermissionDescriptor#
It defines permissions for various resources. It usually helps to define permissions for a user group in a project while creating the user group.
Type: Object
| Property | Type | Description |
|---|---|---|
| accessAll | boolean | Provide all actions to all the resources for a given namespace. If it's true then all other resources defined below will be ignored. |
| workspaces | Array<IafActionDescriptor> | |
| namedUserItems | Array<IafActionDescriptor> | |
| namedUserColls | Array<IafActionDescriptor> | |
| files | Array<IafActionDescriptor> | |
| scripts | Array<IafActionDescriptor> | |
| userConfigs | Array<IafActionDescriptor> | |
| permissionProfiles | Array<IafActionDescriptor> | |
| apiconfigdefs | Array<IafActionDescriptor> | |
| orchestrator | Array<IafActionDescriptor> | |
| telemetryconfigs | Array<IafActionDescriptor> | |
| usergroups | Array<IafActionDescriptor> | Define allowed permission actions for a user group on the same user group. For example, if the permissions are given as ["READ", "EDIT"], the members of the user group can read and edit the user group. |
Index#
Type: Object
| Property | Type | Description |
|---|---|---|
| key | JSON | Properties to index |
| options | JSON | Pass your index options |
Invite#
Use the Invite type to define a user invite to a project or user group.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | Invite UUID |
| _email | String | Email address to send the invite to |
| _expireTime | Number | The system generates a expiry time for the invite, which is seven days from the invite creation. |
| _userExists | boolean | The system determines if the user's email address is registered or not. |
InviteCriteria#
Find Invites by criteria
Type: Object
| Property | Type | Description |
|---|---|---|
| _status | UNKNOWN: OptionalType | Filter invites by the statuses you pass in the array |
InviteOptions#
Use the InviteOptions type to add response options for Invite queries.
Type: Object
| Property | Type | Description |
|---|---|---|
| _offset | Number | Sets the number of results to skip in the Page response. For example, set to to skip the first 10 results. |
| _pageSize | Number | Sets the number of results to return per Page in the response |
| includeAll | UNKNOWN: OptionalType | Set to true to include all the invites instead of particular page |
InviteParams#
Type: Object
| Property | Type | Description |
|---|---|---|
| invite_link | String | invite link which user will be clicked in the email, invite id would be appended by the system |
| type | String | type of invite(Ex: Project) |
| name | String | name of the invite (Ex: Project name) |
| inviter_name | String | inviter's name |
ItemsvcOptions#
Use to set response options for Item Service requests.
Type: Object
| Property | Type | Description |
|---|---|---|
| transactional | boolean | Set to true to make POST, PUT or DELETE requests transactional. |
NamedFileCollection#
A user-created FileItem collection. The NamedFileCollection class is a subclass of the NamedUserCollection class and inherits its properties and the properties the NamedUserCollection class itself inherits.
Type: NamedUserCollection
| Property | Type | Description |
|---|---|---|
| _version | NamedFileCollectionVersion | A given version of the NamedFileCollection. |
NamedFileCollectionVersion#
Type: NamedUserCollectionVersion
NamedUserCollection#
A user-created RelatedItem collection. The NamedUserCollection class is a subclass of the NamedUserItem class and inherits its properties.
Type: NamedUserItem
| Property | Type | Description |
|---|---|---|
| _version | NamedUserCollectionVersion | A given version of the NamedUserCollection. |
| _encryptionEnabled | Boolean | Enables encryption for the NamedUserCollection. If set to True then any related items prefixed with a . will be encrypted. |
NamedUserCollectionVersion#
Type: NamedUserItemVersion
NamedUserItem#
The foundational item type in the platform. All NamedUserItem subclasses, such as NamedUserCollection subclasses as well as UserConfig and Script subclasses inherit the properties of this class.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The NamedUserItem's database id |
| _name | String | A readable, long-form name |
| _description | UNKNOWN: OptionalType | A string that describes the purpose of the NamedUserItem class instance |
| _shortName | String | Shorter abbreviation of the NamedUserItem name that is used for reference |
| _userType | String | A user-given name to identify a NamedUserItem. This userType is helpful for queries to find a unique item with a unique userType or NamedUserItems that share a userType. |
| _userItemId | String | A unique id value generated by the Item Service. |
| _version | NamedUserItemVersion | Contain's version data |
NamedUserItemCriteria#
Query criteria you can pass in Item Service platform APIs to target specific NamedUserItem classes based on your query.
Type: Object
| Property | Type | Description |
|---|---|---|
| query | JSON | Pass a simple query object. For more information, see the following examples. |
// simple filter exampleslet query = {"_usertype": "project_setup","_name": "projectSetup"}let query = {"_id": {"$in": ["5c9328e8b834740001cd95d4","5c9328e8b834740001cd95d4"]}}
// Complex querylet query = { "$and": [ { "_userType": "file_container", "_name": "Root Container" } ], "$or": [ { "_tipVersion": 1 }, { "_id": { "$in": ["5c9328e8b834740001cd95d4","5d31574411efe92d8832c21c"] } } ]}
// Query with versionlet query = { "$and": [ { "_userType": "platform_setup_script", "_name": "setup_script" } ], "$or": [ { "_versions._userAttributes.key": "value" }, { "_id": { "$in": ["5c9328e8b834740001cd95d4", "5d31574411efe92d8832c21c"] } } ]}
// Query with all versionslet query = { "$and": [ { "_name": "setup_script", "_userType":"platform_setup_script" } ], "$or": [ { "_versions._userAttributes.key": "version2Value" }, { "_versions._userAttributes.config": { "$in":["value1","value2"] } } ], "_versions.all": true}NamedUserItemCriteriaOptions#
Define response options for NamedUserItems with Item Service platform APIs.
Type: Object
| Property | Type | Description |
|---|---|---|
| project | JSON | Pass an object that contains one or more projection criteria specifiers. |
| sort | JSON | Pass an object that contains one or more sort criteria specifiers. Set a property to 1 to sort ascending and -1 to sort descending. |
| page | PageRequest | Pass an object that contains one or more pagination options. |
| pagedRes | boolean | Set to true to get a Page class result rather than an array, which is the default. The default page size is 200, which is also the maximum. |
// Simple optionslet options = { "project":{ "_userType": 1, "_itemClass": 1}, "sort": { "_name": 1 }, "page": { "_offset": 10, "_pageSize": 20 }}
// with versionslet options = { "project": { "_userType": 1, _versions._userAttributes.classification_system_name: 1 }, "sort": { "_name": 1}, "page": { "_offset": 10, "_pageSize": 20} }NamedUserItemVersion#
Represents a version of a given NamedUserItem, contained in the NamedUserItem's _version array.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The NamedUserItemVersion's database id |
| _userAttributes | JSON | Add custom key-value pairs. Add the attribute name to the key, for example, _userAttributes.<attribute_name>: <attribute_value> |
| _version | Number | The version number, which is generated and not editable |
| _userItemId | String | Refers to the _userItemId value in the parent NamedUserItem |
| _itemClass | String | Refers to the _itemClass value in the parent NamedUserItem |
| _userItemDbId | String | Refers to the _id value in the parent NamedUserItem |
NamedUserItemVersionCloneOptions#
When you clone NamedUserCollections, pass a NamedUserItemVersionCloneOptions object to define if you also want to clone the NamedUserCollections's relationships and inverse relationships.
Type: Object
| Property | Type | Description |
|---|---|---|
| relationships | boolean | For NamedUserCollections, set to true to also clone the NamedUserCollection's relationships |
| inverseRelationships | boolean | For NamedUserCollections, set to true to also clone the NamedUserCollection's inverse relationships |
NamedUserItemVersionCriteria#
Query criteria you can pass in Item Service platform APIs to target specific NamedUserItemVersion classes based on your query.
Type: Object
| Property | Type | Description |
|---|---|---|
| query | JSON | Pass a simple query |
// simple filter exampleslet query = { "_userAttributes.fileId": "4e2b9de5-9a73-44f9-8153-bc0904b694c5" }let query = { "_id": {"$in": ["5c9328e8b834740001cd95d4","5c9328e8b834740001cd95d4"]}}
// complex querylet query = { "$and": [ { "_userAttributes.fileId" :"4e2b9de5-9a73-44f9-8153-bc0904b694c5", "_userAttributes.name": "Sample" } ], "$or": [ { "_id": { "$in": [ "5c9328e8b834740001cd95d4","5d31574411efe92d8832c21c" ] } } ]}NotificationTemplate#
Use the NotificationTemplate type to create notification templates.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | NotificationTemplate UUID |
| _name | String | Notification template name, which must be unique within an application |
| _title | String | Title for the notification or email subject |
| _message | String | The notification template body |
| _format | String | Required, Type of the message, Supports text/html only |
| _appId | String | Id of the app that the notification template pertains to |
| _locale | String | locale value for the template |
Options#
Use the Options type to add pagination options to your API response.
Type: Object
| Property | Type | Description |
|---|---|---|
| _offset | UNKNOWN: OptionalType | Sets the number of results to skip in the Page response. For example, set to to skip the first 10 results. |
| _pageSize | UNKNOWN: OptionalType | Sets the number of results to return per Page in the response |
Page#
The object class returned in a response that describes the response's pagination options, response items total count, and the reponse items themselves.
Type: Object
| Property | Type | Description |
|---|---|---|
| _pageSize | Number | The response page size |
| _offset | Number | The response offset |
| _total | Number | The total count of items in the response |
| _list | Array<T> | An array of the response items |
PageRequest#
Type: Object
| Property | Type | Description |
|---|---|---|
| _offset | Number | offset |
| _pageSize | Number | Number of items in the page |
PasswordPolicy#
Type: Object
| Property | Type | Description |
|---|---|---|
| text | String | password criteria text |
| regex | String | Regex to validate the criteria |
Permission#
Use a Permission type to define resource permissions
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | Permission UUID |
| _namespace | String | Namespace that the permission pertains to |
| _resourceDesc | ResourceDescriptor | Pass a ResourceDescriptor object to target the resources that the permission pertains to |
| _user | PermissionUser | Permission user |
| _config | JSON | Stores additional details about the permission |
| _actions | Array<String> | Pass an array of permitted actions on the described resources for the permission. The following list shows the possible actions: "READ", "WRITE", "SHARE", "". To permit all actions, use "". |
PermissionCriteria#
Use a PermissionCriteria type to filter permissions based on the criteria you set.
Type: Object
| Property | Type | Description |
|---|---|---|
| _namespace | String | One or more namespaces that the permissions pertain to. For one namespace, pass the namespace name as a string: "NS1". For multiple namespaces, pass a single string that concatenates key-value pairs with , for example: "_namespace=NS1&_namespace=NS2". |
| patternmatch | String | Pass the string "true" to consider the value as a pattern. Use this option to get permissions with IRNs that match the IRN pattern you pass. It treats the IRN you pass as a pattern and looks up database IRNs as text to match. By default, is set to false. |
Platform looks up permissions in two ways1. Look up permissions for given IRN 2. Lookup permissions for given pattern
Consider below irns in the DB- itemsvc:nameduseritems:*- itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a- *:*:*
1. Look up permissions for given IRNIt considers irn in the DB as pattern and irn in the query string as text to match. It will get permissions for given resource. For above irns, It works as below
_resourceDesc._irn=itemsvc:nameduseritems:* matches itemsvc:nameduseritems:* and *:*:*_resourcesDesc._irn=itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a matches all the irns, meaning if a user has access for *:*:* permission then he would have also have this irn._resourcesDesc._irn=*:*:* matches *:*:* only
2. Lookup permissions for given patternIt considers irn in the querystring as pattern and irn in the DB as text to match. It would be used to get multiple permissions matching for given pattern. The same input would have different results.
_resourceDesc._irn=itemsvc:nameduseritems:* matches itemsvc:nameduseritems:* and itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a_resourcesDesc._irn=itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a matches itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a_resourcesDesc._irn=*:*:* matches all the irns
Given below the examples with other criteria
Example 1: Fetch permissions for current user for a resourceCriteria: _namespace=NS1&_resourceDesc._irn=itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a
Exmaple 2: Fetch permissions for all the users for a resource. The session user should have SHARE permissions since the user is trying to get permissions for other usersCriteria: _namespace=NS1&_resourceDesc._irn=itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a&_user._id=*&_user._type=user
Exmaple 3: Fetch permissions for specific user for a resource. The session user should have SHARE permissions since the user is trying to get permissions for other userCriteria: _namespace=NS1&_resourceDesc._irn=itemsvc:nameduseritems:63246b6cc6b43b33ef3d5e2a&_user._id=<user_id>&_user._type=user
Example 4: Fetch permissions for current user for a resource with _resourceDesc._criteria matchedCriteria: _namespace=NS1&_resourceDesc._irn=itemsvc:nameduseritems:*&_resourceDesc._criteria._userType=iaf_ext_elements
Example 5: Fetch permissions by pattern matchCriteria: _namespace=NS1&_resourceDesc._irn=itemsvc:nameduseritems:*&patternmatch=trueResult: It returns permissions for namespace/irn and for matching the given pattern. The result will have union of both lookupsPermissionOperation#
Use the PermissionOperation type to create objects that define a permission set for a user.
Type: Object
| Property | Type | Description |
|---|---|---|
| create | UNKNOWN: OptionalType | Grants user create access |
| read | UNKNOWN: OptionalType | Grant user read access |
| update | UNKNOWN: OptionalType | Grant user update access |
| delete | UNKNOWN: OptionalType | Grant user delete access |
| share | UNKNOWN: OptionalType | Grant user share access |
PermissionProfile#
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | PermissionProfile UUID |
| _userType | String | Enter a string name that makes the permission profile unique or a string that is shared to identify permission profiles of the same type. |
| _name | String | Permission profile name |
| _namespaces | UNKNOWN: OptionalType | Namespaces that the permission profile pertains to |
| _permissions | Array<ProfilePermission> | An array of ProfilePermission objects |
PermissionUser#
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | Enter a User or UserGroup UUID |
| _type | String | Enter or |
PrincipalInfo#
Type: Object
| Property | Type | Description |
|---|---|---|
| _email | String | |
| _firstName | String | |
| _lastName | String | |
| _userId | String |
ProfilePermission#
Type: Object
| Property | Type | Description |
|---|---|---|
| _resourceDesc | ResourceDescriptor | Resource description, The resources in the permission is described by multiple values |
| _namespace | String | namespace |
| _actions | Array<String> | actions allowed in the permission. For Ex, ["READ", "WRITE"], ["*"] for any action |
Project#
A Project is a type of workspace that has a _userType of "project_workspace". The project semantics are defined at the client-side and are encapsulated within the Project resource and the IafProj APIs. A Project can be used to group resources within the project workspace and define a permission model to access these resources.
Type: Workspace
Related Item Queries#
The Item Service supports custom queries on Related Items.
CollectionQuery#
A query object used as part of RelatedItem queries in NamedUserCollections.
Type: Object
| Property | Type | Description |
|---|---|---|
| collectionDesc | Object | Pass a valid database query to run on the list of NamedUserCollections. The collections lookup will be filtered by the namespaces in the user's context. |
| collectionProject | UNKNOWN: OptionalType | Pass an object that contains one or more projection specifiers to enable or disable the NamedUserCollection fields in the response |
| query | UNKNOWN: OptionalType | Pass a valid database query to find RelatedItems in the selected NamedUserCollections. |
| options | UNKNOWN: OptionalType | Define the query control options such as pagination, sorting and projection. These options work on the results of the criteria defined in parent.query. |
CustomRelatedItemQuery#
There are three types of CustomRelatedItemQuery for related items. Please use any one of them 1. FindWithRelatedQuery 2. FindInCollectionsQuery 3. DistinctRelatedItemFieldQuery
Type: Object
CustomRelatedItemQueryResponse#
Custom related query responses are returned as a CustomRelatedItemQueryResponse type object.
Type: Object
| Property | Type | Description |
|---|---|---|
| _list | Array<RelatedItemQueryResponse> | Contains the result collections with parent and child RelatadItems |
| _time | String | Time taken to execute the query |
- Sample response of FindWithRelatedQueryResponse
{ "_list": [ { "_uri": "/nameduseritems/5ced0ce85502b659e49cad12", "_name": "1Mb_4222225_elements", "_tipVersion": 2, "_itemClass": "NamedUserCollection", "_userItemId": "1mb_4222225_ba_elem_OYK5UKTTTl", "_tipId": "5cee29f98702dd0b75f7983d", "_versions": [ { "_userItemDbId": "5ced0ce85502b659e49cad12", "_relatedItems": { "_pageSize": 2, "_list": [ { "_id": "5ced0cdea717bb1892f81a93", "source_id": "150f10e7-70e9-40e4-86e8-4fb92aa169a8-000bd95a", "package_id": 12143, "type_elements": { "_pageSize": 2, "_list": [ { "_id": "5ced0cdea717bb1892f81464", "properties": { "Revit Category": { "val": "OST_StructuralFraming" }, "baBIMAssureType": { "val": "Beams" } } }, { "_id": "5ced0cdea717bb1892f81464", "properties": { "Revit Category": { "val": "OST_StructuralFraming" }, "baBIMAssureType": { "val": "Beams" } } } ], "_offset": 0, "_total": 2 } }, { "_id": "5ced0cdea717bb1892f81a94", "source_id": "e5db3719-101e-4bac-b26e-161a11a108f3-000fc8f5", "package_id": 15208, "type_elements": { "_pageSize": 2, "_list": [ { "_id": "5ced0cdea717bb1892f81464", "properties": { "Revit Category": { "val": "OST_StructuralFraming" }, "baBIMAssureType": { "val": "Beams" } } }, { "_id": "5ced0cdea717bb1892f81464", "properties": { "Revit Category": { "val": "OST_StructuralFraming" }, "baBIMAssureType": { "val": "Beams" } } } ], "_offset": 0, "_total": 2 } } ], "_offset": 0, "_total": 2 "_filteredSize": 2 // will be available when relatedFilter is used. There may be chance _pageSize and _filteredSize differs. Because _pageSize is calculated based on parent query, whereas _filteredSize is number of items in the response. In other words it is number of parent items has children by matching child query. }, "_id": "5ced191a91816a6d369aacaa", "_isTip": false, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559039208862, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559112185463 }, "_version": 1 }, { "_userItemDbId": "5ced0ce85502b659e49cad12", "_relatedItems": { "_pageSize": 2, "_list": [ { "_id": "5ced0cdea717bb1892f81a92", "source_id": "150f10e7-70e9-40e4-86e8-4fb92aa169a8-000bd958", "package_id": 12138, "type_elements": { "_pageSize": 0, "_list": [], "_offset": 0, "_total": 0 } }, { "_id": "5ced0cdea717bb1892f81a93", "source_id": "150f10e7-70e9-40e4-86e8-4fb92aa169a8-000bd95a", "package_id": 12143, "type_elements": { "_pageSize": 0, "_list": [], "_offset": 0, "_total": 0 } } ], "_offset": 0, "_total": 15 }, "_id": "5cee29f98702dd0b75f7983d", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559039208862, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559112185464 }, "_version": 2 } ], "_irn": "itemsvc:nameduseritem:5ced0ce85502b659e49cad12", "_id": "5ced0ce85502b659e49cad12", "_kind": "collection" } ], "_time": "107ms"}```2. Sample Response FindInCollectionsQuery ```javascript{ "_list": [ { "_uri": "/nameduseritems/5cee7fef6505d6286dbca46a", "_name": "11_new_geom_view", "_tipVersion": 1, "_itemClass": "NamedUserCollection", "_userItemId": "11_new_geom_view_4LeaYYWpsz", "_tipId": "5cee80c1fa298d0d3e34e23c", "_versions": [ { "_userItemDbId": "5cee7fef6505d6286dbca46a", "_relatedItems": { "_pageSize": 0, "_list": [], "_offset": 0, "_total": 0 }, "_id": "5cee80c1fa298d0d3e34e23c", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191563, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134191563 }, "_version": 1 } ], "_irn": "itemsvc:nameduseritem:5cee7fef6505d6286dbca46a", "_id": "5cee7fef6505d6286dbca46a", "_kind": "collection" }, { "_uri": "/nameduseritems/5cee7fee6505d6286dbca468", "_name": "11_new_elem_props", "_tipVersion": 1, "_itemClass": "NamedUserCollection", "_userItemId": "11_new_elprops_qagnj32kE7", "_tipId": "5cee80c1fa298d0d3e34e23a", "_versions": [ { "_userItemDbId": "5cee7fee6505d6286dbca468", "_relatedItems": { "_pageSize": 0, "_list": [], "_offset": 0, "_total": 0 }, "_id": "5cee80c1fa298d0d3e34e23a", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134190147, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134190147 }, "_version": 1 } ], "_irn": "itemsvc:nameduseritem:5cee7fee6505d6286dbca468", "_id": "5cee7fee6505d6286dbca468", "_kind": "collection" }, { "_uri": "/nameduseritems/5cee7fee6505d6286dbca469", "_name": "11_new_elements", "_tipVersion": 2, "_itemClass": "NamedUserCollection", "_userItemId": "11_new_ba_elem_1sjwcciumd", "_tipId": "5cee814dfa298d0d3e34e246", "_versions": [ { "_userItemDbId": "5cee7fee6505d6286dbca469", "_relatedItems": { "_pageSize": 5, "_list": [ { "_id": "5cee7fe8c27e69cd0209ef58", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-0003842e" }, { "_id": "5cee7fe8c27e69cd0209ef59", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038450" }, { "_id": "5cee7fe8c27e69cd0209ef5a", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038463" }, { "_id": "5cee7fe8c27e69cd0209ef5b", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038933" }, { "_id": "5cee7fe8c27e69cd0209ef5c", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038950" } ], "_offset": 0, "_total": 5 }, "_id": "5cee80c1fa298d0d3e34e23b", "_isTip": false, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191035, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134542075 }, "_version": 1 }, { "_userItemDbId": "5cee7fee6505d6286dbca469", "_relatedItems": { "_pageSize": 3, "_list": [ { "_id": "5cee7fe8c27e69cd0209ef58", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-0003842e" }, { "_id": "5cee7fe8c27e69cd0209ef59", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038450" }, { "_id": "5cee7fe8c27e69cd0209ef5b", "source_id": "dd7a8b4b-7241-4687-87aa-fd7906f76354-00038933" } ], "_offset": 0, "_total": 3 }, "_id": "5cee814dfa298d0d3e34e246", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191035, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134542086 }, "_version": 2 } ], "_irn": "itemsvc:nameduseritem:5cee7fee6505d6286dbca469", "_id": "5cee7fee6505d6286dbca469", "_kind": "collection" }, { "_uri": "/nameduseritems/5cee7fef6505d6286dbca46b", "_name": "11_new_type_el", "_tipVersion": 1, "_itemClass": "NamedUserCollection", "_userItemId": "11_new_type_el_uUUlgM1sn4", "_tipId": "5cee80c1fa298d0d3e34e23d", "_versions": [ { "_userItemDbId": "5cee7fef6505d6286dbca46b", "_relatedItems": { "_pageSize": 0, "_list": [], "_offset": 0, "_total": 0 }, "_id": "5cee80c1fa298d0d3e34e23d", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191623, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134191623 }, "_version": 1 } ], "_irn": "itemsvc:nameduseritem:5cee7fef6505d6286dbca46b", "_id": "5cee7fef6505d6286dbca46b", "_kind": "collection" } ], "_time": "22ms"}```3.Sample Response DistinctRelatedItemFieldQuery ```javascript{ "_list": [ { "_uri": "/nameduseritems/5cee7fee6505d6286dbca469", "_tipVersion": 2, "_itemClass": "NamedUserCollection", "_userItemId": "11_new_ba_elem_1sjwcciumd", "_tipId": "5cee814dfa298d0d3e34e246", "_versions": [ { "_userItemDbId": "5cee7fee6505d6286dbca469", "_relatedItems": { "type_id": [ 1, 26, 55, 60 ] }, "_id": "5cee80c1fa298d0d3e34e23b", "_isTip": false, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191035, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134542075 }, "_version": 1 }, { "_userItemDbId": "5cee7fee6505d6286dbca469", "_relatedItems": { "type_id": [ 442, 463, 474, 506, 535, 554, 575, 610 ] }, "_id": "5cee814dfa298d0d3e34e246", "_isTip": true, "_metadata": { "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_createdAt": 1559134191035, "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c", "_updatedAt": 1559134542086 }, "_version": 2 } ], "_irn": "itemsvc:nameduseritem:5cee7fee6505d6286dbca469", "_id": "5cee7fee6505d6286dbca469", "_kind": "collection" } ], "_time": "20ms"}DistinctRelatedItemFieldQuery#
Find distinct related items from each collection in the query result
Type: CustomRelatedItemQuery
| Property | Type | Description |
|---|---|---|
| collectionDesc | Object | Pass an object with your key-value criteria to target NamedUserCollections you want to look up. The lookup is filtered by the namespaces in the user's context. |
| collectionProject | UNKNOWN: OptionalType | Pass an object that contains one or more projection specifiers to enable or disable the NamedUserCollection fields in the response. |
| field | String | Name of the field whose distinct values you want to look up. Fields within subdocuments or arrays of subdocuments can be looked up using the dot notation. e.g. properties.name |
| query | UNKNOWN: OptionalType | Pass an object that contains a valid database query to filter the RelatedItems before the distinct field value lookup. |
// Sample Request
{ "$distinctRelatedItemField": { "collectionDesc": { "_userItemId": "11_new_ba_elem_1sjwcciumd", "_versions.all": true // Optional, Search over all the versions if its true, otherwise searches only in tip version. Default false }, "collectionProject": { "_id": 1, "_userItemId": 1 }, "field": "type_id", "query": {} }}/DistinctRelatedItemResponse#
Type: Object
| Property | Type | Description |
|---|---|---|
| null | Array<Object> | - The given property name that contains the distinct query items. |
FindInCollectionsQuery#
Use to look up NamedUserCollection types and their RelatedItems based on your criteria
Type: CollectionQuery
// It works as below,// 1. It executes `parent.collectionDesc` with given `parent.collectionProject`.// 2. For each collection from above, filters for related items by `parent.query` with `parent.options`// 3. The response would have collections and related items.
// Sample Request{ "$findInCollections": { "collectionDesc": { "_itemClass": "NamedUserCollection" "_versions.all": true // Optional, Search over all the versions if its true, otherwise searches only in tip version. Default false }, "collectionProject": { "_userItemId": 1, "_name": 1 }, "query": { "type_id": 278 }, "options": { "project": { "source_id": 1 }, "page": { "_pageSize": 100, "_offset": 0 }, "sort": { "_metadata._updatedAt": 1 } } }}FindWithRelatedQuery#
Looks up RelatedItems in multiple NamedUserCollections at a depth of one relationship level.
Type: CustomRelatedItemQuery
| Property | Type | Description |
|---|---|---|
| parent | CollectionQuery | Define and pass a CollectionQuery object to target parent collections that contain RelatedItems you want to look up. |
| relatedFilter | UNKNOWN: OptionalType | Define criteria to filter the parent RelatedItems based on their child RelatedItems. You can use either or , not both. |
| related | UNKNOWN: OptionalType | Define criteria to look up child RelatedItems. You can use either or , not both. |
Simple related query
//The query execution flow below
// 1. It executes `parent.collectionDesc` with given `parent.collectionProject`.// 2. For each collection from above, filters for related items by `parent.query` with `parent.options`// 3. Execute related query by `relatedDesc` for the collection// 4. Filter children for each related collection by `related.query` with related.options provided// 5. The consolidated children would be added related item response with key `as` property.// 6. Please refer {@link CustomRelatedItemQueryResponse} for the output
{"$findWithRelated": { "parent": { "collectionDesc": { "_userItemId": "1mb_4222225_ba_elem_OYK5UKTTTl" "_versions.all": true // Optional, Search over all the versions if its true, otherwise searches only in tip version. Default false }, "query": { "type_id": 1213 }, "collectionProject": { "_userItemId": 1, "_name": 1 }, "options": { "project": { "source_id": 1, "package_id": 1 }, "page": { "_pageSize": 200, "_offset": 0 }, "sort": { "_metadata._updatedAt": 1 } } }, "related": [ { "relatedDesc": { "_relatedUserType": "rvt_type_elements" }, "query": { "properties.OmniClass Title.val": "Beams" }, "options": { "project": { "properties.Revit Category.val": 1, "properties.baBIMAssureType.val": 1 }, "page": { "_pageSize": 100, "_offset": 0 }, "sort": { "_metadata._updatedAt": 1 } }, "as": "type_element" } ]}``` Sample request for related filter query```javascript// It executes as below
// 1. It executes `parent.collectionDesc` with given `parent.collectionProject`.// 2. For each collection from above, filters for related items by `parent.query` with `parent.options`// 3. Execute related query by `relatedDesc` for the collection// 4. Filter children for each related collection by `relatedFilter.[$or|$and]` with related.options provided// 5. The consolidated children would be added related item response with key `as` property.// 6. If related item doesn't have match any children by its query then the related item(parent) would be ignored in the response// 7. lease refer {@link CustomRelatedItemQueryResponse} for the output{ "$findWithRelated": { "parent": { "collectionDesc": { "_userItemId": "11_new_ba_elem_1sjwcciumd", "_versions.all": true // Optional, Search over all the versions if its true, otherwise searches only in tip version. Default false }, "collectionProject": { "_userItemId": 1 }, "query": { "type_id": 278 }, "options": { "project": { "source_id": 1 }, "page": { "_pageSize": 100, "_offset": 0 }, "sort": { "_metadata._updatedAt": 1 } } }, "relatedFilter": { "includeResult": true, "$or": [ { "relatedDesc": { "_relatedUserType": "rvt_type_elements" }, "query": { "properties.Revit Category.val": "OST_Windows" }, "options": { "project": { "properties.Revit Category.val": 1, "properties.baBIMAssureType.val": 1 }, "page": { "_pageSize": 100, "_offset": 0 }, "sort": { "_metadata._updatedAt": 1 } }, "as": "type_elements" } ] } }}FindWithRelatedQueryParentResponse#
Type: RelatedItem
| Property | Type | Description |
|---|---|---|
| null | Page<RelatedItem> | - The given property name for the 'as' parameter in the query. Contains the child RelatedItems. |
RelatedFilter#
Insert a relatedFilter in your findWithRelated query to filter for parent items that match a child item query across NamedUserCollections.
Type: Object
| Property | Type | Description |
|---|---|---|
| includeResult | UNKNOWN: OptionalType | Set to true to include matching child items in the response. If you do not include this property, the default is false. |
In a list, enter the child item filter arguments you want either the OR or AND logical operator to evaluate. An array of child RelatedItem filter criteria to be evaluated with the OR logical operator. Should use either $or or $and but not both together| |$or|Array<RelatedQuery>|The list of filter criteria for child RelatedItems to evaluate with the OR logical operator. Use either $or or $and but not both together.| |$and|Array<RelatedQuery>|The list of filter criteria for child RelatedItems to evaluate with the AND logical operator. Use either $or or $and but not both together.|
RelatedItemQueryOptions#
Type: Object
| Property | Type | Description |
|---|---|---|
| project | JSON | Pass an object that contains one or more projection specifiers to enable or disable the RelatedItem fields in the response |
| sort | JSON | Pass an object that contains one or more sort specifiers to sort the results based on fields in the RelatedItems. |
| page | PageRequest | page request, by default _pageSize is 200 and _offset as 0. |
let options = { "project":{"_id": 1, "dtCategory": 1}, "sort": {"dtType":1}, // -1 for descending order "page": {"_offset": 10, "_pageSize": 20} // default page size: 200, max page Size: 1000}RelatedItemQueryResponse#
RelatedItem query responses are returned as a RelatedItemQueryResponse type object.
Type: NamedUserCollection
| Property | Type | Description |
|---|---|---|
| _versions | Array<RelatedItemQueryResponseVersion> | Contains matching versions with related items(parent) |
RelatedItemQueryResponseVersion#
RelatedItemVersion query responses are returned as a RelatedItemQueryResponseVersion type object.
Type: NamedUserItemVersion
| Property | Type | Description |
|---|---|---|
| _relatedItems | (Page<FindWithRelatedQueryParentResponse> | Page<RelatedItem> | Page<DistinctRelatedItemResponse>) | A page of the response items. For a findWithRelatedQuery, the parent RelatedItems; for findInCollection queries, the RelatedItems; for DistinctRelateditemFieldQuery, the distinct RelatedItems. |
RelatedQuery#
Insert a RelatedQuery in your findWithRelated query to define criteria to look up child related items.
Type: Object
| Property | Type | Description |
|---|---|---|
| relatedDesc | Object | Add your relationship query for the selected parent RelatedItems as a valid simple query. |
| query | UNKNOWN: OptionalType | Add a valid simple query to filter the child related items you selected in the related.relatedDesc query. |
| options | UNKNOWN: OptionalType | Pass an object that can contain the following response options parameters for the results of the criteria you define in related.query: "page", "project", "sort". These options work on the results of the criteria defined in . |
| as | String | Name the field that will contain the child RelatedItem results in the response. |
RelatedCollection#
Define a RelatedCollection when you want to add an existing collection, such as a NamedUserCollection or NamedFileCollection, to a NamedCompositeItem.
Type: RelatedCollection
| Property | Type | Description |
|---|---|---|
| _id | String | The RelatedCollection's database id. |
| _userItemId | String | The collection's _userItemId value |
| _userType | String | The collection's _userType value |
| _itemId | String | The collection's _id value |
| _userItemClass | String | The collection's NamedUserItem class, such as a "NamedUserCollection" or "NamedFileCollection" |
| _userItemVersionId | String | The collection's version id |
| _userItemVersion | Number | The collection's version number |
RelatedCollectionCriteria#
Define criteria to target RelatedCollections.
Type: Object
| Property | Type | Description |
|---|---|---|
| query | JSON | Pass an object that contains your query. |
// simple filter exampleslet query = { "_userType": "file_container" }let query = { "_itemId": {"$in": [ "5c9328e8b834740001cd95d4","5c9328e8b834740001cd95d4" ] }}
// complex querylet query = { "$and": [ { "_userType":"file_container", "_itemId": { "$in": ["5dafe5736f2d3a4dcc55fa14","68afe5736f2d3a4dcc55fa14"] } } ]}RelatedItem#
An object with user-created properties that can be related to NamedUserCollection types and other RelatedItem types.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The database id |
RelatedItemCriteria#
Query object to target RelatedItems that match your query
Type: Object
| Property | Type | Description |
|---|---|---|
| query | JSON | Pass an object that contains your query. |
// simple filter exampleslet query = { "dtCategory": "Casework", "dtType": "Counter" }let query = {"_id": { "$in": ["5c9328e8b834740001cd95d4","5c9328e8b834740001cd95d4"] }}
// complex querylet query = { "$and": [ { "type_id": "28", "dtType":"Counter" } ], "$or": [ { "package_id": 29 }, { "_id": { "$in": ["5c9328e8b834740001cd95d4","5d31574411efe92d8832c21c"] } } ]}RelatedItemCriteriaOptions#
Define response options for NamedUserItems with Item Service platform APIs.
Type: Object
| Property | Type | Description |
|---|---|---|
| project | JSON | Pass an object that contains one or more projection criteria specifiers. |
| sort | JSON | Pass an object that contains one or more sort criteria specifiers. Set a property to 1 to sort ascending and -1 to sort descending. |
| page | PageRequest | Pass an object that contains one or more pagination options. |
| pagedRes | boolean | Set to true to get a Page class result rather than an array, which is the default. The default page size is 200, which is also the maximum./** |
| Define response options for RelatedItems with Item Service platform APIs. | ||
| project | UNKNOWN: OptionalType | Pass an object that contains one or more projection criteria specifiers. |
| sort | UNKNOWN: OptionalType | Pass an object that contains one or more sort criteria specifiers. Set a property to 1 to sort ascending and -1 to sort descending. |
| page | UNKNOWN: OptionalType | Pass an object that contains one or more pagination options. |
| userItemVersionId | UNKNOWN: OptionalType | To return a particular user item version, pass the version id. Without this parameter, it looks up the tip version. |
| pagedRes | UNKNOWN: OptionalType | Set to true to get a Page class result rather than an array, which is the default. The default page size is 200, and the maximum is 1000. |
// lookup from tip versionlet options = { "project":{ "_id": 1, "dtCategory": 1 }, "sort": { "dtType": 1 }, "page": { "_offset": 10, "_pageSize": 20 }}
// lookup from particular versionlet options = { "project":{ "_id": 1, "dtCategory": 1 }, "sort": { "dtType": 1 }, "page": { "_offset": 10, "_pageSize": 20 }, "userItemVersionId": "5cee803a6505d6286dbca522"}Relationship#
Use the Relationship class to define a relationship from a RelatedItem to one or more RelatedItems.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | id UUID |
| _relatedUserItemId | String | The _userItemId of the parent item’s collection |
| _relatedUserItemDbId | String | The _id of the parent item’s collection |
| _relatedUserItemVersionId | String | The _userItemId of the parent item’s collection version |
| _relatedUserItemVersion | Number | The parent collection's version number |
| _relatedUserItemClass | String | The NamedUserItem class of the parent item's collection, such as NamedUserCollection or NamedFileCollection |
| _relatedToIds | Array<String> | Array of one or more RelatedItem ids to create relationships with as children. |
| _relatedUserType | String | A custom userType to identify the relationship |
| _relatedFromId | String | RelatedItem id of parent related item |
| _isInverse | boolean | Set to true to invert the relationship to a child-parent relationship. Set to false for a parent-child relationship. |
| _userType | String | User defined type of the relationship. |
| _customAttributes | Object | Add custom attributes in key-value pairs |
RelationshipCriteria#
Type: Object
| Property | Type | Description |
|---|---|---|
| query | JSON | Pass an object that contains one or more projection specifiers. |
// simple filter exampleslet query = { "_relatedUserType": "file_container" }let query = { "_id": { "$in": ["5c9328e8b834740001cd95d4","5c9328e8b834740001cd95d4"] }}
// complex querylet query = { "$and":[ { "_relatedUserType": "file_container", "_relatedToIds": { "$in": [ "5dafe5736f2d3a4dcc55fa14","68afe5736f2d3a4dcc55fa14" ] } } ]}RelationshipCriteriaOptions#
Define response options for Relationship queries
Type: Object
| Property | Type | Description |
|---|---|---|
| project | JSON | Pass an object that contains one or more projection criteria specifiers. |
| sort | JSON | Pass an object that contains one or more sort criteria specifiers. Set a property to 1 to sort ascending and -1 to sort descending. |
| page | PageRequest | Pass an object that contains one or more pagination options. The default page size is 200, which is also the max page size. |
| userItemVersionId | String | To return a particular user item version, pass the version id. Without this parameter, it looks up the tip version. |
// lookup from tip versionlet options = { "project": { "_relatedUserType": 1, "_relatedFromId": 1 }, "sort": { "_relatedUserType": 1 }, "page": {"_offset": 10, "_pageSize": 20}}
// lookup from particular versionlet options = { "project": { "_relatedUserType": 1, "_relatedFromId": 1 }, "sort": { "_relatedUserType": 1 }, "page": { "_offset": 10, "_pageSize": 20 }, "userItemVersionId": "5cee803a6505d6286dbca522"}ResourceDescriptor#
Use the ResourceDescriptor type to target a single resource or multiple resources that match your criteria
Type: Object
| Property | Type | Description |
|---|---|---|
| _irn | String | A resource name, which uses the following pattern: ::<resource_id>. For example, see the following IRN for a file: filesvc:file:4e2b9de5-9a73-44f9-8153-bc0904b694c5 |
| _criteria | UNKNOWN: OptionalType | Filter criteria as key-value pairs |
ResuambleFileUploadProps#
Use the ResuambleFileUploadProps to define and handle resumable file uploads.
Type: Object
| Property | Type | Description |
|---|---|---|
| filename | String | File name |
| tags | UNKNOWN: OptionalType | Array of string tags to attribute to the file |
| onComplete | Function | Callback function for when the file upload completes |
| onProgress | Function | Callback function for when the file upload is in progress |
| onError | Function | Callback function for when the file upload fails |
| headers | FileHeaders | The headers will be applied to the HTTP response during download |
Script#
A user-created script. The Script class is a subclass of the NamedUserItem class and inherits its properties.
Type: NamedUserItem
| Property | Type | Description |
|---|---|---|
| _version | ScriptVersion | A given version of the script's content. |
ScriptVersion#
ScriptVersion contains a _userData property with the Script's versioned content. The ScriptVersion is contained in the Script class's _version property.
Type: NamedUserItemVersion
| Property | Type | Description |
|---|---|---|
| _userData | String | Script content |
UploadMeta#
Type: Object
| Property | Type | Description |
|---|---|---|
| _size | Number | |
| _uploadOffset | Number | |
| _checksum | String | |
| _uploadId | String |
User#
The User type defines a system user.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | User id as UUID |
| _firstname | String | The user's first name |
| _lastname | String | The user's last name |
| _email | String | The user's email |
| _isSocial | boolean | Set to true if the user is created by social login |
| _disabled | boolean | Set to true to disable the user |
UserCollectionBulkOperationOptions#
Use the UserCollectionBulkOperationOptions type to process bulk operation asynchronously.
Type: UserCollectionOptions
| Property | Type | Description |
|---|---|---|
| async | UNKNOWN: OptionalType | Set to true to process bulk operation asynchronously. The promise response contains a URL to check the async process status. |
UserCollectionOptions#
Look up NamedUserCollections under a specfic version.
Type: ItemsvcOptions
| Property | Type | Description |
|---|---|---|
| userItemVersionId | UNKNOWN: OptionalType | Looks up under a given version rahter than the tip version. |
UserConfig#
A user-created configuration. The UserConfig class is a subclass of the NamedUserItem class and inherits its properties.
Type: NamedUserItem
| Property | Type | Description |
|---|---|---|
| _version | UserConfigVersion | A given version of the UserConfig's content. |
UserConfigVersion#
UserConfigVersion contains a _userData property with the UserConfig's versioned content. The UserConfigVersion is contained in the UserConfig class's _version property.
Type: NamedUserItemVersion
| Property | Type | Description |
|---|---|---|
| _userData | String | User config content |
UserCriteria#
Use the UserCriteria type to define a "starts with" filter query for a user by email, first name, or last name.
Type: Object
| Property | Type | Description |
|---|---|---|
| query | String | Pass a string that contains an email, first name, or last name that you want to apply a startsWith filter to |
UserGroup#
The UserGroup type defines a group of users and the workspaces they can access.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | The UserGroup's UUID |
| _description | String | The UserGroup's description |
| _name | String | Readable long-form UserGroup name, such as "Project 1 developer operations group" |
| _shortName | String | Shorter abbreviation of the UserGroup name that is used for reference, such as "dev_ops_proj_1" |
| _namespaces | Array<String> | List the namespaces that the UserGroup has access to |
| _userAttributes | UNKNOWN: OptionalType | Add custom key-value pairs. Add the attribute name to the key, for example, _userAttributes.<attribute_name>: <attribute_value> |
| _userType | String | User type |
| _isMember | boolean | Set to true if the current user is a member of the UserGroup |
UserGroupDescriptor#
It define user group along with permission granted for the user group.
Type: UserGroup
| Property | Type | Description |
|---|---|---|
| permissions | IafPermissionDescriptor | The list of permission granted for the usergroup |
Workspace#
Use the Workspace type to define a workspace in the Passport Service.
Type: Object
| Property | Type | Description |
|---|---|---|
| _id | String | Project UUID, which the platform attributes after the Workspace is created |
| _description | UNKNOWN: OptionalType | A description of the Workspace and its purpose |
| _name | String | Readable long-form Workspace name, such as "Project 1 Workspace" |
| _shortName | String | Shorter abbreviation of the Workspace name that is used for reference, such as "proj_1_ws" |
| _namespaces | Array<String> | List the namespaces that the Workspace has access to |
| _userAttributes | UNKNOWN: OptionalType | Add custom attributes to the Workspace class object |