Add structures.fullSchemaWithoutLinks
This commit is contained in:
parent
e1ace85248
commit
0dce3aa02c
|
@ -26,6 +26,10 @@ import {
|
||||||
WebhookActionType,
|
WebhookActionType,
|
||||||
AutomationEventType,
|
AutomationEventType,
|
||||||
LoopStepType,
|
LoopStepType,
|
||||||
|
FieldSchema,
|
||||||
|
BBReferenceFieldSubType,
|
||||||
|
JsonFieldSubType,
|
||||||
|
AutoFieldSubType,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
import { LoopInput } from "../../definitions/automations"
|
import { LoopInput } from "../../definitions/automations"
|
||||||
import { merge } from "lodash"
|
import { merge } from "lodash"
|
||||||
|
@ -573,3 +577,161 @@ export function basicEnvironmentVariable(
|
||||||
development: dev || prod,
|
development: dev || prod,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function fullSchemaWithoutLinks({
|
||||||
|
allRequired,
|
||||||
|
}: {
|
||||||
|
allRequired?: boolean
|
||||||
|
}) {
|
||||||
|
const schema: {
|
||||||
|
[type in Exclude<FieldType, FieldType.LINK>]: FieldSchema & { type: type }
|
||||||
|
} = {
|
||||||
|
[FieldType.STRING]: {
|
||||||
|
name: "string",
|
||||||
|
type: FieldType.STRING,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.LONGFORM]: {
|
||||||
|
name: "longform",
|
||||||
|
type: FieldType.LONGFORM,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.OPTIONS]: {
|
||||||
|
name: "options",
|
||||||
|
type: FieldType.OPTIONS,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
inclusion: ["option 1", "option 2", "option 3", "option 4"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.ARRAY]: {
|
||||||
|
name: "array",
|
||||||
|
type: FieldType.ARRAY,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
type: JsonFieldSubType.ARRAY,
|
||||||
|
inclusion: ["options 1", "options 2", "options 3", "options 4"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.NUMBER]: {
|
||||||
|
name: "number",
|
||||||
|
type: FieldType.NUMBER,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.BOOLEAN]: {
|
||||||
|
name: "boolean",
|
||||||
|
type: FieldType.BOOLEAN,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.DATETIME]: {
|
||||||
|
name: "datetime",
|
||||||
|
type: FieldType.DATETIME,
|
||||||
|
dateOnly: true,
|
||||||
|
timeOnly: false,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.FORMULA]: {
|
||||||
|
name: "formula",
|
||||||
|
type: FieldType.FORMULA,
|
||||||
|
formula: "any formula",
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.BARCODEQR]: {
|
||||||
|
name: "barcodeqr",
|
||||||
|
type: FieldType.BARCODEQR,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.BIGINT]: {
|
||||||
|
name: "bigint",
|
||||||
|
type: FieldType.BIGINT,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.BB_REFERENCE]: {
|
||||||
|
name: "user",
|
||||||
|
type: FieldType.BB_REFERENCE,
|
||||||
|
subtype: BBReferenceFieldSubType.USER,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.BB_REFERENCE_SINGLE]: {
|
||||||
|
name: "users",
|
||||||
|
type: FieldType.BB_REFERENCE_SINGLE,
|
||||||
|
subtype: BBReferenceFieldSubType.USER,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.ATTACHMENTS]: {
|
||||||
|
name: "attachments",
|
||||||
|
type: FieldType.ATTACHMENTS,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.ATTACHMENT_SINGLE]: {
|
||||||
|
name: "attachment_single",
|
||||||
|
type: FieldType.ATTACHMENT_SINGLE,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.AUTO]: {
|
||||||
|
name: "auto",
|
||||||
|
type: FieldType.AUTO,
|
||||||
|
subtype: AutoFieldSubType.AUTO_ID,
|
||||||
|
autocolumn: true,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.JSON]: {
|
||||||
|
name: "json",
|
||||||
|
type: FieldType.JSON,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.INTERNAL]: {
|
||||||
|
name: "internal",
|
||||||
|
type: FieldType.INTERNAL,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[FieldType.SIGNATURE_SINGLE]: {
|
||||||
|
name: "signature_single",
|
||||||
|
type: FieldType.SIGNATURE_SINGLE,
|
||||||
|
constraints: {
|
||||||
|
presence: allRequired,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return schema
|
||||||
|
}
|
||||||
|
export function basicAttachment() {
|
||||||
|
return {
|
||||||
|
key: generator.guid(),
|
||||||
|
name: generator.word(),
|
||||||
|
extension: generator.word(),
|
||||||
|
size: generator.natural(),
|
||||||
|
url: `/${generator.guid()}`,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue