@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.
Files changed (42) hide show
  1. package/dist/development/index.cjs +1 -0
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +2 -1
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
  6. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  7. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
  8. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  9. package/dist/development/src/model/definition/index.cjs +1 -0
  10. package/dist/development/src/model/definition/index.cjs.map +1 -1
  11. package/dist/development/src/model/definition/index.js +2 -1
  12. package/dist/development/src/presets.cjs +10 -1
  13. package/dist/development/src/presets.cjs.map +1 -1
  14. package/dist/development/src/presets.js +10 -1
  15. package/dist/development/src/presets.js.map +1 -1
  16. package/dist/production/index.cjs +1 -0
  17. package/dist/production/index.cjs.map +1 -1
  18. package/dist/production/index.js +2 -1
  19. package/dist/production/index.js.map +1 -1
  20. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -1
  21. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
  22. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -1
  23. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
  24. package/dist/production/src/model/definition/index.cjs +1 -0
  25. package/dist/production/src/model/definition/index.cjs.map +1 -1
  26. package/dist/production/src/model/definition/index.js +2 -1
  27. package/dist/production/src/presets.cjs +10 -1
  28. package/dist/production/src/presets.cjs.map +1 -1
  29. package/dist/production/src/presets.js +10 -1
  30. package/dist/production/src/presets.js.map +1 -1
  31. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  32. package/dist/types/index.d.ts +1 -0
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +3 -0
  35. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
  36. package/dist/types/presets.d.ts +2 -0
  37. package/dist/types/presets.d.ts.map +1 -1
  38. package/dist/types/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +3 -3
  40. package/src/index.ts +1 -0
  41. package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +11 -1
  42. package/src/presets.ts +12 -0
