102 lines
1.6 KiB
TypeScript
102 lines
1.6 KiB
TypeScript
|
export enum Operation {
|
||
|
CREATE = "CREATE",
|
||
|
READ = "READ",
|
||
|
UPDATE = "UPDATE",
|
||
|
DELETE = "DELETE",
|
||
|
}
|
||
|
|
||
|
export enum SortDirection {
|
||
|
ASCENDING = "ASCENDING",
|
||
|
DESCENDING = "DESCENDING",
|
||
|
}
|
||
|
|
||
|
export enum QueryTypes {
|
||
|
SQL = "sql",
|
||
|
JSON = "json",
|
||
|
FIELDS = "fields",
|
||
|
}
|
||
|
|
||
|
export enum DatasourceFieldTypes {
|
||
|
STRING = "string",
|
||
|
BOOLEAN = "boolean",
|
||
|
NUMBER = "number",
|
||
|
PASSWORD = "password",
|
||
|
LIST = "list",
|
||
|
OBJECT = "object",
|
||
|
JSON = "json",
|
||
|
}
|
||
|
|
||
|
export interface QueryDefinition {
|
||
|
type: QueryTypes,
|
||
|
displayName?: string,
|
||
|
readable?: boolean,
|
||
|
customisable?: boolean,
|
||
|
fields?: object,
|
||
|
urlDisplay?: boolean,
|
||
|
}
|
||
|
|
||
|
export interface Integration {
|
||
|
docs: string,
|
||
|
plus?: boolean,
|
||
|
description: string,
|
||
|
friendlyName: string,
|
||
|
datasource: {},
|
||
|
query: {
|
||
|
[key: string]: QueryDefinition,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export interface SearchFilters {
|
||
|
allOr: boolean,
|
||
|
string?: {
|
||
|
[key: string]: string,
|
||
|
},
|
||
|
fuzzy?: {
|
||
|
[key: string]: string,
|
||
|
},
|
||
|
range?: {
|
||
|
[key: string]: {
|
||
|
high: number | string,
|
||
|
low: number | string,
|
||
|
},
|
||
|
},
|
||
|
equal?: {
|
||
|
[key: string]: any,
|
||
|
},
|
||
|
notEqual?: {
|
||
|
[key: string]: any,
|
||
|
},
|
||
|
empty?: {
|
||
|
[key: string]: any,
|
||
|
},
|
||
|
notEmpty?: {
|
||
|
[key: string]: any,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
export interface QueryJson {
|
||
|
endpoint: {
|
||
|
datasourceId: string,
|
||
|
entityId: string,
|
||
|
operation: Operation,
|
||
|
},
|
||
|
resource: {
|
||
|
fields: string[],
|
||
|
},
|
||
|
filters?: SearchFilters,
|
||
|
sort?: {
|
||
|
[key: string]: SortDirection,
|
||
|
},
|
||
|
paginate?: {
|
||
|
limit: number,
|
||
|
page: string | number,
|
||
|
},
|
||
|
body?: object,
|
||
|
extra: {
|
||
|
idFilter?: SearchFilters,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
export interface QueryOptions {
|
||
|
disableReturning?: boolean,
|
||
|
}
|