@contember/schema-definition 2.0.0 → 2.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +1 -0
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -1
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/development/src/model/definition/index.cjs +1 -0
- package/dist/development/src/model/definition/index.cjs.map +1 -1
- package/dist/development/src/model/definition/index.js +2 -1
- package/dist/development/src/presets.cjs +10 -1
- package/dist/development/src/presets.cjs.map +1 -1
- package/dist/development/src/presets.js +10 -1
- package/dist/development/src/presets.js.map +1 -1
- package/dist/production/index.cjs +1 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -1
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/production/src/model/definition/index.cjs +1 -0
- package/dist/production/src/model/definition/index.cjs.map +1 -1
- package/dist/production/src/model/definition/index.js +2 -1
- package/dist/production/src/presets.cjs +10 -1
- package/dist/production/src/presets.cjs.map +1 -1
- package/dist/production/src/presets.js +10 -1
- package/dist/production/src/presets.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +3 -0
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
- package/dist/types/presets.d.ts +2 -0
- package/dist/types/presets.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/index.ts +1 -0
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +11 -1
- package/src/presets.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,yBAAyB,gBAAyC;AAAA,EAAxE,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,kBAAA;AAAA,EAAA;AAAA,EAGP,OAAc,OACb,MACA,cAAiC,IACd;AACnB,WAAO,IAAI,iBAAiB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACH;AAAA,EAAA;AAAA,EAIK,WAAW,YAAsC;AAChD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGzC,WAAW,YAAsC;AAChD,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAAA;AAAA,EAGzC,WAA6B;AAC5B,WAAA,KAAK,WAAW,YAAY,IAAI;AAAA,EAAA;AAAA,EAGjC,UAA4B;AAC3B,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EAAA;AAAA,EAGlC,SAAS,SAA6E;AACrF,WAAA,KAAK,WAAW,YAAY,EAAE,YAAY,cAAc,GAAG,SAAS;AAAA,EAAA;AAAA,EAGrE,OAAO,UAA+C,IAAsB;AAC3E,WAAA,KAAK,WAAW,UAAU,OAAO;AAAA,EAAA;AAAA,EAGlC,QAAQ,OAAiE;AACxE,WAAA,KAAK,WAAW,WAAW,KAAK;AAAA,EAAA;AAAA,EAGjC,UAAU,OAAiC;AAC1C,WAAA,KAAK,WAAW,aAAa,KAAK;AAAA,EAAA;AAAA,EAG1C,YAAY,EAAE,MAAM,aAAa,cAAc,cAAkD;
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n} & ColumnTypeOptions\n"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ exports.enumColumn = ColumnDefinition.enumColumn;
|
|
|
51
51
|
exports.intColumn = ColumnDefinition.intColumn;
|
|
52
52
|
exports.jsonColumn = ColumnDefinition.jsonColumn;
|
|
53
53
|
exports.stringColumn = ColumnDefinition.stringColumn;
|
|
54
|
+
exports.timeColumn = ColumnDefinition.timeColumn;
|
|
54
55
|
exports.uuidColumn = ColumnDefinition.uuidColumn;
|
|
55
56
|
exports.FieldDefinition = FieldDefinition.FieldDefinition;
|
|
56
57
|
exports.ManyHasManyDefinition = ManyHasManyDefinition.ManyHasManyDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EACT;AACA,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IAAA;AAAA,EACzC;AAEK,QAAAC,UAAS,cAAc,aAAa;AACnC,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictOptions, StrictDefinitionValidator } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { extendEntity, type EntityExtension } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAA;AAAA,IACzB,IAAIC,qCAAyB;AAAA,IAC7B,QAAQ;AAAA,EACT;AACA,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5BC,uBAAAA,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IAAA;AAAA,EACzC;AAEK,QAAAC,UAAS,cAAc,aAAa;AACnC,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ import { SchemaBuilder } from "./internal/SchemaBuilder.js";
|
|
|
5
5
|
import "reflect-metadata";
|
|
6
6
|
import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
|
|
7
7
|
import { DefaultNamingConventions } from "@contember/schema-utils";
|
|
8
|
-
import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
|
|
8
|
+
import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, timeColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
|
|
9
9
|
import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
|
|
10
10
|
import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
|
|
11
11
|
import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
|
|
@@ -74,6 +74,7 @@ export {
|
|
|
74
74
|
oneHasOne,
|
|
75
75
|
oneHasOneInverse,
|
|
76
76
|
stringColumn,
|
|
77
|
+
timeColumn,
|
|
77
78
|
uuidColumn
|
|
78
79
|
};
|
|
79
80
|
//# sourceMappingURL=index.js.map
|
|
@@ -28,10 +28,19 @@ const v2_0preset = {
|
|
|
28
28
|
useExistsInHasManyFilter: true
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
+
const v2_1preset = {
|
|
32
|
+
...v2_0preset,
|
|
33
|
+
content: {
|
|
34
|
+
...v2_0preset.content,
|
|
35
|
+
uuidVersion: 7
|
|
36
|
+
}
|
|
37
|
+
};
|
|
31
38
|
const settingsPresets = {
|
|
32
39
|
"v1.3": v1_3preset,
|
|
33
40
|
"v1.4": v1_4preset,
|
|
34
|
-
"v2.0": v2_0preset
|
|
41
|
+
"v2.0": v2_0preset,
|
|
42
|
+
"v2.1": v2_1preset,
|
|
43
|
+
"latest": v2_1preset
|
|
35
44
|
};
|
|
36
45
|
exports.settingsPresets = settingsPresets;
|
|
37
46
|
//# sourceMappingURL=presets.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;
|
|
1
|
+
{"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\n\nconst v2_1preset: Settings.Schema = {\n\t...v2_0preset,\n\tcontent: {\n\t\t...v2_0preset.content,\n\t\tuuidVersion: 7,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n\t'v2.1': v2_1preset,\n\n\t'latest': v2_1preset,\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAGA,MAAM,aAA8B;AAAA,EACnC,GAAG;AAAA,EACH,SAAS;AAAA,IACR,GAAG,WAAW;AAAA,IACd,aAAa;AAAA,EAAA;AAEf;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,UAAU;AACX;;"}
|
|
@@ -26,10 +26,19 @@ const v2_0preset = {
|
|
|
26
26
|
useExistsInHasManyFilter: true
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
+
const v2_1preset = {
|
|
30
|
+
...v2_0preset,
|
|
31
|
+
content: {
|
|
32
|
+
...v2_0preset.content,
|
|
33
|
+
uuidVersion: 7
|
|
34
|
+
}
|
|
35
|
+
};
|
|
29
36
|
const settingsPresets = {
|
|
30
37
|
"v1.3": v1_3preset,
|
|
31
38
|
"v1.4": v1_4preset,
|
|
32
|
-
"v2.0": v2_0preset
|
|
39
|
+
"v2.0": v2_0preset,
|
|
40
|
+
"v2.1": v2_1preset,
|
|
41
|
+
"latest": v2_1preset
|
|
33
42
|
};
|
|
34
43
|
export {
|
|
35
44
|
settingsPresets
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n}\n"],"names":[],"mappings":"AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;
|
|
1
|
+
{"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\n\nconst v2_1preset: Settings.Schema = {\n\t...v2_0preset,\n\tcontent: {\n\t\t...v2_0preset.content,\n\t\tuuidVersion: 7,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n\t'v2.1': v2_1preset,\n\n\t'latest': v2_1preset,\n}\n"],"names":[],"mappings":"AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAGA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAGA,MAAM,aAA8B;AAAA,EACnC,GAAG;AAAA,EACH,SAAS;AAAA,IACR,GAAG,WAAW;AAAA,IACd,aAAa;AAAA,EAAA;AAEf;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,UAAU;AACX;"}
|