1126 lines
42 KiB
TypeScript
1126 lines
42 KiB
TypeScript
/**
|
|
* This file was auto-generated by openapi-typescript.
|
|
* Do not make direct changes to the file.
|
|
*/
|
|
|
|
export interface paths {
|
|
"/applications": {
|
|
post: {
|
|
parameters: {
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the created application. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["applicationOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["application"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/applications/{appId}": {
|
|
get: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the app which this request is targeting. */
|
|
appId: components["parameters"]["appIdUrl"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the retrieved application. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["applicationOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
put: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the app which this request is targeting. */
|
|
appId: components["parameters"]["appIdUrl"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the updated application. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["applicationOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["application"]
|
|
}
|
|
}
|
|
}
|
|
delete: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the app which this request is targeting. */
|
|
appId: components["parameters"]["appIdUrl"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the deleted application. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["applicationOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/applications/search": {
|
|
/** Based on application properties (currently only name) search for applications. */
|
|
post: {
|
|
parameters: {
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the applications that were found based on the search parameters. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["applicationSearch"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["nameSearch"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/queries/{queryId}": {
|
|
/** Queries which have been created within a Budibase app can be executed using this, */
|
|
post: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the query which this request is targeting. */
|
|
queryId: components["parameters"]["queryId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the result of the query execution. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["executeQueryOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["executeQuery"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/queries/search": {
|
|
/** Based on query properties (currently only name) search for queries. */
|
|
post: {
|
|
parameters: {
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the queries found based on the search parameters. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["querySearch"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["nameSearch"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables/{tableId}/rows": {
|
|
/** Creates a row within the specified table. */
|
|
post: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the created row, including the ID which has been generated for it. This can be found in the Budibase portal, viewed under the developer information. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["rowOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["row"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables/{tableId}/rows/{rowId}": {
|
|
/** This gets a single row, it will be enriched with the full related rows, rather than the squashed "primaryDisplay" format returned by the search endpoint. */
|
|
get: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
/** The ID of the row which this request is targeting. */
|
|
rowId: components["parameters"]["rowId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the retrieved row. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["rowOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/** Updates a row within the specified table. */
|
|
put: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
/** The ID of the row which this request is targeting. */
|
|
rowId: components["parameters"]["rowId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the created row, including the ID which has been generated for it. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["rowOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["row"]
|
|
}
|
|
}
|
|
}
|
|
/** Deletes a row within the specified table. */
|
|
delete: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
/** The ID of the row which this request is targeting. */
|
|
rowId: components["parameters"]["rowId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the deleted row, including the ID which has been generated for it. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["rowOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables/{tableId}/rows/search": {
|
|
post: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** The response will contain an array of rows that match the search parameters. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["searchOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": {
|
|
query: {
|
|
/**
|
|
* @description A map of field name to the string to search for, this will look for rows that have a value starting with the string value.
|
|
* @example [object Object]
|
|
*/
|
|
string?: { [key: string]: string }
|
|
/** @description A fuzzy search, only supported by internal tables. */
|
|
fuzzy?: { [key: string]: unknown }
|
|
/**
|
|
* @description Searches within a range, the format of this must be columnName -> [low, high].
|
|
* @example [object Object]
|
|
*/
|
|
range?: { [key: string]: unknown }
|
|
/** @description Searches for rows that have a column value that is exactly the value set. */
|
|
equal?: { [key: string]: unknown }
|
|
/** @description Searches for any row which does not contain the specified column value. */
|
|
notEqual?: { [key: string]: unknown }
|
|
/**
|
|
* @description Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.
|
|
* @example [object Object]
|
|
*/
|
|
empty?: { [key: string]: unknown }
|
|
/** @description Searches for rows which have the specified column. */
|
|
notEmpty?: { [key: string]: unknown }
|
|
/** @description Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2]. */
|
|
oneOf?: { [key: string]: unknown }
|
|
}
|
|
/** @description Enables pagination, by default this is disabled. */
|
|
paginate?: boolean
|
|
/** @description If retrieving another page, the bookmark from the previous request must be supplied. */
|
|
bookmark?: string | number
|
|
/** @description The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000. */
|
|
limit?: number
|
|
/** @description A set of parameters describing the sort behaviour of the search. */
|
|
sort?: {
|
|
/**
|
|
* @description The order of the sort, by default this is ascending.
|
|
* @enum {string}
|
|
*/
|
|
order?: "ascending" | "descending"
|
|
/** @description The name of the column by which the rows will be sorted. */
|
|
column?: string
|
|
/**
|
|
* @description Defines whether the column should be treated as a string or as numbers when sorting.
|
|
* @enum {string}
|
|
*/
|
|
type?: "string" | "number"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables": {
|
|
/** Create a table, this could be internal or external. */
|
|
post: {
|
|
parameters: {
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the created table, including the ID which has been generated for it. This can be internal or external datasources. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["tableOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["table"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables/{tableId}": {
|
|
/** Lookup a table, this could be internal or external. */
|
|
get: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the retrieved table. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["tableOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/** Update a table, this could be internal or external. */
|
|
put: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the updated table. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["tableOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["table"]
|
|
}
|
|
}
|
|
}
|
|
/** Delete a table, this could be internal or external. */
|
|
delete: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the table which this request is targeting. */
|
|
tableId: components["parameters"]["tableId"]
|
|
}
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the deleted table. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["tableOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/tables/search": {
|
|
/** Based on table properties (currently only name) search for tables. This could be an internal or an external table. */
|
|
post: {
|
|
parameters: {
|
|
header: {
|
|
/** The ID of the app which this request is targeting. */
|
|
"x-budibase-app-id": components["parameters"]["appId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the found tables, based on the search parameters. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["tableSearch"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["nameSearch"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/users": {
|
|
post: {
|
|
responses: {
|
|
/** Returns the created user. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["userOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["user"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/users/{userId}": {
|
|
get: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the user which this request is targeting. */
|
|
userId: components["parameters"]["userId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the retrieved user. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["userOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
put: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the user which this request is targeting. */
|
|
userId: components["parameters"]["userId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the updated user. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["userOutput"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["user"]
|
|
}
|
|
}
|
|
}
|
|
delete: {
|
|
parameters: {
|
|
path: {
|
|
/** The ID of the user which this request is targeting. */
|
|
userId: components["parameters"]["userId"]
|
|
}
|
|
}
|
|
responses: {
|
|
/** Returns the deleted user. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["userOutput"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
"/users/search": {
|
|
/** Based on user properties (currently only name) search for users. */
|
|
post: {
|
|
responses: {
|
|
/** Returns the found users based on search parameters. */
|
|
200: {
|
|
content: {
|
|
"application/json": components["schemas"]["userSearch"]
|
|
}
|
|
}
|
|
}
|
|
requestBody: {
|
|
content: {
|
|
"application/json": components["schemas"]["nameSearch"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export interface components {
|
|
schemas: {
|
|
application: {
|
|
/** @description The name of the app. */
|
|
name: string
|
|
/** @description The URL by which the app is accessed, this must be URL encoded. */
|
|
url: string
|
|
}
|
|
applicationOutput: {
|
|
data: {
|
|
/** @description The name of the app. */
|
|
name: string
|
|
/** @description The URL by which the app is accessed, this must be URL encoded. */
|
|
url: string
|
|
/** @description The ID of the app. */
|
|
_id: string
|
|
/**
|
|
* @description The status of the app, stating it if is the development or published version.
|
|
* @enum {string}
|
|
*/
|
|
status: "development" | "published"
|
|
/** @description States when the app was created, will be constant. Stored in ISO format. */
|
|
createdAt: string
|
|
/** @description States the last time the app was updated - stored in ISO format. */
|
|
updatedAt: string
|
|
/** @description States the version of the Budibase client this app is currently based on. */
|
|
version: string
|
|
/** @description In a multi-tenant environment this will state the tenant this app is within. */
|
|
tenantId?: string
|
|
/** @description The user this app is currently being built by. */
|
|
lockedBy?: { [key: string]: unknown }
|
|
}
|
|
}
|
|
applicationSearch: {
|
|
data: {
|
|
/** @description The name of the app. */
|
|
name: string
|
|
/** @description The URL by which the app is accessed, this must be URL encoded. */
|
|
url: string
|
|
/** @description The ID of the app. */
|
|
_id: string
|
|
/**
|
|
* @description The status of the app, stating it if is the development or published version.
|
|
* @enum {string}
|
|
*/
|
|
status: "development" | "published"
|
|
/** @description States when the app was created, will be constant. Stored in ISO format. */
|
|
createdAt: string
|
|
/** @description States the last time the app was updated - stored in ISO format. */
|
|
updatedAt: string
|
|
/** @description States the version of the Budibase client this app is currently based on. */
|
|
version: string
|
|
/** @description In a multi-tenant environment this will state the tenant this app is within. */
|
|
tenantId?: string
|
|
/** @description The user this app is currently being built by. */
|
|
lockedBy?: { [key: string]: unknown }
|
|
}[]
|
|
}
|
|
/** @description The row to be created/updated, based on the table schema. */
|
|
row: { [key: string]: unknown }
|
|
searchOutput: {
|
|
/** @description An array of rows, these will each contain an _id field which can be used to update or delete them. */
|
|
data: { [key: string]: unknown }[]
|
|
/** @description If pagination in use, this should be provided. */
|
|
bookmark?: string | number
|
|
/** @description If pagination in use, this will determine if there is another page to fetch. */
|
|
hasNextPage?: boolean
|
|
}
|
|
rowOutput: {
|
|
/** @description The row to be created/updated, based on the table schema. */
|
|
data: {
|
|
/** @description The ID of the row. */
|
|
_id: string
|
|
/** @description The ID of the table this row comes from. */
|
|
tableId: string
|
|
} & { [key: string]: unknown }
|
|
}
|
|
/** @description The table to be created/updated. */
|
|
table: {
|
|
/** @description The name of the table. */
|
|
name: string
|
|
/** @description The name of the column which should be used in relationship tags when relating to this table. */
|
|
primaryDisplay?: string
|
|
schema: {
|
|
[key: string]:
|
|
| {
|
|
/**
|
|
* @description A relationship column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "link"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description The name of the column which a relationship column is related to in another table. */
|
|
fieldName?: string
|
|
/** @description The ID of the table which a relationship column is related to. */
|
|
tableId?: string
|
|
/**
|
|
* @description Defines the type of relationship that this column will be used for.
|
|
* @enum {string}
|
|
*/
|
|
relationshipType?: "one-to-many" | "many-to-one" | "many-to-many"
|
|
/** @description When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. */
|
|
through?: string
|
|
/** @description When using a SQL table that contains a one to many relationship this defines the foreign key. */
|
|
foreignKey?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. */
|
|
throughFrom?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. */
|
|
throughTo?: string
|
|
}
|
|
| {
|
|
/**
|
|
* @description A formula column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "formula"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. */
|
|
formula?: string
|
|
/**
|
|
* @description Defines whether this is a static or dynamic formula.
|
|
* @enum {string}
|
|
*/
|
|
formulaType?: "static" | "dynamic"
|
|
}
|
|
| {
|
|
/**
|
|
* @description Defines the type of the column, most explain themselves, a link column is a relationship.
|
|
* @enum {string}
|
|
*/
|
|
type?:
|
|
| "string"
|
|
| "longform"
|
|
| "options"
|
|
| "number"
|
|
| "boolean"
|
|
| "array"
|
|
| "datetime"
|
|
| "attachment"
|
|
| "link"
|
|
| "formula"
|
|
| "auto"
|
|
| "json"
|
|
| "internal"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
}
|
|
}
|
|
}
|
|
tableOutput: {
|
|
/** @description The table to be created/updated. */
|
|
data: {
|
|
/** @description The name of the table. */
|
|
name: string
|
|
/** @description The name of the column which should be used in relationship tags when relating to this table. */
|
|
primaryDisplay?: string
|
|
schema: {
|
|
[key: string]:
|
|
| {
|
|
/**
|
|
* @description A relationship column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "link"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description The name of the column which a relationship column is related to in another table. */
|
|
fieldName?: string
|
|
/** @description The ID of the table which a relationship column is related to. */
|
|
tableId?: string
|
|
/**
|
|
* @description Defines the type of relationship that this column will be used for.
|
|
* @enum {string}
|
|
*/
|
|
relationshipType?:
|
|
| "one-to-many"
|
|
| "many-to-one"
|
|
| "many-to-many"
|
|
/** @description When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. */
|
|
through?: string
|
|
/** @description When using a SQL table that contains a one to many relationship this defines the foreign key. */
|
|
foreignKey?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. */
|
|
throughFrom?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. */
|
|
throughTo?: string
|
|
}
|
|
| {
|
|
/**
|
|
* @description A formula column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "formula"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. */
|
|
formula?: string
|
|
/**
|
|
* @description Defines whether this is a static or dynamic formula.
|
|
* @enum {string}
|
|
*/
|
|
formulaType?: "static" | "dynamic"
|
|
}
|
|
| {
|
|
/**
|
|
* @description Defines the type of the column, most explain themselves, a link column is a relationship.
|
|
* @enum {string}
|
|
*/
|
|
type?:
|
|
| "string"
|
|
| "longform"
|
|
| "options"
|
|
| "number"
|
|
| "boolean"
|
|
| "array"
|
|
| "datetime"
|
|
| "attachment"
|
|
| "link"
|
|
| "formula"
|
|
| "auto"
|
|
| "json"
|
|
| "internal"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
}
|
|
}
|
|
/** @description The ID of the table. */
|
|
_id: string
|
|
}
|
|
}
|
|
tableSearch: {
|
|
data: {
|
|
/** @description The name of the table. */
|
|
name: string
|
|
/** @description The name of the column which should be used in relationship tags when relating to this table. */
|
|
primaryDisplay?: string
|
|
schema: {
|
|
[key: string]:
|
|
| {
|
|
/**
|
|
* @description A relationship column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "link"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description The name of the column which a relationship column is related to in another table. */
|
|
fieldName?: string
|
|
/** @description The ID of the table which a relationship column is related to. */
|
|
tableId?: string
|
|
/**
|
|
* @description Defines the type of relationship that this column will be used for.
|
|
* @enum {string}
|
|
*/
|
|
relationshipType?:
|
|
| "one-to-many"
|
|
| "many-to-one"
|
|
| "many-to-many"
|
|
/** @description When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. */
|
|
through?: string
|
|
/** @description When using a SQL table that contains a one to many relationship this defines the foreign key. */
|
|
foreignKey?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. */
|
|
throughFrom?: string
|
|
/** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. */
|
|
throughTo?: string
|
|
}
|
|
| {
|
|
/**
|
|
* @description A formula column.
|
|
* @enum {string}
|
|
*/
|
|
type?: "formula"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
/** @description Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. */
|
|
formula?: string
|
|
/**
|
|
* @description Defines whether this is a static or dynamic formula.
|
|
* @enum {string}
|
|
*/
|
|
formulaType?: "static" | "dynamic"
|
|
}
|
|
| {
|
|
/**
|
|
* @description Defines the type of the column, most explain themselves, a link column is a relationship.
|
|
* @enum {string}
|
|
*/
|
|
type?:
|
|
| "string"
|
|
| "longform"
|
|
| "options"
|
|
| "number"
|
|
| "boolean"
|
|
| "array"
|
|
| "datetime"
|
|
| "attachment"
|
|
| "link"
|
|
| "formula"
|
|
| "auto"
|
|
| "json"
|
|
| "internal"
|
|
/** @description A constraint can be applied to the column which will be validated against when a row is saved. */
|
|
constraints?: {
|
|
/** @enum {string} */
|
|
type?: "string" | "number" | "object" | "boolean"
|
|
/** @description Defines whether the column is required or not. */
|
|
presence?: boolean
|
|
}
|
|
/** @description The name of the column. */
|
|
name?: string
|
|
/** @description Defines whether the column is automatically generated. */
|
|
autocolumn?: boolean
|
|
}
|
|
}
|
|
/** @description The ID of the table. */
|
|
_id: string
|
|
}[]
|
|
}
|
|
/** @description The query body must contain the required parameters for the query, this depends on query type, setup and bindings. */
|
|
executeQuery: { [key: string]: unknown }
|
|
executeQueryOutput: {
|
|
/** @description The data response from the query. */
|
|
data: { [key: string]: unknown }[]
|
|
/** @description Extra information that is not part of the main data, e.g. headers. */
|
|
extra?: {
|
|
/** @description If carrying out a REST request, this will contain the response headers. */
|
|
headers?: { [key: string]: unknown }
|
|
/** @description The raw query response, as a string. */
|
|
raw?: string
|
|
}
|
|
/** @description If pagination is supported, this will contain the bookmark/anchor information for it. */
|
|
pagination?: { [key: string]: unknown }
|
|
}
|
|
query: {
|
|
/** @description The ID of the query. */
|
|
_id: string
|
|
/** @description The ID of the datasource the query belongs to. */
|
|
datasourceId?: string
|
|
/** @description The bindings which are required to perform this query. */
|
|
parameters?: string[]
|
|
/** @description The fields that are used to perform this query, e.g. the sql statement */
|
|
fields?: { [key: string]: unknown }
|
|
/**
|
|
* @description The verb that describes this query.
|
|
* @enum {undefined}
|
|
*/
|
|
queryVerb?: "create" | "read" | "update" | "delete"
|
|
/** @description The name of the query. */
|
|
name: string
|
|
/** @description The schema of the data returned when the query is executed. */
|
|
schema: { [key: string]: unknown }
|
|
/** @description The JavaScript transformer function, applied after the query responds with data. */
|
|
transformer?: string
|
|
/** @description Whether the query has readable data. */
|
|
readable?: boolean
|
|
}
|
|
querySearch: {
|
|
data: {
|
|
/** @description The ID of the query. */
|
|
_id: string
|
|
/** @description The ID of the datasource the query belongs to. */
|
|
datasourceId?: string
|
|
/** @description The bindings which are required to perform this query. */
|
|
parameters?: string[]
|
|
/** @description The fields that are used to perform this query, e.g. the sql statement */
|
|
fields?: { [key: string]: unknown }
|
|
/**
|
|
* @description The verb that describes this query.
|
|
* @enum {undefined}
|
|
*/
|
|
queryVerb?: "create" | "read" | "update" | "delete"
|
|
/** @description The name of the query. */
|
|
name: string
|
|
/** @description The schema of the data returned when the query is executed. */
|
|
schema: { [key: string]: unknown }
|
|
/** @description The JavaScript transformer function, applied after the query responds with data. */
|
|
transformer?: string
|
|
/** @description Whether the query has readable data. */
|
|
readable?: boolean
|
|
}[]
|
|
}
|
|
user: {
|
|
/** @description The email address of the user, this must be unique. */
|
|
email: string
|
|
/** @description The password of the user if using password based login - this will never be returned. This can be left out of subsequent requests (updates) and will be enriched back into the user structure. */
|
|
password?: string
|
|
/**
|
|
* @description The status of the user, if they are active.
|
|
* @enum {string}
|
|
*/
|
|
status?: "active"
|
|
/** @description The first name of the user */
|
|
firstName?: string
|
|
/** @description The last name of the user */
|
|
lastName?: string
|
|
/** @description If set to true forces the user to reset their password on first login. */
|
|
forceResetPassword?: boolean
|
|
/** @description Describes if the user is a builder user or not. */
|
|
builder?: {
|
|
/** @description If set to true the user will be able to build any app in the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Describes if the user is an admin user or not. */
|
|
admin?: {
|
|
/** @description If set to true the user will be able to administrate the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Contains the roles of the user per app (assuming they are not a builder user). */
|
|
roles: { [key: string]: string }
|
|
}
|
|
userOutput: {
|
|
data: {
|
|
/** @description The email address of the user, this must be unique. */
|
|
email: string
|
|
/** @description The password of the user if using password based login - this will never be returned. This can be left out of subsequent requests (updates) and will be enriched back into the user structure. */
|
|
password?: string
|
|
/**
|
|
* @description The status of the user, if they are active.
|
|
* @enum {string}
|
|
*/
|
|
status?: "active"
|
|
/** @description The first name of the user */
|
|
firstName?: string
|
|
/** @description The last name of the user */
|
|
lastName?: string
|
|
/** @description If set to true forces the user to reset their password on first login. */
|
|
forceResetPassword?: boolean
|
|
/** @description Describes if the user is a builder user or not. */
|
|
builder?: {
|
|
/** @description If set to true the user will be able to build any app in the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Describes if the user is an admin user or not. */
|
|
admin?: {
|
|
/** @description If set to true the user will be able to administrate the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Contains the roles of the user per app (assuming they are not a builder user). */
|
|
roles: { [key: string]: string }
|
|
/** @description The ID of the user. */
|
|
_id: string
|
|
}
|
|
}
|
|
userSearch: {
|
|
data: {
|
|
/** @description The email address of the user, this must be unique. */
|
|
email: string
|
|
/** @description The password of the user if using password based login - this will never be returned. This can be left out of subsequent requests (updates) and will be enriched back into the user structure. */
|
|
password?: string
|
|
/**
|
|
* @description The status of the user, if they are active.
|
|
* @enum {string}
|
|
*/
|
|
status?: "active"
|
|
/** @description The first name of the user */
|
|
firstName?: string
|
|
/** @description The last name of the user */
|
|
lastName?: string
|
|
/** @description If set to true forces the user to reset their password on first login. */
|
|
forceResetPassword?: boolean
|
|
/** @description Describes if the user is a builder user or not. */
|
|
builder?: {
|
|
/** @description If set to true the user will be able to build any app in the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Describes if the user is an admin user or not. */
|
|
admin?: {
|
|
/** @description If set to true the user will be able to administrate the system. */
|
|
global?: boolean
|
|
}
|
|
/** @description Contains the roles of the user per app (assuming they are not a builder user). */
|
|
roles: { [key: string]: string }
|
|
/** @description The ID of the user. */
|
|
_id: string
|
|
}[]
|
|
}
|
|
nameSearch: {
|
|
/** @description The name to be used when searching - this will be used in a case insensitive starts with match. */
|
|
name: string
|
|
}
|
|
}
|
|
parameters: {
|
|
/** @description The ID of the table which this request is targeting. */
|
|
tableId: string
|
|
/** @description The ID of the row which this request is targeting. */
|
|
rowId: string
|
|
/** @description The ID of the app which this request is targeting. */
|
|
appId: string
|
|
/** @description The ID of the app which this request is targeting. */
|
|
appIdUrl: string
|
|
/** @description The ID of the query which this request is targeting. */
|
|
queryId: string
|
|
/** @description The ID of the user which this request is targeting. */
|
|
userId: string
|
|
}
|
|
}
|
|
|
|
export interface operations {}
|
|
|
|
export interface external {}
|