App schema
Each app should follow strict schema with the following structure (all fields are required):| Name | Type | Description | Example |
|---|---|---|---|
| name | string | Name | ”MyApp” |
| website | string | Website | ”http://myawesomeapp.com” |
| version | string | Version | ”1.0.0” |
| description | string | Description | ”My awesome app” |
| authentication | Array | Authentications | [{id: "none", name: "no auth"}] |
| sources | Array | Empty array | [] |
| responsibleFor | Object | Responsibilities |
|
Authentication
Authentication model represents type of authentication in app and has following structure:| Name | Type | Description | Required | Example |
|---|---|---|---|---|
| id | string | Identity of authenticaiton | true | ”oauth” or “token” |
| name | string | Name of authentication | true | ”Connection Settings” |
| description | string | Description of authentication | false | ”Give the name for connection” |
| fields | Array | Authentication fields | false | [{optional: false, id: "accountName", name: "Title", type: "text", description: 'Give the name for connection'}] |
Authentication field
Authentication field represents the field in account. So account that will send to API endpoints will consist of the authentication fields. Authentication field has following structure:| Name | Type | Description | Required | Example |
|---|---|---|---|---|
| id | string | Id of field. The id will be specified in account object. | true | ”accountName” |
| name | string | Name of the field. Will be displayed in auth form. | true | ”Title” |
| type | string | Type of the field | true | ”text” |
| description | string | Description of the field | true | ”Give the name for connection” |
| optional | boolean | Is the field optional | false | false |
| value | string | Default value of the field | false | null |
Filter
Filter represents filter that will be applied on data. Filter has following structure:| Name | Type | Description | Required | Example |
|---|---|---|---|---|
| id | string | Id of filter | true | ”table” |
| title | string | Title of filter | true | ”Table” |
| type | string | Type of filter | true | ”list” |
| datalist | boolean | Is filter has values to select from | false | true |
| optional | boolean | Is filter optional | false | false |
| secured | boolean | Secured filter values are not available for change by non-owner | false | true |