@contember/schema-definition 2.0.0-alpha.10 → 2.0.0-alpha.13
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.map +1 -1
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +3 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +3 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/index.cjs +6 -8
- package/dist/development/src/model/definition/index.cjs.map +1 -1
- package/dist/development/src/model/definition/index.js +12 -14
- package/dist/development/src/model/definition/index.js.map +1 -1
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +3 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +3 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/index.cjs +6 -8
- package/dist/production/src/model/definition/index.cjs.map +1 -1
- package/dist/production/src/model/definition/index.js +12 -14
- package/dist/production/src/model/definition/index.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +9 -9
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -3
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +6 -6
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +4 -8
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +10 -10
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +4 -4
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +11 -11
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +4 -8
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/index.d.ts +1 -2
- package/dist/types/model/definition/index.d.ts.map +1 -1
- package/dist/types/model/definition/types.d.ts +2 -5
- package/dist/types/model/definition/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/index.ts +15 -0
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +22 -18
- package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -5
- package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +11 -7
- package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +8 -12
- package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +14 -12
- package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +8 -5
- package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +16 -12
- package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +8 -11
- package/src/model/definition/index.ts +1 -2
- package/src/model/definition/types.ts +2 -3
|
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
8
|
-
class
|
|
8
|
+
class OneHasOneDefinition extends FieldDefinition.FieldDefinition {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
11
|
__publicField(this, "type", "OneHasOneDefinition");
|
|
@@ -52,10 +52,13 @@ class OneHasOneDefinitionImpl extends FieldDefinition.FieldDefinition {
|
|
|
52
52
|
...options.orphanRemoval ? { orphanRemoval: true } : {}
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
+
withOption(key, value) {
|
|
56
|
+
return new OneHasOneDefinition({ ...this.options, [key]: value });
|
|
57
|
+
}
|
|
55
58
|
}
|
|
56
59
|
function oneHasOne(target, inversedBy) {
|
|
57
|
-
return new
|
|
60
|
+
return new OneHasOneDefinition({ target, inversedBy });
|
|
58
61
|
}
|
|
59
|
-
exports.
|
|
62
|
+
exports.OneHasOneDefinition = OneHasOneDefinition;
|
|
60
63
|
exports.oneHasOne = oneHasOne;
|
|
61
64
|
//# sourceMappingURL=OneHasOneDefinition.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor,
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAA,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAA,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACjE;AACD;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,WAAY,CAAA;AACtD;;;"}
|
|
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
5
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
-
class
|
|
6
|
+
class OneHasOneDefinition extends FieldDefinition {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
__publicField(this, "type", "OneHasOneDefinition");
|
|
@@ -50,12 +50,15 @@ class OneHasOneDefinitionImpl extends FieldDefinition {
|
|
|
50
50
|
...options.orphanRemoval ? { orphanRemoval: true } : {}
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
+
withOption(key, value) {
|
|
54
|
+
return new OneHasOneDefinition({ ...this.options, [key]: value });
|
|
55
|
+
}
|
|
53
56
|
}
|
|
54
57
|
function oneHasOne(target, inversedBy) {
|
|
55
|
-
return new
|
|
58
|
+
return new OneHasOneDefinition({ target, inversedBy });
|
|
56
59
|
}
|
|
57
60
|
export {
|
|
58
|
-
|
|
61
|
+
OneHasOneDefinition,
|
|
59
62
|
oneHasOne
|
|
60
63
|
};
|
|
61
64
|
//# sourceMappingURL=OneHasOneDefinition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor,
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,qBAAA;AAAA,EAAA;AAAA,EAGP,WAAW,YAAyC;AAC5C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AAC/C,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AACtE,WAAA,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAS,CAAA;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAU,CAAA;AAAA,EAC7G;AAAA,EAEA,UAA+B;AACvB,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AAC5B,WAAA,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACf,UAAA,gBAA8C,QAAQ,iBAAiB;AAEnD,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAC7C,8BAAA,kBAAkB,YAAY,MAAM,aAAa;AAEpE,WAAA;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MACpD;AAAA,MACA,GAAI,QAAQ,gBAAgB,EAAE,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AAC5H,WAAA,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACjE;AACD;AAGgB,SAAA,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,WAAY,CAAA;AACtD;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs
CHANGED
|
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
8
|
-
class
|
|
8
|
+
class OneHasOneInverseDefinition extends FieldDefinition.FieldDefinition {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
11
|
__publicField(this, "type", "OneHasOneInverseDefinition");
|
|
@@ -23,14 +23,13 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition.FieldDefinition {
|
|
|
23
23
|
nullable: options.nullable === void 0 ? true : options.nullable
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
withOption(key, value) {
|
|
27
|
+
return new this.constructor({ ...this.options, [key]: value });
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
30
|
function oneHasOneInverse(target, ownedBy) {
|
|
28
|
-
return new
|
|
29
|
-
}
|
|
30
|
-
function oneHasOneInversed(target, ownedBy) {
|
|
31
|
-
return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
|
|
31
|
+
return new OneHasOneInverseDefinition({ target, ownedBy });
|
|
32
32
|
}
|
|
33
|
-
exports.
|
|
33
|
+
exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition;
|
|
34
34
|
exports.oneHasOneInverse = oneHasOneInverse;
|
|
35
|
-
exports.oneHasOneInversed = oneHasOneInversed;
|
|
36
35
|
//# sourceMappingURL=OneHasOneInverseDefinition.cjs.map
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AACD;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,QAAS,CAAA;AAC1D;;;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js
CHANGED
|
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
5
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
-
class
|
|
6
|
+
class OneHasOneInverseDefinition extends FieldDefinition {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
__publicField(this, "type", "OneHasOneInverseDefinition");
|
|
@@ -21,16 +21,15 @@ class OneHasOneInverseDefinitionImpl extends FieldDefinition {
|
|
|
21
21
|
nullable: options.nullable === void 0 ? true : options.nullable
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
+
withOption(key, value) {
|
|
25
|
+
return new this.constructor({ ...this.options, [key]: value });
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
function oneHasOneInverse(target, ownedBy) {
|
|
26
|
-
return new
|
|
27
|
-
}
|
|
28
|
-
function oneHasOneInversed(target, ownedBy) {
|
|
29
|
-
return new OneHasOneInverseDefinitionImpl({ target, ownedBy });
|
|
29
|
+
return new OneHasOneInverseDefinition({ target, ownedBy });
|
|
30
30
|
}
|
|
31
31
|
export {
|
|
32
|
-
|
|
33
|
-
oneHasOneInverse
|
|
34
|
-
oneHasOneInversed
|
|
32
|
+
OneHasOneInverseDefinition,
|
|
33
|
+
oneHasOneInverse
|
|
35
34
|
};
|
|
36
35
|
//# sourceMappingURL=OneHasOneInverseDefinition.js.map
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACF,WAAA,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACd,WAAA;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAAyE,KAAQ,OAAyE;AAC5J,WAAA,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EAC9D;AACD;AAGgB,SAAA,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,QAAS,CAAA;AAC1D;"}
|
|
@@ -53,20 +53,18 @@ exports.jsonColumn = ColumnDefinition.jsonColumn;
|
|
|
53
53
|
exports.stringColumn = ColumnDefinition.stringColumn;
|
|
54
54
|
exports.uuidColumn = ColumnDefinition.uuidColumn;
|
|
55
55
|
exports.FieldDefinition = FieldDefinition.FieldDefinition;
|
|
56
|
-
exports.
|
|
56
|
+
exports.ManyHasManyDefinition = ManyHasManyDefinition.ManyHasManyDefinition;
|
|
57
57
|
exports.manyHasMany = ManyHasManyDefinition.manyHasMany;
|
|
58
|
-
exports.
|
|
58
|
+
exports.ManyHasManyInverseDefinition = ManyHasManyInverseDefinition.ManyHasManyInverseDefinition;
|
|
59
59
|
exports.manyHasManyInverse = ManyHasManyInverseDefinition.manyHasManyInverse;
|
|
60
|
-
exports.
|
|
61
|
-
exports.ManyHasOneDefinitionImpl = ManyHasOneDefinition.ManyHasOneDefinitionImpl;
|
|
60
|
+
exports.ManyHasOneDefinition = ManyHasOneDefinition.ManyHasOneDefinition;
|
|
62
61
|
exports.manyHasOne = ManyHasOneDefinition.manyHasOne;
|
|
63
|
-
exports.
|
|
62
|
+
exports.OneHasManyDefinition = OneHasManyDefinition.OneHasManyDefinition;
|
|
64
63
|
exports.oneHasMany = OneHasManyDefinition.oneHasMany;
|
|
65
|
-
exports.
|
|
64
|
+
exports.OneHasOneDefinition = OneHasOneDefinition.OneHasOneDefinition;
|
|
66
65
|
exports.oneHasOne = OneHasOneDefinition.oneHasOne;
|
|
67
|
-
exports.
|
|
66
|
+
exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition.OneHasOneInverseDefinition;
|
|
68
67
|
exports.oneHasOneInverse = OneHasOneInverseDefinition.oneHasOneInverse;
|
|
69
|
-
exports.oneHasOneInversed = OneHasOneInverseDefinition.oneHasOneInversed;
|
|
70
68
|
exports.DisableEventLog = EventLogDefinition.DisableEventLog;
|
|
71
69
|
exports.Index = IndexDefinition.Index;
|
|
72
70
|
exports.OrderBy = OrderByDefinition.OrderBy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import {
|
|
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,EAAA;AAET,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,IACzC;AAAA,EACD;AACM,QAAAC,UAAS,cAAc;AACtB,SAAAA;AACR;AAEO,MAAM,WAAWC,OAAM,MAAA;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -7,12 +7,12 @@ import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
|
|
|
7
7
|
import { DefaultNamingConventions } from "@contember/schema-utils";
|
|
8
8
|
import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
|
|
9
9
|
import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
10
|
+
import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
|
|
11
|
+
import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
|
|
12
|
+
import { ManyHasOneDefinition, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
|
|
13
|
+
import { OneHasManyDefinition, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
|
|
14
|
+
import { OneHasOneDefinition, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
|
|
15
|
+
import { OneHasOneInverseDefinition, oneHasOneInverse } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
|
|
16
16
|
import { DisableEventLog } from "./EventLogDefinition.js";
|
|
17
17
|
import { Index } from "./IndexDefinition.js";
|
|
18
18
|
import { OrderBy } from "./OrderByDefinition.js";
|
|
@@ -45,13 +45,13 @@ export {
|
|
|
45
45
|
EnumDefinition,
|
|
46
46
|
FieldDefinition,
|
|
47
47
|
Index,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
ManyHasManyDefinition,
|
|
49
|
+
ManyHasManyInverseDefinition,
|
|
50
|
+
ManyHasOneDefinition,
|
|
51
51
|
OnDelete,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
OneHasManyDefinition,
|
|
53
|
+
OneHasOneDefinition,
|
|
54
|
+
OneHasOneInverseDefinition,
|
|
55
55
|
OrderBy,
|
|
56
56
|
OrderDirection,
|
|
57
57
|
Unique,
|
|
@@ -69,12 +69,10 @@ export {
|
|
|
69
69
|
jsonColumn,
|
|
70
70
|
manyHasMany,
|
|
71
71
|
manyHasManyInverse,
|
|
72
|
-
manyHasManyInversed,
|
|
73
72
|
manyHasOne,
|
|
74
73
|
oneHasMany,
|
|
75
74
|
oneHasOne,
|
|
76
75
|
oneHasOneInverse,
|
|
77
|
-
oneHasOneInversed,
|
|
78
76
|
stringColumn,
|
|
79
77
|
uuidColumn
|
|
80
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"index.js","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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAEtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAyB;AAAA,IAC7B,QAAQ;AAAA,EAAA;AAET,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AAC3B,oBAAA,QAAQ,MAAM,UAAU;AAAA,IAAA,WAC5B,oBAAoB,UAAU,GAAG;AAC7B,oBAAA,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACM,QAAA,SAAS,cAAc;AACtB,SAAA;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","AclDefinition.createRole","AclDefinition.createConditionVariable","AclDefinition.createEntityVariable","AclDefinition.createPredefinedVariable","AclDefinition.canCreate","AclDefinition.canRead","AclDefinition.canUpdate","AclDefinition.canDelete","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","SchemaDefinition.Index","SchemaDefinition.Unique","SchemaDefinition.View","SchemaDefinition.DisableEventLog","SchemaDefinition.OrderBy","SchemaDefinition.column","SchemaDefinition.boolColumn","SchemaDefinition.intColumn","SchemaDefinition.doubleColumn","SchemaDefinition.dateColumn","SchemaDefinition.dateTimeColumn","SchemaDefinition.jsonColumn","SchemaDefinition.stringColumn","SchemaDefinition.enumColumn","SchemaDefinition.uuidColumn","SchemaDefinition.manyHasMany","SchemaDefinition.manyHasManyInverse","SchemaDefinition.manyHasOne","SchemaDefinition.oneHasOne","SchemaDefinition.oneHasOneInverse","SchemaDefinition.oneHasMany","SchemaDefinition.createEnum","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when","InputValidation.rules"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tFieldDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n\tOneHasManyDefinition,\n\tManyHasOneDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tEnumDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","AclDefinition.createRole","AclDefinition.createConditionVariable","AclDefinition.createEntityVariable","AclDefinition.createPredefinedVariable","AclDefinition.canCreate","AclDefinition.canRead","AclDefinition.canUpdate","AclDefinition.canDelete","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","SchemaDefinition.Index","SchemaDefinition.Unique","SchemaDefinition.View","SchemaDefinition.DisableEventLog","SchemaDefinition.OrderBy","SchemaDefinition.column","SchemaDefinition.boolColumn","SchemaDefinition.intColumn","SchemaDefinition.doubleColumn","SchemaDefinition.dateColumn","SchemaDefinition.dateTimeColumn","SchemaDefinition.jsonColumn","SchemaDefinition.stringColumn","SchemaDefinition.enumColumn","SchemaDefinition.uuidColumn","SchemaDefinition.manyHasMany","SchemaDefinition.manyHasManyInverse","SchemaDefinition.manyHasOne","SchemaDefinition.oneHasOne","SchemaDefinition.oneHasOneInverse","SchemaDefinition.oneHasMany","SchemaDefinition.createEnum","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when","InputValidation.rules"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA,cAAc;AAAA,EAClC,OAAOC,YAAc;AAAA;AAAA,EAErB,YAAYC,MAAc;AAAA,EAC1B,yBAAyBC,UAAc;AAAA,EACvC,sBAAsBC,UAAc;AAAA,EACpC,0BAA0BC,UAAc;AAAA;AAAA,EAExC,WAAWC,WAAc;AAAA,EACzB,SAASC,WAAc;AAAA,EACvB,WAAWC,WAAc;AAAA,EACzB,WAAWC,WAAc;AAAA;AAAA;AAAA,EAKzB,OAAOC,SAAkB;AAAA,EACzB,SAASC,SAAkB;AAAA;AAAA,EAE3B,qBAAqBC,QAAkB;AAAA;AAAA;AAAA,EAKvC,cAAcC,WAAiB;AAAA,EAC/B,OAAOC,gBAAiB;AAAA,EACxB,QAAQC,iBAAiB;AAAA,EACzB,MAAMC,eAAiB;AAAA,EACvB,iBAAiBC,mBAAiB;AAAA,EAClC,SAASC,kBAAiB;AAAA;AAAA,EAE1B,QAAQC,iBAAiB;AAAA,EACzB,YAAYC,iBAAiB;AAAA,EAC7B,WAAWC,iBAAiB;AAAA,EAC5B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,gBAAgBC,iBAAiB;AAAA,EACjC,YAAYC,iBAAiB;AAAA,EAC7B,cAAcC,iBAAiB;AAAA,EAC/B,YAAYC,iBAAiB;AAAA,EAC7B,YAAYC,iBAAiB;AAAA,EAC7B,aAAaC,sBAAiB;AAAA,EAC9B,oBAAoBC,6BAAiB;AAAA,EACrC,YAAYC,qBAAiB;AAAA,EAC7B,WAAWC,oBAAiB;AAAA,EAC5B,kBAAkBC,2BAAiB;AAAA,EACnC,YAAYC,qBAAiB;AAAA;AAAA,EAE7B,YAAYC,eAAiB;AAAA;AAAA;AAAA,EAK7B,QAAQC,QAAgB;AAAA,EACxB,UAAUC,QAAgB;AAAA,EAC1B,eAAeC,QAAgB;AAAA,EAC/B,gBAAgBC,QAAgB;AAAA,EAChC,eAAeC,QAAgB;AAAA,EAC/B,iBAAiBC,QAAgB;AAAA,EACjC,iBAAiBC,QAAgB;AAAA,EACjC,cAAcC,QAAgB;AAAA;AAAA,EAE9B,OAAOC,QAAgB;AAExB;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tFieldDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n\tOneHasManyDefinition,\n\tManyHasOneDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tEnumDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }\n\nexport const c = {\n\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAIhB,oBAAoBA;AAAAA,EACpB,OAAOC;AAAAA;AAAAA,EAEP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAKA,OAAOC;AAAAA,EACP,SAASC;AAAAA;AAAAA,EAET,qBAAqBC;AAAAA;AAAAA;AAAAA,EAKrB,cAAcC;AAAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA,EAKA,QAAQC;AAAAA,EACR,UAAUC;AAAAA,EACV,eAAeC;AAAAA,EACf,gBAAgBC;AAAAA,EAChB,eAAeC;AAAAA,EACf,iBAAiBC;AAAAA,EACjB,iBAAiBC;AAAAA,EACjB,cAAcC;AAAAA;AAAAA,EAEd;AAED;"}
|
|
@@ -73,6 +73,9 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
|
|
|
73
73
|
...typeAlias !== void 0 ? { typeAlias } : {}
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
withOption(key, value) {
|
|
77
|
+
return new ColumnDefinition({ ...this.options, [key]: value });
|
|
78
|
+
}
|
|
76
79
|
}
|
|
77
80
|
function column(type, typeOptions = {}) {
|
|
78
81
|
return ColumnDefinition.create(type, typeOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport {
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.cjs","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(): ColumnDefinition {\n\treturn column(Model.ColumnType.DateTime)\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":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
|
|
@@ -71,6 +71,9 @@ class ColumnDefinition extends FieldDefinition {
|
|
|
71
71
|
...typeAlias !== void 0 ? { typeAlias } : {}
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
+
withOption(key, value) {
|
|
75
|
+
return new ColumnDefinition({ ...this.options, [key]: value });
|
|
76
|
+
}
|
|
74
77
|
}
|
|
75
78
|
function column(type, typeOptions = {}) {
|
|
76
79
|
return ColumnDefinition.create(type, typeOptions);
|
|
@@ -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 {
|
|
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(): ColumnDefinition {\n\treturn column(Model.ColumnType.DateTime)\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":"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"}
|
|
@@ -4,9 +4,6 @@ class FieldDefinition {
|
|
|
4
4
|
constructor(options) {
|
|
5
5
|
this.options = options;
|
|
6
6
|
}
|
|
7
|
-
withOption(key, value) {
|
|
8
|
-
return new this.constructor({ ...this.options, [key]: value });
|
|
9
|
-
}
|
|
10
7
|
}
|
|
11
8
|
exports.FieldDefinition = FieldDefinition;
|
|
12
9
|
//# sourceMappingURL=FieldDefinition.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {
|
|
1
|
+
{"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":";;AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {
|
|
1
|
+
{"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":"AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;"}
|
|
@@ -5,7 +5,7 @@ const FieldDefinition = require("./FieldDefinition.cjs");
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
7
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
8
|
-
class
|
|
8
|
+
class ManyHasManyDefinition extends FieldDefinition.FieldDefinition {
|
|
9
9
|
constructor() {
|
|
10
10
|
super(...arguments);
|
|
11
11
|
__publicField(this, "type", "ManyHasManyDefinition");
|
|
@@ -45,10 +45,13 @@ class ManyHasManyDefinitionImpl extends FieldDefinition.FieldDefinition {
|
|
|
45
45
|
...options.orderBy ? { orderBy: options.orderBy } : {}
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
|
+
withOption(key, value) {
|
|
49
|
+
return new ManyHasManyDefinition({ ...this.options, [key]: value });
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
52
|
function manyHasMany(target, inversedBy) {
|
|
50
|
-
return new
|
|
53
|
+
return new ManyHasManyDefinition({ target, inversedBy });
|
|
51
54
|
}
|
|
52
|
-
exports.
|
|
55
|
+
exports.ManyHasManyDefinition = ManyHasManyDefinition;
|
|
53
56
|
exports.manyHasMany = manyHasMany;
|
|
54
57
|
//# sourceMappingURL=ManyHasManyDefinition.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor,
|
|
1
|
+
{"version":3,"file":"ManyHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,8BAA8BA,gBAAAA,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACC,kBAAA,MAAA,QAAA,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AAC9C,WAAA,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AACvE,WAAA,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAK,GAAA,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,MAC9E,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAQ;AAAA,MACrF,UAAU,EAAE,SAAS,KAAK;AAAA,MAC1B,GAAG,QAAQ;AAAA,IAAA;AAGc,8BAAA,oBAAoB,YAAY,MAAM,OAAO;AAEhE,WAAA;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAK,IAAA,EAAE,YAAY,QAAQ,WAAW;AAAA,MACtF,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAC;AAAA,IAAA;AAAA,EAExD;AAAA,EAGU,WAAyD,KAAQ,OAA+D;AAClI,WAAA,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,EACnE;AACD;AAGgB,SAAA,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,WAAY,CAAA;AACxD;;;"}
|
|
@@ -3,7 +3,7 @@ import { FieldDefinition } from "./FieldDefinition.js";
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
5
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
-
class
|
|
6
|
+
class ManyHasManyDefinition extends FieldDefinition {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
__publicField(this, "type", "ManyHasManyDefinition");
|
|
@@ -43,12 +43,15 @@ class ManyHasManyDefinitionImpl extends FieldDefinition {
|
|
|
43
43
|
...options.orderBy ? { orderBy: options.orderBy } : {}
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
withOption(key, value) {
|
|
47
|
+
return new ManyHasManyDefinition({ ...this.options, [key]: value });
|
|
48
|
+
}
|
|
46
49
|
}
|
|
47
50
|
function manyHasMany(target, inversedBy) {
|
|
48
|
-
return new
|
|
51
|
+
return new ManyHasManyDefinition({ target, inversedBy });
|
|
49
52
|
}
|
|
50
53
|
export {
|
|
51
|
-
|
|
54
|
+
ManyHasManyDefinition,
|
|
52
55
|
manyHasMany
|
|
53
56
|
};
|
|
54
57
|
//# sourceMappingURL=ManyHasManyDefinition.js.map
|