185 lines
4.0 KiB
TypeScript
185 lines
4.0 KiB
TypeScript
import { objectStore, roles, constants } from "@budibase/backend-core"
|
|
import { FieldType as FieldTypes } from "@budibase/types"
|
|
export { FieldType as FieldTypes, RelationshipType } from "@budibase/types"
|
|
|
|
export enum FilterTypes {
|
|
STRING = "string",
|
|
FUZZY = "fuzzy",
|
|
RANGE = "range",
|
|
EQUAL = "equal",
|
|
NOT_EQUAL = "notEqual",
|
|
EMPTY = "empty",
|
|
NOT_EMPTY = "notEmpty",
|
|
CONTAINS = "contains",
|
|
NOT_CONTAINS = "notContains",
|
|
ONE_OF = "oneOf",
|
|
}
|
|
|
|
export const NoEmptyFilterStrings = [
|
|
FilterTypes.STRING,
|
|
FilterTypes.FUZZY,
|
|
FilterTypes.EQUAL,
|
|
FilterTypes.NOT_EQUAL,
|
|
FilterTypes.CONTAINS,
|
|
FilterTypes.NOT_CONTAINS,
|
|
]
|
|
|
|
export const CanSwitchTypes = [
|
|
[FieldTypes.JSON, FieldTypes.ARRAY],
|
|
[
|
|
FieldTypes.STRING,
|
|
FieldTypes.OPTIONS,
|
|
FieldTypes.LONGFORM,
|
|
FieldTypes.BARCODEQR,
|
|
],
|
|
[FieldTypes.BOOLEAN, FieldTypes.NUMBER],
|
|
]
|
|
|
|
export const SwitchableTypes = CanSwitchTypes.reduce((prev, current) =>
|
|
prev ? prev.concat(current) : current
|
|
)
|
|
|
|
export enum FormulaTypes {
|
|
STATIC = "static",
|
|
DYNAMIC = "dynamic",
|
|
}
|
|
|
|
export enum AuthTypes {
|
|
APP = "app",
|
|
BUILDER = "builder",
|
|
EXTERNAL = "external",
|
|
}
|
|
|
|
export enum DataSourceOperation {
|
|
CREATE = "CREATE",
|
|
READ = "READ",
|
|
UPDATE = "UPDATE",
|
|
DELETE = "DELETE",
|
|
BULK_CREATE = "BULK_CREATE",
|
|
CREATE_TABLE = "CREATE_TABLE",
|
|
UPDATE_TABLE = "UPDATE_TABLE",
|
|
DELETE_TABLE = "DELETE_TABLE",
|
|
}
|
|
|
|
export enum DatasourceAuthTypes {
|
|
GOOGLE = "google",
|
|
}
|
|
|
|
export enum SortDirection {
|
|
ASCENDING = "ASCENDING",
|
|
DESCENDING = "DESCENDING",
|
|
}
|
|
|
|
export const USERS_TABLE_SCHEMA = {
|
|
_id: "ta_users",
|
|
type: "table",
|
|
views: {},
|
|
name: "Users",
|
|
// TODO: ADMIN PANEL - when implemented this doesn't need to be carried out
|
|
schema: {
|
|
email: {
|
|
type: FieldTypes.STRING,
|
|
constraints: {
|
|
type: FieldTypes.STRING,
|
|
email: true,
|
|
length: {
|
|
maximum: "",
|
|
},
|
|
presence: true,
|
|
},
|
|
fieldName: "email",
|
|
name: "email",
|
|
},
|
|
firstName: {
|
|
name: "firstName",
|
|
fieldName: "firstName",
|
|
type: FieldTypes.STRING,
|
|
constraints: {
|
|
type: FieldTypes.STRING,
|
|
presence: false,
|
|
},
|
|
},
|
|
lastName: {
|
|
name: "lastName",
|
|
fieldName: "lastName",
|
|
type: FieldTypes.STRING,
|
|
constraints: {
|
|
type: FieldTypes.STRING,
|
|
presence: false,
|
|
},
|
|
},
|
|
roleId: {
|
|
fieldName: "roleId",
|
|
name: "roleId",
|
|
type: FieldTypes.OPTIONS,
|
|
constraints: {
|
|
type: FieldTypes.STRING,
|
|
presence: false,
|
|
inclusion: Object.values(roles.BUILTIN_ROLE_IDS),
|
|
},
|
|
},
|
|
status: {
|
|
fieldName: "status",
|
|
name: "status",
|
|
type: FieldTypes.OPTIONS,
|
|
constraints: {
|
|
type: FieldTypes.STRING,
|
|
presence: false,
|
|
inclusion: Object.values(constants.UserStatus),
|
|
},
|
|
},
|
|
},
|
|
primaryDisplay: "email",
|
|
}
|
|
|
|
export enum AutoFieldSubTypes {
|
|
CREATED_BY = "createdBy",
|
|
CREATED_AT = "createdAt",
|
|
UPDATED_BY = "updatedBy",
|
|
UPDATED_AT = "updatedAt",
|
|
AUTO_ID = "autoID",
|
|
}
|
|
|
|
export enum AutoFieldDefaultNames {
|
|
CREATED_BY = "Created By",
|
|
CREATED_AT = "Created At",
|
|
UPDATED_BY = "Updated By",
|
|
UPDATED_AT = "Updated At",
|
|
AUTO_ID = "Auto ID",
|
|
}
|
|
|
|
export const OBJ_STORE_DIRECTORY = "/prod-budi-app-assets"
|
|
export enum BaseQueryVerbs {
|
|
CREATE = "create",
|
|
READ = "read",
|
|
UPDATE = "update",
|
|
DELETE = "delete",
|
|
}
|
|
|
|
export enum MetadataTypes {
|
|
AUTOMATION_TEST_INPUT = "automationTestInput",
|
|
AUTOMATION_TEST_HISTORY = "automationTestHistory",
|
|
}
|
|
|
|
export enum InvalidColumns {
|
|
ID = "_id",
|
|
REV = "_rev",
|
|
TABLE_ID = "tableId",
|
|
}
|
|
|
|
export enum BuildSchemaErrors {
|
|
NO_KEY = "no_key",
|
|
INVALID_COLUMN = "invalid_column",
|
|
}
|
|
|
|
export enum AutomationErrors {
|
|
INCORRECT_TYPE = "INCORRECT_TYPE",
|
|
MAX_ITERATIONS = "MAX_ITERATIONS_REACHED",
|
|
FAILURE_CONDITION = "FAILURE_CONDITION_MET",
|
|
}
|
|
|
|
// pass through the list from the auth/core lib
|
|
export const ObjectStoreBuckets = objectStore.ObjectStoreBuckets
|
|
export const MAX_AUTOMATION_RECURRING_ERRORS = 5
|
|
export const GOOGLE_SHEETS_PRIMARY_KEY = "rowNumber"
|