@contember/schema-definition 2.0.0-alpha.9 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -1
- package/dist/development/src/acl/builder/EntitySelector.js.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -1
- package/dist/development/src/acl/builder/FieldSelector.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -1
- package/dist/development/src/acl/builder/PredicateReference.js.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/development/src/acl/definition/index.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +2 -2
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +2 -2
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/development/src/acl/definition/permissions.js.map +1 -1
- package/dist/development/src/acl/definition/references.cjs.map +1 -1
- package/dist/development/src/acl/definition/references.js.map +1 -1
- package/dist/development/src/acl/definition/roles.cjs.map +1 -1
- package/dist/development/src/acl/definition/roles.js.map +1 -1
- package/dist/development/src/acl/definition/variables.cjs.map +1 -1
- package/dist/development/src/acl/definition/variables.js.map +1 -1
- package/dist/development/src/actions/definition/index.cjs.map +1 -1
- package/dist/development/src/actions/definition/index.js.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/development/src/actions/definition/targets.cjs.map +1 -1
- package/dist/development/src/actions/definition/targets.js.map +1 -1
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/development/src/actions/definition/triggers.js.map +1 -1
- package/dist/development/src/createSchema.cjs.map +1 -1
- package/dist/development/src/createSchema.js.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/EnumDefinition.js.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/development/src/model/definition/extensions.cjs.map +1 -1
- package/dist/development/src/model/definition/extensions.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -2
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -2
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/index.cjs +6 -8
- package/dist/development/src/model/definition/index.cjs.map +1 -1
- package/dist/development/src/model/definition/index.js +12 -14
- package/dist/development/src/model/definition/index.js.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +5 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.js +5 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/development/src/presets.cjs +13 -1
- package/dist/development/src/presets.cjs.map +1 -1
- package/dist/development/src/presets.js +13 -1
- package/dist/development/src/presets.js.map +1 -1
- package/dist/development/src/strict.cjs.map +1 -1
- package/dist/development/src/strict.js.map +1 -1
- package/dist/development/src/utils/MetadataStore.cjs.map +1 -1
- package/dist/development/src/utils/MetadataStore.js.map +1 -1
- package/dist/development/src/validation/index.cjs.map +1 -1
- package/dist/development/src/validation/index.js.map +1 -1
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -1
- package/dist/production/src/acl/builder/EntitySelector.js.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -1
- package/dist/production/src/acl/builder/FieldSelector.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -1
- package/dist/production/src/acl/builder/PredicateReference.js.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/production/src/acl/definition/index.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +2 -2
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +2 -2
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/production/src/acl/definition/permissions.js.map +1 -1
- package/dist/production/src/acl/definition/references.cjs.map +1 -1
- package/dist/production/src/acl/definition/references.js.map +1 -1
- package/dist/production/src/acl/definition/roles.cjs.map +1 -1
- package/dist/production/src/acl/definition/roles.js.map +1 -1
- package/dist/production/src/acl/definition/variables.cjs.map +1 -1
- package/dist/production/src/acl/definition/variables.js.map +1 -1
- package/dist/production/src/actions/definition/index.cjs.map +1 -1
- package/dist/production/src/actions/definition/index.js.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/production/src/actions/definition/targets.cjs.map +1 -1
- package/dist/production/src/actions/definition/targets.js.map +1 -1
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/production/src/actions/definition/triggers.js.map +1 -1
- package/dist/production/src/createSchema.cjs.map +1 -1
- package/dist/production/src/createSchema.js.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/EnumDefinition.js.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/production/src/model/definition/extensions.cjs.map +1 -1
- package/dist/production/src/model/definition/extensions.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +9 -2
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +9 -2
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -3
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -3
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +6 -7
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +7 -8
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +6 -3
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +6 -7
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +7 -8
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/index.cjs +6 -8
- package/dist/production/src/model/definition/index.cjs.map +1 -1
- package/dist/production/src/model/definition/index.js +12 -14
- package/dist/production/src/model/definition/index.js.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +5 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.js +5 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/production/src/presets.cjs +13 -1
- package/dist/production/src/presets.cjs.map +1 -1
- package/dist/production/src/presets.js +13 -1
- package/dist/production/src/presets.js.map +1 -1
- package/dist/production/src/strict.cjs.map +1 -1
- package/dist/production/src/strict.js.map +1 -1
- package/dist/production/src/utils/MetadataStore.cjs.map +1 -1
- package/dist/production/src/utils/MetadataStore.js.map +1 -1
- package/dist/production/src/validation/index.cjs.map +1 -1
- package/dist/production/src/validation/index.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +10 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/builder/EntityBuilder.d.ts +1 -1
- package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +12 -10
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -3
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +6 -6
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +4 -8
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +10 -10
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +4 -4
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +11 -11
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +4 -8
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/index.d.ts +1 -2
- package/dist/types/model/definition/index.d.ts.map +1 -1
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
- package/dist/types/model/definition/types.d.ts +2 -5
- package/dist/types/model/definition/types.d.ts.map +1 -1
- package/dist/types/presets.d.ts +1 -0
- package/dist/types/presets.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/src/acl/definition/internal/EntityPredicateResolver.ts +2 -2
- package/src/index.ts +15 -0
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +27 -19
- package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -5
- package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +11 -7
- package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +8 -12
- package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +14 -12
- package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +8 -5
- package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +16 -12
- package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +8 -11
- package/src/model/definition/index.ts +1 -2
- package/src/model/definition/internal/SchemaBuilder.ts +6 -0
- package/src/model/definition/types.ts +2 -3
- package/src/presets.ts +12 -0
- package/tests/cases/unit/__snapshots__/readActions.test.ts.snap +33 -0
- package/tests/cases/unit/createSchema.test.ts +78 -80
- package/tests/cases/unit/extendEntity.test.ts +2 -2
- package/tests/cases/unit/orderBy.test.ts +10 -6
- package/tests/cases/unit/readAclDefinitions.test.ts +197 -208
- package/tests/cases/unit/readActions.test.ts +2 -32
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/schema-definition",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-beta.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./dist/production/index.js",
|
|
6
6
|
"typings": "./dist/types/index.d.ts",
|
|
@@ -23,15 +23,16 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@contember/schema": "2.0.0-
|
|
27
|
-
"@contember/schema-utils": "2.0.0-
|
|
28
|
-
"reflect-metadata": "^0.
|
|
26
|
+
"@contember/schema": "2.0.0-beta.2",
|
|
27
|
+
"@contember/schema-utils": "2.0.0-beta.2",
|
|
28
|
+
"reflect-metadata": "^0.2.2",
|
|
29
|
+
"fast-deep-equal": "^3.1.3"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"graphql": "^16.
|
|
32
|
+
"graphql": "^16.9.0"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
35
|
"graphql": ">= 14.6.0"
|
|
35
36
|
},
|
|
36
37
|
"type": "module"
|
|
37
|
-
}
|
|
38
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import deepEqual from 'fast-deep-equal'
|
|
2
2
|
|
|
3
3
|
import { Acl, Input, Model, Writable } from '@contember/schema'
|
|
4
4
|
import { PredicateDefinitionProcessor } from '@contember/schema-utils'
|
|
@@ -88,7 +88,7 @@ export class EntityPredicatesResolver {
|
|
|
88
88
|
if (!(predicateName in this.predicates)) {
|
|
89
89
|
this.predicates[predicateName] = predicate
|
|
90
90
|
break
|
|
91
|
-
} else if (
|
|
91
|
+
} else if (deepEqual(predicate, this.predicates[predicateName])) {
|
|
92
92
|
break
|
|
93
93
|
} else {
|
|
94
94
|
predicateName = `${origName}_${i}`
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as AclDefinition from './acl/definition'
|
|
2
|
+
import { Role } from './acl/definition'
|
|
2
3
|
import * as ActionsDefinition from './actions/definition'
|
|
3
4
|
import * as InputValidation from './validation'
|
|
4
5
|
import { SchemaDefinition } from './model'
|
|
@@ -9,6 +10,20 @@ export { PermissionsBuilder } from './acl/builder/PermissionsBuilder'
|
|
|
9
10
|
export * from './model'
|
|
10
11
|
export * from './presets'
|
|
11
12
|
|
|
13
|
+
export type { Role }
|
|
14
|
+
export type { VariableDefinition } from './acl/definition'
|
|
15
|
+
export type {
|
|
16
|
+
ColumnDefinition,
|
|
17
|
+
FieldDefinition,
|
|
18
|
+
OneHasOneDefinition,
|
|
19
|
+
OneHasOneInverseDefinition,
|
|
20
|
+
OneHasManyDefinition,
|
|
21
|
+
ManyHasOneDefinition,
|
|
22
|
+
ManyHasManyDefinition,
|
|
23
|
+
ManyHasManyInverseDefinition,
|
|
24
|
+
EnumDefinition,
|
|
25
|
+
} from './model/definition'
|
|
26
|
+
|
|
12
27
|
export { AclDefinition, ActionsDefinition, SchemaDefinition, InputValidation, createSchema }
|
|
13
28
|
|
|
14
29
|
export const c = {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
|
-
import { Interface } from '../types'
|
|
3
2
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
4
3
|
import { EnumDefinition } from '../EnumDefinition'
|
|
5
4
|
import { resolveDefaultColumnType } from '@contember/schema-utils'
|
|
@@ -7,6 +6,7 @@ import { resolveDefaultColumnType } from '@contember/schema-utils'
|
|
|
7
6
|
export class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {
|
|
8
7
|
type = 'ColumnDefinition' as const
|
|
9
8
|
|
|
9
|
+
|
|
10
10
|
public static create(
|
|
11
11
|
type: Model.ColumnType,
|
|
12
12
|
typeOptions: ColumnTypeOptions = {},
|
|
@@ -18,35 +18,35 @@ export class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
public columnName(columnName: string):
|
|
21
|
+
public columnName(columnName: string): ColumnDefinition {
|
|
22
22
|
return this.withOption('columnName', columnName)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
public columnType(columnType: string):
|
|
25
|
+
public columnType(columnType: string): ColumnDefinition {
|
|
26
26
|
return this.withOption('columnType', columnType)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
public nullable():
|
|
29
|
+
public nullable(): ColumnDefinition {
|
|
30
30
|
return this.withOption('nullable', true)
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
public notNull():
|
|
33
|
+
public notNull(): ColumnDefinition {
|
|
34
34
|
return this.withOption('nullable', false)
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
public sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>):
|
|
37
|
+
public sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {
|
|
38
38
|
return this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
public unique(options: { timing?: Model.ConstraintTiming } = {}):
|
|
41
|
+
public unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {
|
|
42
42
|
return this.withOption('unique', options)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
public default(value: ColumnDefinition['options']['default']):
|
|
45
|
+
public default(value: ColumnDefinition['options']['default']): ColumnDefinition {
|
|
46
46
|
return this.withOption('default', value)
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
public typeAlias(alias: string):
|
|
49
|
+
public typeAlias(alias: string): ColumnDefinition {
|
|
50
50
|
return this.withOption('typeAlias', alias)
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -83,45 +83,53 @@ export class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {
|
|
|
83
83
|
...(typeAlias !== undefined ? { typeAlias } : {}),
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
protected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {
|
|
88
|
+
return new ColumnDefinition({ ...this.options, [key]: value })
|
|
89
|
+
}
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
export function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {
|
|
89
93
|
return ColumnDefinition.create(type, typeOptions)
|
|
90
94
|
}
|
|
91
95
|
|
|
92
|
-
export function stringColumn() {
|
|
96
|
+
export function stringColumn(): ColumnDefinition {
|
|
93
97
|
return column(Model.ColumnType.String)
|
|
94
98
|
}
|
|
95
99
|
|
|
96
|
-
export function intColumn() {
|
|
100
|
+
export function intColumn(): ColumnDefinition {
|
|
97
101
|
return column(Model.ColumnType.Int)
|
|
98
102
|
}
|
|
99
103
|
|
|
100
|
-
export function boolColumn() {
|
|
104
|
+
export function boolColumn(): ColumnDefinition {
|
|
101
105
|
return column(Model.ColumnType.Bool)
|
|
102
106
|
}
|
|
103
107
|
|
|
104
|
-
export function doubleColumn() {
|
|
108
|
+
export function doubleColumn(): ColumnDefinition {
|
|
105
109
|
return column(Model.ColumnType.Double)
|
|
106
110
|
}
|
|
107
111
|
|
|
108
|
-
export function dateColumn() {
|
|
112
|
+
export function dateColumn(): ColumnDefinition {
|
|
109
113
|
return column(Model.ColumnType.Date)
|
|
110
114
|
}
|
|
111
115
|
|
|
112
|
-
export function dateTimeColumn() {
|
|
113
|
-
|
|
116
|
+
export function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {
|
|
117
|
+
const col = column(Model.ColumnType.DateTime)
|
|
118
|
+
if (!args?.precision) {
|
|
119
|
+
return col
|
|
120
|
+
}
|
|
121
|
+
return col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)
|
|
114
122
|
}
|
|
115
123
|
|
|
116
|
-
export function jsonColumn() {
|
|
124
|
+
export function jsonColumn(): ColumnDefinition {
|
|
117
125
|
return column(Model.ColumnType.Json)
|
|
118
126
|
}
|
|
119
127
|
|
|
120
|
-
export function enumColumn(enumDefinition: EnumDefinition) {
|
|
128
|
+
export function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {
|
|
121
129
|
return column(Model.ColumnType.Enum, { enumDefinition })
|
|
122
130
|
}
|
|
123
131
|
|
|
124
|
-
export function uuidColumn() {
|
|
132
|
+
export function uuidColumn(): ColumnDefinition {
|
|
125
133
|
return column(Model.ColumnType.Uuid)
|
|
126
134
|
}
|
|
127
135
|
|
|
@@ -2,12 +2,8 @@ import { Model } from '@contember/schema'
|
|
|
2
2
|
import { CommonContext } from '../context'
|
|
3
3
|
|
|
4
4
|
export abstract class FieldDefinition<O> {
|
|
5
|
-
constructor(public readonly options: O) {
|
|
6
|
-
|
|
7
|
-
protected withOption<K extends keyof O>(this: any, key: K, value: O[K]): { [K in keyof this]: this[K] } {
|
|
8
|
-
return new this.constructor({ ...this.options, [key]: value })
|
|
5
|
+
constructor(public readonly options: O) {
|
|
9
6
|
}
|
|
10
|
-
|
|
11
7
|
abstract createField(context: CreateFieldContext): Model.AnyField
|
|
12
8
|
}
|
|
13
9
|
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
|
-
import { EntityConstructor,
|
|
2
|
+
import { EntityConstructor, RelationTarget } from '../types'
|
|
3
3
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
4
4
|
|
|
5
|
-
export class
|
|
5
|
+
export class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {
|
|
6
6
|
type = 'ManyHasManyDefinition' as const
|
|
7
7
|
|
|
8
|
-
inversedBy(inversedBy: string):
|
|
8
|
+
inversedBy(inversedBy: string): ManyHasManyDefinition {
|
|
9
9
|
return this.withOption('inversedBy', inversedBy)
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
joiningTable(joiningTable: Partial<Model.JoiningTable>):
|
|
12
|
+
joiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {
|
|
13
13
|
return this.withOption('joiningTable', joiningTable)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
orderBy(
|
|
17
17
|
field: string | string[],
|
|
18
18
|
direction: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,
|
|
19
|
-
):
|
|
19
|
+
): ManyHasManyDefinition {
|
|
20
20
|
const path = typeof field === 'string' ? [field] : field
|
|
21
21
|
return this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])
|
|
22
22
|
}
|
|
@@ -48,12 +48,16 @@ export class ManyHasManyDefinitionImpl extends FieldDefinition<ManyHasManyDefini
|
|
|
48
48
|
...(options.orderBy ? { orderBy: options.orderBy } : {}),
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
protected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {
|
|
54
|
+
return new ManyHasManyDefinition({ ...this.options, [key]: value })
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
|
|
53
|
-
export type ManyHasManyDefinition = Interface<ManyHasManyDefinitionImpl>
|
|
54
58
|
|
|
55
59
|
export function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {
|
|
56
|
-
return new
|
|
60
|
+
return new ManyHasManyDefinition({ target, inversedBy })
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
export type ManyHasManyDefinitionOptions = {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
2
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
3
|
-
import { EntityConstructor,
|
|
3
|
+
import { EntityConstructor, RelationTarget } from '../types'
|
|
4
4
|
|
|
5
|
-
export class
|
|
5
|
+
export class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {
|
|
6
6
|
type = 'ManyHasManyInverseDefinition' as const
|
|
7
7
|
|
|
8
8
|
orderBy(
|
|
9
9
|
field: string | string[],
|
|
10
10
|
direction: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,
|
|
11
|
-
):
|
|
11
|
+
): ManyHasManyInverseDefinition {
|
|
12
12
|
const path = typeof field === 'string' ? [field] : field
|
|
13
13
|
return this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])
|
|
14
14
|
}
|
|
@@ -23,19 +23,15 @@ export class ManyHasManyInverseDefinitionImpl extends FieldDefinition<ManyHasMan
|
|
|
23
23
|
...(options.orderBy ? { orderBy: options.orderBy } : {}),
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
protected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(key: K, value: ManyHasManyInverseDefinitionOptions[K]): ManyHasManyInverseDefinition {
|
|
28
|
+
return new ManyHasManyInverseDefinition({ ...this.options, [key]: value })
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
|
|
28
|
-
export type ManyHasManyInverseDefinition = Interface<ManyHasManyInverseDefinitionImpl>
|
|
29
|
-
/** @deprecated use ManyHasManyInverseDefinition */
|
|
30
|
-
export type ManyHasManyInversedDefinition = Interface<ManyHasManyInverseDefinitionImpl>
|
|
31
32
|
|
|
32
33
|
export function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {
|
|
33
|
-
return new
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/** @deprecated use manyHasManyInverse */
|
|
37
|
-
export function manyHasManyInversed(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {
|
|
38
|
-
return new ManyHasManyInverseDefinitionImpl({ target, ownedBy })
|
|
34
|
+
return new ManyHasManyInverseDefinition({ target, ownedBy })
|
|
39
35
|
}
|
|
40
36
|
|
|
41
37
|
export type ManyHasManyInverseDefinitionOptions = {
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { EntityConstructor,
|
|
1
|
+
import { EntityConstructor, RelationTarget } from '../types'
|
|
2
2
|
import { Model } from '@contember/schema'
|
|
3
3
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
4
4
|
|
|
5
|
-
export class
|
|
5
|
+
export class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {
|
|
6
6
|
type = 'ManyHasOneDefinition' as const
|
|
7
7
|
|
|
8
|
-
inversedBy(inversedBy: string):
|
|
8
|
+
inversedBy(inversedBy: string): ManyHasOneDefinition {
|
|
9
9
|
return this.withOption('inversedBy', inversedBy)
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
joiningColumn(columnName: string):
|
|
12
|
+
joiningColumn(columnName: string): ManyHasOneDefinition {
|
|
13
13
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
onDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`):
|
|
16
|
+
onDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {
|
|
17
17
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
cascadeOnDelete():
|
|
20
|
+
cascadeOnDelete(): ManyHasOneDefinition {
|
|
21
21
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
setNullOnDelete():
|
|
24
|
+
setNullOnDelete(): ManyHasOneDefinition {
|
|
25
25
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
restrictOnDelete():
|
|
28
|
+
restrictOnDelete(): ManyHasOneDefinition {
|
|
29
29
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
notNull():
|
|
32
|
+
notNull(): ManyHasOneDefinition {
|
|
33
33
|
return this.withOption('nullable', false)
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -51,12 +51,14 @@ export class ManyHasOneDefinitionImpl extends FieldDefinition<ManyHasOneDefiniti
|
|
|
51
51
|
},
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
}
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
protected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {
|
|
56
|
+
return new ManyHasOneDefinition({ ...this.options, [key]: value })
|
|
57
|
+
}
|
|
58
|
+
}
|
|
57
59
|
|
|
58
60
|
export function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {
|
|
59
|
-
return new
|
|
61
|
+
return new ManyHasOneDefinition({ target, inversedBy })
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
export type ManyHasOneDefinitionOptions = {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
2
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
3
|
-
import { EntityConstructor,
|
|
3
|
+
import { EntityConstructor, RelationTarget } from '../types'
|
|
4
4
|
|
|
5
|
-
export class
|
|
5
|
+
export class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {
|
|
6
6
|
type = 'OneHasManyDefinition' as const
|
|
7
7
|
|
|
8
8
|
orderBy(
|
|
9
9
|
field: string | string[],
|
|
10
10
|
direction: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,
|
|
11
|
-
):
|
|
11
|
+
): OneHasManyDefinition {
|
|
12
12
|
const path = typeof field === 'string' ? [field] : field
|
|
13
13
|
return this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])
|
|
14
14
|
}
|
|
@@ -22,12 +22,15 @@ export class OneHasManyDefinitionImpl extends FieldDefinition<OneHasManyDefiniti
|
|
|
22
22
|
...(options.orderBy ? { orderBy: options.orderBy } : {}),
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
|
|
26
|
+
protected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {
|
|
27
|
+
return new OneHasManyDefinition({ ...this.options, [key]: value })
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
export type OneHasManyDefinition = Interface<OneHasManyDefinitionImpl>
|
|
28
31
|
|
|
29
32
|
export function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {
|
|
30
|
-
return new
|
|
33
|
+
return new OneHasManyDefinition({ target, ownedBy })
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
export type OneHasManyDefinitionOptions = {
|
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
|
-
import { EntityConstructor,
|
|
2
|
+
import { EntityConstructor, RelationTarget } from '../types'
|
|
3
3
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
4
4
|
|
|
5
|
-
export class
|
|
5
|
+
export class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {
|
|
6
6
|
type = 'OneHasOneDefinition' as const
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
inversedBy(inversedBy: string): OneHasOneDefinition {
|
|
9
10
|
return this.withOption('inversedBy', inversedBy)
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
joiningColumn(columnName: string):
|
|
13
|
+
joiningColumn(columnName: string): OneHasOneDefinition {
|
|
13
14
|
return this.withOption('joiningColumn', { ...this.joiningColumn, columnName })
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
onDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`):
|
|
17
|
+
onDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {
|
|
17
18
|
return this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
cascadeOnDelete():
|
|
21
|
+
cascadeOnDelete(): OneHasOneDefinition {
|
|
21
22
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
setNullOnDelete():
|
|
25
|
+
setNullOnDelete(): OneHasOneDefinition {
|
|
25
26
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
restrictOnDelete():
|
|
29
|
+
restrictOnDelete(): OneHasOneDefinition {
|
|
29
30
|
return this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
notNull():
|
|
33
|
+
notNull(): OneHasOneDefinition {
|
|
33
34
|
return this.withOption('nullable', false)
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
removeOrphan():
|
|
37
|
+
removeOrphan(): OneHasOneDefinition {
|
|
37
38
|
return this.withOption('orphanRemoval', true)
|
|
38
39
|
}
|
|
39
40
|
|
|
@@ -57,12 +58,15 @@ export class OneHasOneDefinitionImpl extends FieldDefinition<OneHasOneDefinition
|
|
|
57
58
|
...(options.orphanRemoval ? { orphanRemoval: true } : {}),
|
|
58
59
|
}
|
|
59
60
|
}
|
|
61
|
+
|
|
62
|
+
protected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {
|
|
63
|
+
return new OneHasOneDefinition({ ...this.options, [key]: value })
|
|
64
|
+
}
|
|
60
65
|
}
|
|
61
66
|
|
|
62
|
-
export type OneHasOneDefinition = Interface<OneHasOneDefinitionImpl>
|
|
63
67
|
|
|
64
68
|
export function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {
|
|
65
|
-
return new
|
|
69
|
+
return new OneHasOneDefinition({ target, inversedBy })
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
export type OneHasOneDefinitionOptions = {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Model } from '@contember/schema'
|
|
2
|
-
import { EntityConstructor
|
|
2
|
+
import { EntityConstructor } from '../types'
|
|
3
3
|
import { CreateFieldContext, FieldDefinition } from './FieldDefinition'
|
|
4
4
|
import { RelationTarget } from '../types'
|
|
5
5
|
|
|
6
|
-
export class
|
|
6
|
+
export class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {
|
|
7
7
|
type = 'OneHasOneInverseDefinition' as const
|
|
8
8
|
|
|
9
|
-
notNull()
|
|
9
|
+
notNull() {
|
|
10
10
|
return this.withOption('nullable', false)
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -20,20 +20,17 @@ export class OneHasOneInverseDefinitionImpl extends FieldDefinition<OneHasOneInv
|
|
|
20
20
|
nullable: options.nullable === undefined ? true : options.nullable,
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
+
|
|
24
|
+
protected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(this: any, key: K, value: OneHasOneInverseDefinitionOptions[K]): OneHasOneInverseDefinition {
|
|
25
|
+
return new this.constructor({ ...this.options, [key]: value })
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
export type OneHasOneInverseDefinition = Interface<OneHasOneInverseDefinitionImpl>
|
|
26
|
-
/** @deprecated use OneHasOneInverseDefinition */
|
|
27
|
-
export type OneHasOneInversedDefinition = Interface<OneHasOneInverseDefinitionImpl>
|
|
28
29
|
|
|
29
30
|
export function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {
|
|
30
|
-
return new
|
|
31
|
+
return new OneHasOneInverseDefinition({ target, ownedBy })
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
/** @deprecated use oneHasOneInverse */
|
|
34
|
-
export function oneHasOneInversed(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {
|
|
35
|
-
return new OneHasOneInverseDefinitionImpl({ target, ownedBy })
|
|
36
|
-
}
|
|
37
34
|
|
|
38
35
|
export type OneHasOneInverseDefinitionOptions = {
|
|
39
36
|
target: RelationTarget
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Interface } from './types'
|
|
2
1
|
import { Model } from '@contember/schema'
|
|
3
2
|
import { EnumDefinition } from './EnumDefinition'
|
|
4
3
|
import { SchemaBuilder } from './internal'
|
|
@@ -18,7 +17,7 @@ export * from './ViewDefinition'
|
|
|
18
17
|
export { extendEntity, type EntityExtension } from './extensions'
|
|
19
18
|
|
|
20
19
|
export abstract class Entity {
|
|
21
|
-
[key: string]:
|
|
20
|
+
[key: string]: FieldDefinition<any> | undefined
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
export type ModelDefinition<M> = {
|
|
@@ -32,6 +32,12 @@ export class SchemaBuilder {
|
|
|
32
32
|
const entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {
|
|
33
33
|
const definitionInstance: FieldsDefinition = new definition()
|
|
34
34
|
|
|
35
|
+
Object.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {
|
|
36
|
+
if (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {
|
|
37
|
+
throw `Entity "${entityName}": field "${fieldName}" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
|
|
35
41
|
const primaryName = this.conventions.getPrimaryField()
|
|
36
42
|
|
|
37
43
|
const entity: Model.Entity = {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FieldDefinition } from './fieldDefinitions'
|
|
2
1
|
import { EntityConstructor } from '../../utils'
|
|
2
|
+
import { FieldDefinition } from './fieldDefinitions'
|
|
3
3
|
|
|
4
|
-
export type Interface<T> = { [P in keyof T]: T[P] }
|
|
5
4
|
export type RelationTarget = EntityConstructor
|
|
6
|
-
export type FieldsDefinition = Record<string,
|
|
5
|
+
export type FieldsDefinition = Record<string, FieldDefinition<any>>
|
|
7
6
|
export { type EntityConstructor }
|
package/src/presets.ts
CHANGED
|
@@ -18,7 +18,19 @@ const v1_4preset: Settings.Schema = {
|
|
|
18
18
|
},
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
const v2_0preset: Settings.Schema = {
|
|
22
|
+
tenant: {
|
|
23
|
+
inviteExpirationMinutes: 60 * 24 * 7, // 7 days
|
|
24
|
+
},
|
|
25
|
+
content: {
|
|
26
|
+
shortDateResponse: true,
|
|
27
|
+
fullDateTimeResponse: true,
|
|
28
|
+
useExistsInHasManyFilter: true,
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
export const settingsPresets = {
|
|
22
33
|
'v1.3': v1_3preset,
|
|
23
34
|
'v1.4': v1_4preset,
|
|
35
|
+
'v2.0': v2_0preset,
|
|
24
36
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Bun Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`read actions schema 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"targets": {
|
|
6
|
+
"book_watch_target": {
|
|
7
|
+
"name": "book_watch_target",
|
|
8
|
+
"type": "webhook",
|
|
9
|
+
"url": "%webhookUrl%/book/updated",
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
"triggers": {
|
|
13
|
+
"book_watch": {
|
|
14
|
+
"entity": "Book",
|
|
15
|
+
"name": "book_watch",
|
|
16
|
+
"priority": 100,
|
|
17
|
+
"selection": undefined,
|
|
18
|
+
"target": "book_watch_target",
|
|
19
|
+
"type": "watch",
|
|
20
|
+
"watch": [
|
|
21
|
+
"title",
|
|
22
|
+
[
|
|
23
|
+
"tags",
|
|
24
|
+
{},
|
|
25
|
+
[
|
|
26
|
+
"name",
|
|
27
|
+
],
|
|
28
|
+
],
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
`;
|