@@ -71,6 +71,7 @@ const c = {
71
71
  intColumn: ColumnDefinition.intColumn,
72
72
  doubleColumn: ColumnDefinition.doubleColumn,
73
73
  dateColumn: ColumnDefinition.dateColumn,
74
+ timeColumn: ColumnDefinition.timeColumn,
74
75
  dateTimeColumn: ColumnDefinition.dateTimeColumn,
75
76
  jsonColumn: ColumnDefinition.jsonColumn,
76
77
  stringColumn: ColumnDefinition.stringColumn,
@@ -1 +1 @@
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,QAAAA;AAER;;;;;;;;;;;;;;;;;;;;;;;"}
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\ttimeColumn: SchemaDefinition.timeColumn,\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.timeColumn","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,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,QAAAA;AAER;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -27,7 +27,7 @@ import { Unique } from "./src/model/definition/UniqueDefinition.js";
27
27
  import { View } from "./src/model/definition/ViewDefinition.js";
28
28
  import { DisableEventLog } from "./src/model/definition/EventLogDefinition.js";
29
29
  import { OrderBy } from "./src/model/definition/OrderByDefinition.js";
30
- import { column, boolColumn, intColumn, doubleColumn, dateColumn, dateTimeColumn, jsonColumn, stringColumn, enumColumn, uuidColumn } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
30
+ import { column, boolColumn, intColumn, doubleColumn, dateColumn, timeColumn, dateTimeColumn, jsonColumn, stringColumn, enumColumn, uuidColumn } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
31
31
  import { manyHasMany } from "./src/model/definition/fieldDefinitions/ManyHasManyDefinition.js";
32
32
  import { manyHasManyInverse } from "./src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js";
33
33
  import { manyHasOne } from "./src/model/definition/fieldDefinitions/ManyHasOneDefinition.js";
@@ -70,6 +70,7 @@ const c = {
70
70
  intColumn,
71
71
  doubleColumn,
72
72
  dateColumn,
73
+ timeColumn,
73
74
  dateTimeColumn,
74
75
  jsonColumn,
75
76
  stringColumn,
@@ -1 +1 @@
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;"}
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\ttimeColumn: SchemaDefinition.timeColumn,\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,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;"}
@@ -23,6 +23,9 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
23
23
  columnType(columnType) {
24
24
  return this.withOption("columnType", columnType);
25
25
  }
26
+ list() {
27
+ return this.withOption("list", true);
28
+ }
26
29
  nullable() {
27
30
  return this.withOption("nullable", true);
28
31
  }
@@ -42,11 +45,12 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
42
45
  return this.withOption("typeAlias", alias);
43
46
  }
44
47
  createField({ name, conventions, enumRegistry, entityName }) {
45
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options;
48
+ const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options;
46
49
  const common = {
47
50
  name,
48
51
  columnName: columnName || conventions.getColumnName(name),
49
52
  nullable: nullable === void 0 ? true : nullable,
53
+ ...list ? { list } : {},
50
54
  ...defaultValue !== void 0 ? { default: defaultValue } : {},
51
55
  ...sequence !== void 0 ? { sequence } : {}
52
56
  };
@@ -95,6 +99,9 @@ function doubleColumn() {
95
99
  function dateColumn() {
96
100
  return column(schema.Model.ColumnType.Date);
97
101
  }
102
+ function timeColumn() {
103
+ return column(schema.Model.ColumnType.Time);
104
+ }
98
105
  function dateTimeColumn(args) {
99
106
  const col = column(schema.Model.ColumnType.DateTime);
100
107
  if (!args?.precision) {
@@ -121,5 +128,6 @@ exports.enumColumn = enumColumn;
121
128
  exports.intColumn = intColumn;
122
129
  exports.jsonColumn = jsonColumn;
123
130
  exports.stringColumn = stringColumn;
131
+ exports.timeColumn = timeColumn;
124
132
  exports.uuidColumn = uuidColumn;
125
133
  //# sourceMappingURL=ColumnDefinition.cjs.map
@@ -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 { 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":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
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 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":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
@@ -21,6 +21,9 @@ class ColumnDefinition extends FieldDefinition {
21
21
  columnType(columnType) {
22
22
  return this.withOption("columnType", columnType);
23
23
  }
24
+ list() {
25
+ return this.withOption("list", true);
26
+ }
24
27
  nullable() {
25
28
  return this.withOption("nullable", true);
26
29
  }
@@ -40,11 +43,12 @@ class ColumnDefinition extends FieldDefinition {
40
43
  return this.withOption("typeAlias", alias);
41
44
  }
42
45
  createField({ name, conventions, enumRegistry, entityName }) {
43
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options;
46
+ const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options;
44
47
  const common = {
45
48
  name,
46
49
  columnName: columnName || conventions.getColumnName(name),
47
50
  nullable: nullable === void 0 ? true : nullable,
51
+ ...list ? { list } : {},
48
52
  ...defaultValue !== void 0 ? { default: defaultValue } : {},
49
53
  ...sequence !== void 0 ? { sequence } : {}
50
54
  };
@@ -93,6 +97,9 @@ function doubleColumn() {
93
97
  function dateColumn() {
94
98
  return column(Model.ColumnType.Date);
95
99
  }
100
+ function timeColumn() {
101
+ return column(Model.ColumnType.Time);
102
+ }
96
103
  function dateTimeColumn(args) {
97
104
  const col = column(Model.ColumnType.DateTime);
98
105
  if (!args?.precision) {
@@ -120,6 +127,7 @@ export {
120
127
  intColumn,
121
128
  jsonColumn,
122
129
  stringColumn,
130
+ timeColumn,
123
131
  uuidColumn
124
132
  };
125
133
  //# sourceMappingURL=ColumnDefinition.js.map
@@ -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":"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"}
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;AACT;;"}
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;AACT;"}
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;"}
@@ -71,6 +71,7 @@ const c = {
71
71
  intColumn: ColumnDefinition.intColumn,
72
72
  doubleColumn: ColumnDefinition.doubleColumn,
73
73
  dateColumn: ColumnDefinition.dateColumn,
74
+ timeColumn: ColumnDefinition.timeColumn,
74
75
  dateTimeColumn: ColumnDefinition.dateTimeColumn,
75
76
  jsonColumn: ColumnDefinition.jsonColumn,
76
77
  stringColumn: ColumnDefinition.stringColumn,
@@ -1 +1 @@
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,QAAAA;AAER;;;;;;;;;;;;;;;;;;;;;;;"}
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\ttimeColumn: SchemaDefinition.timeColumn,\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.timeColumn","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,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,QAAAA;AAER;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -27,7 +27,7 @@ import { Unique } from "./src/model/definition/UniqueDefinition.js";
27
27
  import { View } from "./src/model/definition/ViewDefinition.js";
28
28
  import { DisableEventLog } from "./src/model/definition/EventLogDefinition.js";
29
29
  import { OrderBy } from "./src/model/definition/OrderByDefinition.js";
30
- import { column, boolColumn, intColumn, doubleColumn, dateColumn, dateTimeColumn, jsonColumn, stringColumn, enumColumn, uuidColumn } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
30
+ import { column, boolColumn, intColumn, doubleColumn, dateColumn, timeColumn, dateTimeColumn, jsonColumn, stringColumn, enumColumn, uuidColumn } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
31
31
  import { manyHasMany } from "./src/model/definition/fieldDefinitions/ManyHasManyDefinition.js";
32
32
  import { manyHasManyInverse } from "./src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js";
33
33
  import { manyHasOne } from "./src/model/definition/fieldDefinitions/ManyHasOneDefinition.js";
@@ -70,6 +70,7 @@ const c = {
70
70
  intColumn,
71
71
  doubleColumn,
72
72
  dateColumn,
73
+ timeColumn,
73
74
  dateTimeColumn,
74
75
  jsonColumn,
75
76
  stringColumn,
@@ -1 +1 @@
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;"}
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\ttimeColumn: SchemaDefinition.timeColumn,\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,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;"}
@@ -23,6 +23,9 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
23
23
  columnType(columnType) {
24
24
  return this.withOption("columnType", columnType);
25
25
  }
26
+ list() {
27
+ return this.withOption("list", true);
28
+ }
26
29
  nullable() {
27
30
  return this.withOption("nullable", true);
28
31
  }
@@ -42,11 +45,12 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
42
45
  return this.withOption("typeAlias", alias);
43
46
  }
44
47
  createField({ name, conventions, enumRegistry, entityName }) {
45
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options;
48
+ const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options;
46
49
  const common = {
47
50
  name,
48
51
  columnName: columnName || conventions.getColumnName(name),
49
52
  nullable: nullable === void 0 ? true : nullable,
53
+ ...list ? { list } : {},
50
54
  ...defaultValue !== void 0 ? { default: defaultValue } : {},
51
55
  ...sequence !== void 0 ? { sequence } : {}
52
56
  };
@@ -95,6 +99,9 @@ function doubleColumn() {
95
99
  function dateColumn() {
96
100
  return column(schema.Model.ColumnType.Date);
97
101
  }
102
+ function timeColumn() {
103
+ return column(schema.Model.ColumnType.Time);
104
+ }
98
105
  function dateTimeColumn(args) {
99
106
  const col = column(schema.Model.ColumnType.DateTime);
100
107
  if (!args?.precision) {
@@ -121,5 +128,6 @@ exports.enumColumn = enumColumn;
121
128
  exports.intColumn = intColumn;
122
129
  exports.jsonColumn = jsonColumn;
123
130
  exports.stringColumn = stringColumn;
131
+ exports.timeColumn = timeColumn;
124
132
  exports.uuidColumn = uuidColumn;
125
133
  //# sourceMappingURL=ColumnDefinition.cjs.map
@@ -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 { 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":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
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 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":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
@@ -21,6 +21,9 @@ class ColumnDefinition extends FieldDefinition {
21
21
  columnType(columnType) {
22
22
  return this.withOption("columnType", columnType);
23
23
  }
24
+ list() {
25
+ return this.withOption("list", true);
26
+ }
24
27
  nullable() {
25
28
  return this.withOption("nullable", true);
26
29
  }
@@ -40,11 +43,12 @@ class ColumnDefinition extends FieldDefinition {
40
43
  return this.withOption("typeAlias", alias);
41
44
  }
42
45
  createField({ name, conventions, enumRegistry, entityName }) {
43
- const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence } = this.options;
46
+ const { type, nullable, columnName, enumDefinition, default: defaultValue, columnType, typeAlias, sequence, list } = this.options;
44
47
  const common = {
45
48
  name,
46
49
  columnName: columnName || conventions.getColumnName(name),
47
50
  nullable: nullable === void 0 ? true : nullable,
51
+ ...list ? { list } : {},
48
52
  ...defaultValue !== void 0 ? { default: defaultValue } : {},
49
53
  ...sequence !== void 0 ? { sequence } : {}
50
54
  };
@@ -93,6 +97,9 @@ function doubleColumn() {
93
97
  function dateColumn() {
94
98
  return column(Model.ColumnType.Date);
95
99
  }
100
+ function timeColumn() {
101
+ return column(Model.ColumnType.Time);
102
+ }
96
103
  function dateTimeColumn(args) {
97
104
  const col = column(Model.ColumnType.DateTime);
98
105
  if (!args?.precision) {
@@ -120,6 +127,7 @@ export {
120
127
  intColumn,
121
128
  jsonColumn,
122
129
  stringColumn,
130
+ timeColumn,
123
131
  uuidColumn
124
132
  };
125
133
  //# sourceMappingURL=ColumnDefinition.js.map