Skip to main content

Backward Compatibility

Certain Unito features necessitate additional configuration to operate as intended.

Users

By assigning a USER semantic to a field of type REFERENCE, Unito can interpret the values of this field as users within that system. The referenced items must adhere to the following schema;

  1. One field with the DISPLAY_NAME semantic.
  2. Zero or more fields of type EMAIL.

No matter where your users are first encountered, be it an author on a comment, an assignee on a task, or an invitee to an event, Unito might try to load them from a relation at the root of your graph. For this reason, to enable full user support, you can assign a USERS semantic to a relation present on your root item.

Subtasks

By assigning a SUBTASKS semantic to a subitem relationship, Unito will treat that relation the same way it treats subtasks for classic connectors. That relation must specify its schema as being the same one as the main item using the __self keyword.

Attachments

By assigning an ATTACHMENTS semantic to a subitem relationship, Unito will treat that relation the same way it treats streamable attachments for classic connectors. That relation must specify several fields that are necessary for the feature to operate correctly;

{
name: 'attachments',
label: 'Attachments',
semantic: Api.RelationSemantic.ATTACHMENTS,
path: '/path/to/attachments',
schema: {
label: 'Attachment',
fields: [
{
name: 'id',
label: 'id',
type: Api.FieldValueType.STRING,
},
{
name: 'name',
label: 'name',
type: Api.FieldValueType.STRING,
},
{
name: 'url',
label: 'url',
type: Api.FieldValueType.URL,
},
{
name: 'sizeInBytes',
label: 'size',
type: Api.FieldValueType.NUMBER,
},
{
name: 'mimeType',
label: 'size',
type: Api.FieldValueType.STRING,
},
{
name: 'file',
label: 'file',
type: Api.FieldValueType.BLOB,
},
],
},
}

Comments

By assigning a COMMENTS semantic to a subitem relationship, Unito will treat that relation the same way it treats comments for classic connectors. That relation must specify several fields that are necessary for the feature to operate correctly;

  1. One field with the DESCRIPTION semantic.
  2. One field with the CREATED_AT semantic.
  3. One field with the UPDATED_AT semantic.
  4. One field with the USER semantic representing the author of that comment. See the Users section for details.

In addition to the above, the comments collection page must properly allow for filtering and selection of specific fields, including subfields. See the Select and Filters page for more details. When querying for your comments, Unito will ask for all of these fields. An example interaction might look like this;

GET /tasks/1/comments?select=content,createdAt,updatedAt,author.name
{
"info": {},
"data": [
{
"path": "/tasks/1/comments/1",
"fields": {
"content": "This task is sooo good!",
"createdAt": "2024-01-01T16:43:23Z",
"updatedAt": "2024-01-01T16:43:23Z",
"author": {
"path": "/users/1",
"fields": {
"name": "John Doe"
}
}
}
}
]
}