2021-06-27 00:09:46 +02:00
|
|
|
interface Base {
|
2021-06-28 11:21:37 +02:00
|
|
|
_id?: string
|
|
|
|
_rev?: string
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface TableSchema {
|
|
|
|
[key: string]: {
|
|
|
|
// TODO: replace with field types enum when done
|
2021-06-28 11:21:37 +02:00
|
|
|
type: string
|
|
|
|
fieldName?: string
|
|
|
|
name: string
|
2021-06-27 00:09:46 +02:00
|
|
|
constraints?: {
|
2021-06-28 11:21:37 +02:00
|
|
|
type?: string
|
|
|
|
email?: boolean
|
|
|
|
inclusion?: string[]
|
2021-06-27 00:09:46 +02:00
|
|
|
length?: {
|
2021-06-28 11:21:37 +02:00
|
|
|
minimum?: string | number
|
|
|
|
maximum?: string | number
|
|
|
|
}
|
|
|
|
presence?: boolean
|
|
|
|
}
|
|
|
|
}
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface Table extends Base {
|
2021-06-28 11:21:37 +02:00
|
|
|
type?: string
|
|
|
|
views?: {}
|
|
|
|
name?: string
|
|
|
|
primary?: string[]
|
|
|
|
schema: TableSchema
|
|
|
|
primaryDisplay?: string
|
|
|
|
sourceId?: string
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface Row extends Base {
|
2021-06-28 11:21:37 +02:00
|
|
|
type?: string
|
|
|
|
tableId: string
|
|
|
|
[key: string]: any
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
interface JsonSchemaField {
|
|
|
|
properties: {
|
|
|
|
[key: string]: {
|
2021-06-28 11:21:37 +02:00
|
|
|
type: string
|
|
|
|
title: string
|
|
|
|
customType?: string
|
|
|
|
}
|
|
|
|
}
|
|
|
|
required?: string[]
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface AutomationStep {
|
2021-06-28 11:21:37 +02:00
|
|
|
description: string
|
|
|
|
event?: string
|
|
|
|
icon: string
|
|
|
|
id: string
|
2021-06-27 00:09:46 +02:00
|
|
|
inputs: {
|
2021-06-28 11:21:37 +02:00
|
|
|
[key: string]: any
|
|
|
|
}
|
|
|
|
name: string
|
2021-06-27 00:09:46 +02:00
|
|
|
schema: {
|
2021-06-28 11:21:37 +02:00
|
|
|
inputs: JsonSchemaField
|
|
|
|
outputs: JsonSchemaField
|
|
|
|
}
|
|
|
|
stepId: string
|
|
|
|
tagline: string
|
|
|
|
type: string
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface Automation extends Base {
|
2021-06-28 11:21:37 +02:00
|
|
|
name: string
|
|
|
|
type: string
|
|
|
|
appId?: string
|
2021-06-27 00:09:46 +02:00
|
|
|
definition: {
|
2021-06-28 11:21:37 +02:00
|
|
|
steps: AutomationStep[]
|
|
|
|
trigger?: AutomationStep
|
|
|
|
}
|
2021-06-27 00:09:46 +02:00
|
|
|
}
|