@contember/schema-definition 2.1.0-alpha.3 → 2.1.0-alpha.35
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/package.json +13 -8
- package/src/acl/builder/EntityPermissionsBuilder.ts +1 -1
- package/src/acl/builder/EntitySelector.ts +2 -2
- package/src/acl/builder/PermissionOverrider.ts +10 -8
- package/src/acl/builder/PermissionsBuilder.ts +1 -3
- package/src/acl/definition/aclExtensions.ts +7 -8
- package/src/acl/definition/customPrimary.ts +1 -1
- package/src/acl/definition/internal/AclFactory.ts +30 -25
- package/src/acl/definition/internal/EntityPredicateResolver.ts +4 -4
- package/src/acl/definition/internal/stores.ts +5 -6
- package/src/acl/definition/permissions.ts +14 -8
- package/src/acl/definition/variables.ts +5 -1
- package/src/actions/definition/index.ts +0 -1
- package/src/actions/definition/internal/ActionsFactory.ts +7 -9
- package/src/actions/definition/targets.ts +0 -1
- package/src/actions/definition/triggers.ts +9 -7
- package/src/createSchema.ts +1 -1
- package/src/index.ts +6 -11
- package/src/model/builder/ColumnBuilder.ts +7 -5
- package/src/model/builder/internal/ColumnProcessor.ts +0 -1
- package/src/model/definition/IndexDefinition.ts +7 -3
- package/src/model/definition/OrderByDefinition.ts +7 -5
- package/src/model/definition/UniqueDefinition.ts +14 -12
- package/src/model/definition/extensions.ts +2 -2
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +12 -4
- package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -1
- package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +0 -2
- package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +4 -2
- package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +1 -1
- package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +0 -1
- package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +0 -2
- package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +5 -3
- package/src/model/definition/index.ts +2 -2
- package/src/model/definition/internal/SchemaBuilder.ts +1 -2
- package/src/model/definition/types.ts +1 -1
- package/src/model/index.ts +1 -10
- package/src/presets.ts +0 -2
- package/src/strict.ts +4 -4
- package/src/utils/MetadataStore.ts +18 -4
- package/src/utils/decorators.ts +1 -1
- package/src/utils/filterEntityDefinition.ts +3 -2
- package/src/validation/index.ts +30 -21
- package/tests/cases/unit/createSchema.test.ts +5 -6
- package/tests/cases/unit/extendEntity.test.ts +1 -2
- package/tests/cases/unit/orderBy.test.ts +3 -6
- package/tests/cases/unit/readAclDefinitions.test.ts +191 -176
- package/tests/cases/unit/readActions.test.ts +0 -2
- package/dist/development/index.cjs +0 -123
- package/dist/development/index.cjs.map +0 -1
- package/dist/development/index.js +0 -118
- package/dist/development/index.js.map +0 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +0 -119
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +0 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +0 -120
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +0 -1
- package/dist/development/src/acl/builder/EntitySelector.cjs +0 -32
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +0 -1
- package/dist/development/src/acl/builder/EntitySelector.js +0 -33
- package/dist/development/src/acl/builder/EntitySelector.js.map +0 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +0 -59
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +0 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +0 -60
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +0 -1
- package/dist/development/src/acl/builder/FieldSelector.cjs +0 -26
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +0 -1
- package/dist/development/src/acl/builder/FieldSelector.js +0 -27
- package/dist/development/src/acl/builder/FieldSelector.js.map +0 -1
- package/dist/development/src/acl/builder/PermissionOverrider.cjs +0 -37
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +0 -1
- package/dist/development/src/acl/builder/PermissionOverrider.js +0 -38
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +0 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs +0 -58
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +0 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.js +0 -58
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +0 -1
- package/dist/development/src/acl/builder/PredicateReference.cjs +0 -43
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +0 -1
- package/dist/development/src/acl/builder/PredicateReference.js +0 -43
- package/dist/development/src/acl/builder/PredicateReference.js.map +0 -1
- package/dist/development/src/acl/definition/aclExtensions.cjs +0 -16
- package/dist/development/src/acl/definition/aclExtensions.cjs.map +0 -1
- package/dist/development/src/acl/definition/aclExtensions.js +0 -16
- package/dist/development/src/acl/definition/aclExtensions.js.map +0 -1
- package/dist/development/src/acl/definition/customPrimary.cjs +0 -13
- package/dist/development/src/acl/definition/customPrimary.cjs.map +0 -1
- package/dist/development/src/acl/definition/customPrimary.js +0 -13
- package/dist/development/src/acl/definition/customPrimary.js.map +0 -1
- package/dist/development/src/acl/definition/index.cjs +0 -27
- package/dist/development/src/acl/definition/index.cjs.map +0 -1
- package/dist/development/src/acl/definition/index.js +0 -27
- package/dist/development/src/acl/definition/index.js.map +0 -1
- package/dist/development/src/acl/definition/internal/AclFactory.cjs +0 -125
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +0 -1
- package/dist/development/src/acl/definition/internal/AclFactory.js +0 -125
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +0 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +0 -151
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +0 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +0 -151
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +0 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs +0 -8
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +0 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.js +0 -8
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +0 -1
- package/dist/development/src/acl/definition/internal/stores.cjs +0 -6
- package/dist/development/src/acl/definition/internal/stores.cjs.map +0 -1
- package/dist/development/src/acl/definition/internal/stores.js +0 -6
- package/dist/development/src/acl/definition/internal/stores.js.map +0 -1
- package/dist/development/src/acl/definition/permissions.cjs +0 -12
- package/dist/development/src/acl/definition/permissions.cjs.map +0 -1
- package/dist/development/src/acl/definition/permissions.js +0 -12
- package/dist/development/src/acl/definition/permissions.js.map +0 -1
- package/dist/development/src/acl/definition/references.cjs +0 -26
- package/dist/development/src/acl/definition/references.cjs.map +0 -1
- package/dist/development/src/acl/definition/references.js +0 -26
- package/dist/development/src/acl/definition/references.js.map +0 -1
- package/dist/development/src/acl/definition/roles.cjs +0 -14
- package/dist/development/src/acl/definition/roles.cjs.map +0 -1
- package/dist/development/src/acl/definition/roles.js +0 -14
- package/dist/development/src/acl/definition/roles.js.map +0 -1
- package/dist/development/src/acl/definition/variables.cjs +0 -36
- package/dist/development/src/acl/definition/variables.cjs.map +0 -1
- package/dist/development/src/acl/definition/variables.js +0 -36
- package/dist/development/src/acl/definition/variables.js.map +0 -1
- package/dist/development/src/actions/definition/index.cjs +0 -15
- package/dist/development/src/actions/definition/index.cjs.map +0 -1
- package/dist/development/src/actions/definition/index.js +0 -15
- package/dist/development/src/actions/definition/index.js.map +0 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +0 -179
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +0 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.js +0 -179
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +0 -1
- package/dist/development/src/actions/definition/internal/store.cjs +0 -6
- package/dist/development/src/actions/definition/internal/store.cjs.map +0 -1
- package/dist/development/src/actions/definition/internal/store.js +0 -6
- package/dist/development/src/actions/definition/internal/store.js.map +0 -1
- package/dist/development/src/actions/definition/targets.cjs +0 -15
- package/dist/development/src/actions/definition/targets.cjs.map +0 -1
- package/dist/development/src/actions/definition/targets.js +0 -15
- package/dist/development/src/actions/definition/targets.js.map +0 -1
- package/dist/development/src/actions/definition/triggers.cjs +0 -12
- package/dist/development/src/actions/definition/triggers.cjs.map +0 -1
- package/dist/development/src/actions/definition/triggers.js +0 -12
- package/dist/development/src/actions/definition/triggers.js.map +0 -1
- package/dist/development/src/createSchema.cjs +0 -29
- package/dist/development/src/createSchema.cjs.map +0 -1
- package/dist/development/src/createSchema.js +0 -29
- package/dist/development/src/createSchema.js.map +0 -1
- package/dist/development/src/model/builder/ColumnBuilder.cjs +0 -36
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/ColumnBuilder.js +0 -37
- package/dist/development/src/model/builder/ColumnBuilder.js.map +0 -1
- package/dist/development/src/model/builder/EntityBuilder.cjs +0 -69
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/EntityBuilder.js +0 -70
- package/dist/development/src/model/builder/EntityBuilder.js.map +0 -1
- package/dist/development/src/model/builder/FieldBuilder.cjs +0 -14
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/FieldBuilder.js +0 -15
- package/dist/development/src/model/builder/FieldBuilder.js.map +0 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +0 -35
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.js +0 -36
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +0 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +0 -36
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.js +0 -37
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +0 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs +0 -44
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.js +0 -45
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +0 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs +0 -46
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.js +0 -47
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilder.cjs +0 -40
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilder.js +0 -40
- package/dist/development/src/model/builder/SchemaBuilder.js.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilderError.cjs +0 -6
- package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilderError.js +0 -6
- package/dist/development/src/model/builder/SchemaBuilderError.js.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +0 -153
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +0 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.js +0 -154
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +0 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +0 -34
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +0 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.js +0 -35
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +0 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +0 -54
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +0 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +0 -55
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +0 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +0 -46
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +0 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +0 -47
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +0 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +0 -44
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +0 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +0 -45
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +0 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +0 -50
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +0 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +0 -51
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +0 -1
- package/dist/development/src/model/definition/EnumDefinition.cjs +0 -13
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/EnumDefinition.js +0 -13
- package/dist/development/src/model/definition/EnumDefinition.js.map +0 -1
- package/dist/development/src/model/definition/EventLogDefinition.cjs +0 -9
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/EventLogDefinition.js +0 -9
- package/dist/development/src/model/definition/EventLogDefinition.js.map +0 -1
- package/dist/development/src/model/definition/IndexDefinition.cjs +0 -17
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/IndexDefinition.js +0 -17
- package/dist/development/src/model/definition/IndexDefinition.js.map +0 -1
- package/dist/development/src/model/definition/OrderByDefinition.cjs +0 -30
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/OrderByDefinition.js +0 -30
- package/dist/development/src/model/definition/OrderByDefinition.js.map +0 -1
- package/dist/development/src/model/definition/UniqueDefinition.cjs +0 -17
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/UniqueDefinition.js +0 -17
- package/dist/development/src/model/definition/UniqueDefinition.js.map +0 -1
- package/dist/development/src/model/definition/ViewDefinition.cjs +0 -27
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/ViewDefinition.js +0 -27
- package/dist/development/src/model/definition/ViewDefinition.js.map +0 -1
- package/dist/development/src/model/definition/extensions.cjs +0 -16
- package/dist/development/src/model/definition/extensions.cjs.map +0 -1
- package/dist/development/src/model/definition/extensions.js +0 -16
- package/dist/development/src/model/definition/extensions.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +0 -140
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +0 -140
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -9
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -9
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +0 -57
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +0 -57
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +0 -36
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +0 -36
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +0 -60
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +0 -60
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +0 -36
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +0 -36
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +0 -64
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +0 -64
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +0 -35
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +0 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +0 -35
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +0 -1
- package/dist/development/src/model/definition/index.cjs +0 -80
- package/dist/development/src/model/definition/index.cjs.map +0 -1
- package/dist/development/src/model/definition/index.js +0 -81
- package/dist/development/src/model/definition/index.js.map +0 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs +0 -29
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +0 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.js +0 -29
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +0 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs +0 -29
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +0 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.js +0 -29
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +0 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +0 -101
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +0 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.js +0 -101
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +0 -1
- package/dist/development/src/presets.cjs +0 -46
- package/dist/development/src/presets.cjs.map +0 -1
- package/dist/development/src/presets.js +0 -46
- package/dist/development/src/presets.js.map +0 -1
- package/dist/development/src/strict.cjs +0 -31
- package/dist/development/src/strict.cjs.map +0 -1
- package/dist/development/src/strict.js +0 -31
- package/dist/development/src/strict.js.map +0 -1
- package/dist/development/src/utils/MetadataStore.cjs +0 -19
- package/dist/development/src/utils/MetadataStore.cjs.map +0 -1
- package/dist/development/src/utils/MetadataStore.js +0 -19
- package/dist/development/src/utils/MetadataStore.js.map +0 -1
- package/dist/development/src/utils/assertNever.cjs +0 -7
- package/dist/development/src/utils/assertNever.cjs.map +0 -1
- package/dist/development/src/utils/assertNever.js +0 -7
- package/dist/development/src/utils/assertNever.js.map +0 -1
- package/dist/development/src/utils/filterEntityDefinition.cjs +0 -9
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +0 -1
- package/dist/development/src/utils/filterEntityDefinition.js +0 -9
- package/dist/development/src/utils/filterEntityDefinition.js.map +0 -1
- package/dist/development/src/utils/tuple.cjs +0 -5
- package/dist/development/src/utils/tuple.cjs.map +0 -1
- package/dist/development/src/utils/tuple.js +0 -5
- package/dist/development/src/utils/tuple.js.map +0 -1
- package/dist/development/src/validation/index.cjs +0 -199
- package/dist/development/src/validation/index.cjs.map +0 -1
- package/dist/development/src/validation/index.js +0 -199
- package/dist/development/src/validation/index.js.map +0 -1
- package/dist/production/index.cjs +0 -123
- package/dist/production/index.cjs.map +0 -1
- package/dist/production/index.js +0 -118
- package/dist/production/index.js.map +0 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +0 -119
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +0 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +0 -120
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +0 -1
- package/dist/production/src/acl/builder/EntitySelector.cjs +0 -32
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +0 -1
- package/dist/production/src/acl/builder/EntitySelector.js +0 -33
- package/dist/production/src/acl/builder/EntitySelector.js.map +0 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +0 -59
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +0 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +0 -60
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +0 -1
- package/dist/production/src/acl/builder/FieldSelector.cjs +0 -26
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +0 -1
- package/dist/production/src/acl/builder/FieldSelector.js +0 -27
- package/dist/production/src/acl/builder/FieldSelector.js.map +0 -1
- package/dist/production/src/acl/builder/PermissionOverrider.cjs +0 -37
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +0 -1
- package/dist/production/src/acl/builder/PermissionOverrider.js +0 -38
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +0 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs +0 -58
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +0 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.js +0 -58
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +0 -1
- package/dist/production/src/acl/builder/PredicateReference.cjs +0 -43
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +0 -1
- package/dist/production/src/acl/builder/PredicateReference.js +0 -43
- package/dist/production/src/acl/builder/PredicateReference.js.map +0 -1
- package/dist/production/src/acl/definition/aclExtensions.cjs +0 -16
- package/dist/production/src/acl/definition/aclExtensions.cjs.map +0 -1
- package/dist/production/src/acl/definition/aclExtensions.js +0 -16
- package/dist/production/src/acl/definition/aclExtensions.js.map +0 -1
- package/dist/production/src/acl/definition/customPrimary.cjs +0 -13
- package/dist/production/src/acl/definition/customPrimary.cjs.map +0 -1
- package/dist/production/src/acl/definition/customPrimary.js +0 -13
- package/dist/production/src/acl/definition/customPrimary.js.map +0 -1
- package/dist/production/src/acl/definition/index.cjs +0 -27
- package/dist/production/src/acl/definition/index.cjs.map +0 -1
- package/dist/production/src/acl/definition/index.js +0 -27
- package/dist/production/src/acl/definition/index.js.map +0 -1
- package/dist/production/src/acl/definition/internal/AclFactory.cjs +0 -125
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +0 -1
- package/dist/production/src/acl/definition/internal/AclFactory.js +0 -125
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +0 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +0 -151
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +0 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +0 -151
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +0 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs +0 -8
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +0 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.js +0 -8
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +0 -1
- package/dist/production/src/acl/definition/internal/stores.cjs +0 -6
- package/dist/production/src/acl/definition/internal/stores.cjs.map +0 -1
- package/dist/production/src/acl/definition/internal/stores.js +0 -6
- package/dist/production/src/acl/definition/internal/stores.js.map +0 -1
- package/dist/production/src/acl/definition/permissions.cjs +0 -12
- package/dist/production/src/acl/definition/permissions.cjs.map +0 -1
- package/dist/production/src/acl/definition/permissions.js +0 -12
- package/dist/production/src/acl/definition/permissions.js.map +0 -1
- package/dist/production/src/acl/definition/references.cjs +0 -26
- package/dist/production/src/acl/definition/references.cjs.map +0 -1
- package/dist/production/src/acl/definition/references.js +0 -26
- package/dist/production/src/acl/definition/references.js.map +0 -1
- package/dist/production/src/acl/definition/roles.cjs +0 -14
- package/dist/production/src/acl/definition/roles.cjs.map +0 -1
- package/dist/production/src/acl/definition/roles.js +0 -14
- package/dist/production/src/acl/definition/roles.js.map +0 -1
- package/dist/production/src/acl/definition/variables.cjs +0 -36
- package/dist/production/src/acl/definition/variables.cjs.map +0 -1
- package/dist/production/src/acl/definition/variables.js +0 -36
- package/dist/production/src/acl/definition/variables.js.map +0 -1
- package/dist/production/src/actions/definition/index.cjs +0 -15
- package/dist/production/src/actions/definition/index.cjs.map +0 -1
- package/dist/production/src/actions/definition/index.js +0 -15
- package/dist/production/src/actions/definition/index.js.map +0 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +0 -179
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +0 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.js +0 -179
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +0 -1
- package/dist/production/src/actions/definition/internal/store.cjs +0 -6
- package/dist/production/src/actions/definition/internal/store.cjs.map +0 -1
- package/dist/production/src/actions/definition/internal/store.js +0 -6
- package/dist/production/src/actions/definition/internal/store.js.map +0 -1
- package/dist/production/src/actions/definition/targets.cjs +0 -15
- package/dist/production/src/actions/definition/targets.cjs.map +0 -1
- package/dist/production/src/actions/definition/targets.js +0 -15
- package/dist/production/src/actions/definition/targets.js.map +0 -1
- package/dist/production/src/actions/definition/triggers.cjs +0 -12
- package/dist/production/src/actions/definition/triggers.cjs.map +0 -1
- package/dist/production/src/actions/definition/triggers.js +0 -12
- package/dist/production/src/actions/definition/triggers.js.map +0 -1
- package/dist/production/src/createSchema.cjs +0 -29
- package/dist/production/src/createSchema.cjs.map +0 -1
- package/dist/production/src/createSchema.js +0 -29
- package/dist/production/src/createSchema.js.map +0 -1
- package/dist/production/src/model/builder/ColumnBuilder.cjs +0 -36
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/ColumnBuilder.js +0 -37
- package/dist/production/src/model/builder/ColumnBuilder.js.map +0 -1
- package/dist/production/src/model/builder/EntityBuilder.cjs +0 -69
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/EntityBuilder.js +0 -70
- package/dist/production/src/model/builder/EntityBuilder.js.map +0 -1
- package/dist/production/src/model/builder/FieldBuilder.cjs +0 -14
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/FieldBuilder.js +0 -15
- package/dist/production/src/model/builder/FieldBuilder.js.map +0 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +0 -35
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.js +0 -36
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +0 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +0 -36
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.js +0 -37
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +0 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs +0 -44
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.js +0 -45
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +0 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs +0 -46
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.js +0 -47
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilder.cjs +0 -40
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilder.js +0 -40
- package/dist/production/src/model/builder/SchemaBuilder.js.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilderError.cjs +0 -6
- package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilderError.js +0 -6
- package/dist/production/src/model/builder/SchemaBuilderError.js.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +0 -153
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +0 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.js +0 -154
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +0 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +0 -34
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +0 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.js +0 -35
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +0 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +0 -54
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +0 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +0 -55
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +0 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +0 -46
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +0 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +0 -47
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +0 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +0 -44
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +0 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +0 -45
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +0 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +0 -50
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +0 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +0 -51
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +0 -1
- package/dist/production/src/model/definition/EnumDefinition.cjs +0 -13
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/EnumDefinition.js +0 -13
- package/dist/production/src/model/definition/EnumDefinition.js.map +0 -1
- package/dist/production/src/model/definition/EventLogDefinition.cjs +0 -9
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/EventLogDefinition.js +0 -9
- package/dist/production/src/model/definition/EventLogDefinition.js.map +0 -1
- package/dist/production/src/model/definition/IndexDefinition.cjs +0 -17
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/IndexDefinition.js +0 -17
- package/dist/production/src/model/definition/IndexDefinition.js.map +0 -1
- package/dist/production/src/model/definition/OrderByDefinition.cjs +0 -30
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/OrderByDefinition.js +0 -30
- package/dist/production/src/model/definition/OrderByDefinition.js.map +0 -1
- package/dist/production/src/model/definition/UniqueDefinition.cjs +0 -17
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/UniqueDefinition.js +0 -17
- package/dist/production/src/model/definition/UniqueDefinition.js.map +0 -1
- package/dist/production/src/model/definition/ViewDefinition.cjs +0 -27
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/ViewDefinition.js +0 -27
- package/dist/production/src/model/definition/ViewDefinition.js.map +0 -1
- package/dist/production/src/model/definition/extensions.cjs +0 -16
- package/dist/production/src/model/definition/extensions.cjs.map +0 -1
- package/dist/production/src/model/definition/extensions.js +0 -16
- package/dist/production/src/model/definition/extensions.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +0 -140
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +0 -140
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +0 -9
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -9
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +0 -57
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +0 -57
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +0 -36
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +0 -36
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +0 -60
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +0 -60
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +0 -36
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +0 -36
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +0 -64
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +0 -64
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +0 -35
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +0 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +0 -35
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +0 -1
- package/dist/production/src/model/definition/index.cjs +0 -80
- package/dist/production/src/model/definition/index.cjs.map +0 -1
- package/dist/production/src/model/definition/index.js +0 -81
- package/dist/production/src/model/definition/index.js.map +0 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs +0 -29
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +0 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.js +0 -29
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +0 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs +0 -29
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +0 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.js +0 -29
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +0 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +0 -101
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +0 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.js +0 -101
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +0 -1
- package/dist/production/src/presets.cjs +0 -46
- package/dist/production/src/presets.cjs.map +0 -1
- package/dist/production/src/presets.js +0 -46
- package/dist/production/src/presets.js.map +0 -1
- package/dist/production/src/strict.cjs +0 -31
- package/dist/production/src/strict.cjs.map +0 -1
- package/dist/production/src/strict.js +0 -31
- package/dist/production/src/strict.js.map +0 -1
- package/dist/production/src/utils/MetadataStore.cjs +0 -19
- package/dist/production/src/utils/MetadataStore.cjs.map +0 -1
- package/dist/production/src/utils/MetadataStore.js +0 -19
- package/dist/production/src/utils/MetadataStore.js.map +0 -1
- package/dist/production/src/utils/assertNever.cjs +0 -7
- package/dist/production/src/utils/assertNever.cjs.map +0 -1
- package/dist/production/src/utils/assertNever.js +0 -7
- package/dist/production/src/utils/assertNever.js.map +0 -1
- package/dist/production/src/utils/filterEntityDefinition.cjs +0 -9
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +0 -1
- package/dist/production/src/utils/filterEntityDefinition.js +0 -9
- package/dist/production/src/utils/filterEntityDefinition.js.map +0 -1
- package/dist/production/src/utils/tuple.cjs +0 -5
- package/dist/production/src/utils/tuple.cjs.map +0 -1
- package/dist/production/src/utils/tuple.js +0 -5
- package/dist/production/src/utils/tuple.js.map +0 -1
- package/dist/production/src/validation/index.cjs +0 -199
- package/dist/production/src/validation/index.cjs.map +0 -1
- package/dist/production/src/validation/index.js +0 -199
- package/dist/production/src/validation/index.js.map +0 -1
- package/dist/tests/cases/unit/createSchema.test.d.ts +0 -2
- package/dist/tests/cases/unit/createSchema.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/extendEntity.test.d.ts +0 -2
- package/dist/tests/cases/unit/extendEntity.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/orderBy.test.d.ts +0 -2
- package/dist/tests/cases/unit/orderBy.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts +0 -2
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/readActions.test.d.ts +0 -2
- package/dist/tests/cases/unit/readActions.test.d.ts.map +0 -1
- package/dist/tests/tsconfig.tsbuildinfo +0 -1
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +0 -28
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +0 -1
- package/dist/types/acl/builder/EntitySelector.d.ts +0 -14
- package/dist/types/acl/builder/EntitySelector.d.ts.map +0 -1
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +0 -23
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +0 -1
- package/dist/types/acl/builder/FieldSelector.d.ts +0 -14
- package/dist/types/acl/builder/FieldSelector.d.ts.map +0 -1
- package/dist/types/acl/builder/PermissionOverrider.d.ts +0 -6
- package/dist/types/acl/builder/PermissionOverrider.d.ts.map +0 -1
- package/dist/types/acl/builder/PermissionsBuilder.d.ts +0 -24
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +0 -1
- package/dist/types/acl/builder/PredicateReference.d.ts +0 -7
- package/dist/types/acl/builder/PredicateReference.d.ts.map +0 -1
- package/dist/types/acl/definition/aclExtensions.d.ts +0 -12
- package/dist/types/acl/definition/aclExtensions.d.ts.map +0 -1
- package/dist/types/acl/definition/customPrimary.d.ts +0 -4
- package/dist/types/acl/definition/customPrimary.d.ts.map +0 -1
- package/dist/types/acl/definition/index.d.ts +0 -8
- package/dist/types/acl/definition/index.d.ts.map +0 -1
- package/dist/types/acl/definition/internal/AclFactory.d.ts +0 -19
- package/dist/types/acl/definition/internal/AclFactory.d.ts.map +0 -1
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +0 -16
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +0 -1
- package/dist/types/acl/definition/internal/createPredicateName.d.ts +0 -3
- package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +0 -1
- package/dist/types/acl/definition/internal/stores.d.ts +0 -7
- package/dist/types/acl/definition/internal/stores.d.ts.map +0 -1
- package/dist/types/acl/definition/permissions.d.ts +0 -18
- package/dist/types/acl/definition/permissions.d.ts.map +0 -1
- package/dist/types/acl/definition/references.d.ts +0 -10
- package/dist/types/acl/definition/references.d.ts.map +0 -1
- package/dist/types/acl/definition/roles.d.ts +0 -11
- package/dist/types/acl/definition/roles.d.ts.map +0 -1
- package/dist/types/acl/definition/variables.d.ts +0 -12
- package/dist/types/acl/definition/variables.d.ts.map +0 -1
- package/dist/types/actions/definition/index.d.ts +0 -5
- package/dist/types/actions/definition/index.d.ts.map +0 -1
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts +0 -11
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +0 -1
- package/dist/types/actions/definition/internal/store.d.ts +0 -11
- package/dist/types/actions/definition/internal/store.d.ts.map +0 -1
- package/dist/types/actions/definition/targets.d.ts +0 -10
- package/dist/types/actions/definition/targets.d.ts.map +0 -1
- package/dist/types/actions/definition/triggers.d.ts +0 -30
- package/dist/types/actions/definition/triggers.d.ts.map +0 -1
- package/dist/types/createSchema.d.ts +0 -7
- package/dist/types/createSchema.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -88
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/model/builder/ColumnBuilder.d.ts +0 -31
- package/dist/types/model/builder/ColumnBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/EntityBuilder.d.ts +0 -39
- package/dist/types/model/builder/EntityBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/FieldBuilder.d.ts +0 -38
- package/dist/types/model/builder/FieldBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts +0 -25
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts +0 -26
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/OneHasManyBuilder.d.ts +0 -29
- package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/OneHasOneBuilder.d.ts +0 -32
- package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/SchemaBuilder.d.ts +0 -14
- package/dist/types/model/builder/SchemaBuilder.d.ts.map +0 -1
- package/dist/types/model/builder/SchemaBuilderError.d.ts +0 -3
- package/dist/types/model/builder/SchemaBuilderError.d.ts.map +0 -1
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts +0 -22
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +0 -1
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts +0 -10
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/internal/FieldProcessor.d.ts +0 -9
- package/dist/types/model/builder/internal/FieldProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +0 -11
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +0 -11
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +0 -11
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +0 -11
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +0 -1
- package/dist/types/model/builder/types.d.ts +0 -4
- package/dist/types/model/builder/types.d.ts.map +0 -1
- package/dist/types/model/definition/EnumDefinition.d.ts +0 -6
- package/dist/types/model/definition/EnumDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/EventLogDefinition.d.ts +0 -2
- package/dist/types/model/definition/EventLogDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/IndexDefinition.d.ts +0 -7
- package/dist/types/model/definition/IndexDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/OrderByDefinition.d.ts +0 -11
- package/dist/types/model/definition/OrderByDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/UniqueDefinition.d.ts +0 -14
- package/dist/types/model/definition/UniqueDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/ViewDefinition.d.ts +0 -9
- package/dist/types/model/definition/ViewDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/context.d.ts +0 -13
- package/dist/types/model/definition/context.d.ts.map +0 -1
- package/dist/types/model/definition/extensions.d.ts +0 -15
- package/dist/types/model/definition/extensions.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +0 -55
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -15
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +0 -19
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +0 -16
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +0 -23
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +0 -16
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +0 -25
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +0 -17
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +0 -1
- package/dist/types/model/definition/fieldDefinitions/index.d.ts +0 -9
- package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +0 -1
- package/dist/types/model/definition/index.d.ts +0 -27
- package/dist/types/model/definition/index.d.ts.map +0 -1
- package/dist/types/model/definition/internal/EntityRegistry.d.ts +0 -8
- package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +0 -1
- package/dist/types/model/definition/internal/EnumRegistry.d.ts +0 -8
- package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +0 -1
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts +0 -22
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +0 -1
- package/dist/types/model/definition/internal/index.d.ts +0 -4
- package/dist/types/model/definition/internal/index.d.ts.map +0 -1
- package/dist/types/model/definition/types.d.ts +0 -6
- package/dist/types/model/definition/types.d.ts.map +0 -1
- package/dist/types/model/index.d.ts +0 -10
- package/dist/types/model/index.d.ts.map +0 -1
- package/dist/types/presets.d.ts +0 -9
- package/dist/types/presets.d.ts.map +0 -1
- package/dist/types/strict.d.ts +0 -22
- package/dist/types/strict.d.ts.map +0 -1
- package/dist/types/tsconfig.tsbuildinfo +0 -1
- package/dist/types/utils/MetadataStore.d.ts +0 -7
- package/dist/types/utils/MetadataStore.d.ts.map +0 -1
- package/dist/types/utils/assertNever.d.ts +0 -2
- package/dist/types/utils/assertNever.d.ts.map +0 -1
- package/dist/types/utils/decorators.d.ts +0 -5
- package/dist/types/utils/decorators.d.ts.map +0 -1
- package/dist/types/utils/filterEntityDefinition.d.ts +0 -4
- package/dist/types/utils/filterEntityDefinition.d.ts.map +0 -1
- package/dist/types/utils/index.d.ts +0 -6
- package/dist/types/utils/index.d.ts.map +0 -1
- package/dist/types/utils/tuple.d.ts +0 -2
- package/dist/types/utils/tuple.d.ts.map +0 -1
- package/dist/types/validation/index.d.ts +0 -57
- package/dist/types/validation/index.d.ts.map +0 -1
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import * as index from "./src/acl/definition/index.js";
|
|
2
|
-
import * as index$1 from "./src/actions/definition/index.js";
|
|
3
|
-
import { assert, required, assertDefined, assertNotEmpty, assertPattern, assertMinLength, assertMaxLength, when, rules } from "./src/validation/index.js";
|
|
4
|
-
import * as index$3 from "./src/validation/index.js";
|
|
5
|
-
import { default as default2 } from "./src/model/builder/SchemaBuilder.js";
|
|
6
|
-
import { default as default3 } from "./src/model/builder/ColumnBuilder.js";
|
|
7
|
-
import { default as default4 } from "./src/model/builder/ManyHasManyBuilder.js";
|
|
8
|
-
import { default as default5 } from "./src/model/builder/OneHasManyBuilder.js";
|
|
9
|
-
import { default as default6 } from "./src/model/builder/ManyHasOneBuilder.js";
|
|
10
|
-
import { default as default7 } from "./src/model/builder/OneHasOneBuilder.js";
|
|
11
|
-
import { default as default8 } from "./src/model/builder/FieldBuilder.js";
|
|
12
|
-
import * as index$2 from "./src/model/definition/index.js";
|
|
13
|
-
import { createSchema } from "./src/createSchema.js";
|
|
14
|
-
import { AllowAllPermissionFactory } from "@contember/schema-utils";
|
|
15
|
-
import { PermissionsBuilder } from "./src/acl/builder/PermissionsBuilder.js";
|
|
16
|
-
import { settingsPresets } from "./src/presets.js";
|
|
17
|
-
import { allowCustomPrimary } from "./src/acl/definition/customPrimary.js";
|
|
18
|
-
import { allow } from "./src/acl/definition/permissions.js";
|
|
19
|
-
import { createRole } from "./src/acl/definition/roles.js";
|
|
20
|
-
import { createConditionVariable, createEntityVariable, createPredefinedVariable } from "./src/acl/definition/variables.js";
|
|
21
|
-
import { canCreate, canRead, canUpdate, canDelete } from "./src/acl/definition/references.js";
|
|
22
|
-
import { watch, trigger } from "./src/actions/definition/triggers.js";
|
|
23
|
-
import { createTarget } from "./src/actions/definition/targets.js";
|
|
24
|
-
import { extendEntity } from "./src/model/definition/extensions.js";
|
|
25
|
-
import { Index } from "./src/model/definition/IndexDefinition.js";
|
|
26
|
-
import { Unique } from "./src/model/definition/UniqueDefinition.js";
|
|
27
|
-
import { View } from "./src/model/definition/ViewDefinition.js";
|
|
28
|
-
import { DisableEventLog } from "./src/model/definition/EventLogDefinition.js";
|
|
29
|
-
import { OrderBy } from "./src/model/definition/OrderByDefinition.js";
|
|
30
|
-
import { column, boolColumn, intColumn, doubleColumn, dateColumn, timeColumn, dateTimeColumn, jsonColumn, stringColumn, enumColumn, uuidColumn } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
|
|
31
|
-
import { manyHasMany } from "./src/model/definition/fieldDefinitions/ManyHasManyDefinition.js";
|
|
32
|
-
import { manyHasManyInverse } from "./src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js";
|
|
33
|
-
import { manyHasOne } from "./src/model/definition/fieldDefinitions/ManyHasOneDefinition.js";
|
|
34
|
-
import { oneHasOne } from "./src/model/definition/fieldDefinitions/OneHasOneDefinition.js";
|
|
35
|
-
import { oneHasOneInverse } from "./src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js";
|
|
36
|
-
import { oneHasMany } from "./src/model/definition/fieldDefinitions/OneHasManyDefinition.js";
|
|
37
|
-
import { createEnum } from "./src/model/definition/EnumDefinition.js";
|
|
38
|
-
const c = {
|
|
39
|
-
// ACL
|
|
40
|
-
// ACL entity decorators
|
|
41
|
-
AllowCustomPrimary: allowCustomPrimary,
|
|
42
|
-
Allow: allow,
|
|
43
|
-
// ACL factories
|
|
44
|
-
createRole,
|
|
45
|
-
createConditionVariable,
|
|
46
|
-
createEntityVariable,
|
|
47
|
-
createPredefinedVariable,
|
|
48
|
-
// ACL utilities
|
|
49
|
-
canCreate,
|
|
50
|
-
canRead,
|
|
51
|
-
canUpdate,
|
|
52
|
-
canDelete,
|
|
53
|
-
// Actions
|
|
54
|
-
// Actions entity decorators
|
|
55
|
-
Watch: watch,
|
|
56
|
-
Trigger: trigger,
|
|
57
|
-
// Actions factories
|
|
58
|
-
createActionsTarget: createTarget,
|
|
59
|
-
// Model
|
|
60
|
-
// Model entity decorators
|
|
61
|
-
ExtendEntity: extendEntity,
|
|
62
|
-
Index,
|
|
63
|
-
Unique,
|
|
64
|
-
View,
|
|
65
|
-
DisableEventLog,
|
|
66
|
-
OrderBy,
|
|
67
|
-
// Model field factories
|
|
68
|
-
column,
|
|
69
|
-
boolColumn,
|
|
70
|
-
intColumn,
|
|
71
|
-
doubleColumn,
|
|
72
|
-
dateColumn,
|
|
73
|
-
timeColumn,
|
|
74
|
-
dateTimeColumn,
|
|
75
|
-
jsonColumn,
|
|
76
|
-
stringColumn,
|
|
77
|
-
enumColumn,
|
|
78
|
-
uuidColumn,
|
|
79
|
-
manyHasMany,
|
|
80
|
-
manyHasManyInverse,
|
|
81
|
-
manyHasOne,
|
|
82
|
-
oneHasOne,
|
|
83
|
-
oneHasOneInverse,
|
|
84
|
-
oneHasMany,
|
|
85
|
-
// Model factories
|
|
86
|
-
createEnum,
|
|
87
|
-
// Validation
|
|
88
|
-
// Validation field decorators
|
|
89
|
-
Assert: assert,
|
|
90
|
-
Required: required,
|
|
91
|
-
AssertDefined: assertDefined,
|
|
92
|
-
AssertNotEmpty: assertNotEmpty,
|
|
93
|
-
AssertPattern: assertPattern,
|
|
94
|
-
AssertMinLength: assertMinLength,
|
|
95
|
-
AssertMaxLength: assertMaxLength,
|
|
96
|
-
ValidateWhen: when,
|
|
97
|
-
// Validation utilities
|
|
98
|
-
rules
|
|
99
|
-
};
|
|
100
|
-
export {
|
|
101
|
-
index as AclDefinition,
|
|
102
|
-
index$1 as ActionsDefinition,
|
|
103
|
-
AllowAllPermissionFactory,
|
|
104
|
-
default3 as ColumnBuilder,
|
|
105
|
-
default8 as FieldBuilder,
|
|
106
|
-
index$3 as InputValidation,
|
|
107
|
-
default4 as ManyHasManyBuilder,
|
|
108
|
-
default6 as ManyHasOneBuilder,
|
|
109
|
-
default5 as OneHasManyBuilder,
|
|
110
|
-
default7 as OneHasOneBuilder,
|
|
111
|
-
PermissionsBuilder,
|
|
112
|
-
default2 as SchemaBuilder,
|
|
113
|
-
index$2 as SchemaDefinition,
|
|
114
|
-
c,
|
|
115
|
-
createSchema,
|
|
116
|
-
settingsPresets
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const tuple = require("../../utils/tuple.cjs");
|
|
3
|
-
require("reflect-metadata");
|
|
4
|
-
const schema = require("@contember/schema");
|
|
5
|
-
const FieldSelector = require("./FieldSelector.cjs");
|
|
6
|
-
const FieldPermissionsBuilder = require("./FieldPermissionsBuilder.cjs");
|
|
7
|
-
const PredicateReference = require("./PredicateReference.cjs");
|
|
8
|
-
class EntityPermissionsBuilder {
|
|
9
|
-
constructor(builder, entities) {
|
|
10
|
-
this.builder = builder;
|
|
11
|
-
this.entities = entities;
|
|
12
|
-
}
|
|
13
|
-
get schema() {
|
|
14
|
-
return this.builder.schema;
|
|
15
|
-
}
|
|
16
|
-
get permissions() {
|
|
17
|
-
return this.builder.permissions;
|
|
18
|
-
}
|
|
19
|
-
addPredicate(name, predicate) {
|
|
20
|
-
const predicates = this.entities.reduce(
|
|
21
|
-
(acc, entity) => ({
|
|
22
|
-
...acc,
|
|
23
|
-
[entity.name]: {
|
|
24
|
-
operations: {},
|
|
25
|
-
predicates: { [name]: PredicateReference.resolvePredicateReference(this.schema, this.permissions, entity, predicate) }
|
|
26
|
-
}
|
|
27
|
-
}),
|
|
28
|
-
{}
|
|
29
|
-
);
|
|
30
|
-
return this.add(predicates);
|
|
31
|
-
}
|
|
32
|
-
allow(operations, predicate = true) {
|
|
33
|
-
return this.updateAll(operations, predicate);
|
|
34
|
-
}
|
|
35
|
-
allowAll(predicate = true) {
|
|
36
|
-
return this.updateAll(
|
|
37
|
-
[schema.Acl.Operation.read, schema.Acl.Operation.create, schema.Acl.Operation.update, schema.Acl.Operation.delete],
|
|
38
|
-
predicate
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
allowOnlyRead(predicate = true) {
|
|
42
|
-
return this.disallowAll().allow([schema.Acl.Operation.read], predicate);
|
|
43
|
-
}
|
|
44
|
-
disallowAll() {
|
|
45
|
-
return this.updateAll([schema.Acl.Operation.read, schema.Acl.Operation.create, schema.Acl.Operation.update, schema.Acl.Operation.delete], false);
|
|
46
|
-
}
|
|
47
|
-
allowDelete(predicate = true) {
|
|
48
|
-
return this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }));
|
|
49
|
-
}
|
|
50
|
-
allowCustomPrimary() {
|
|
51
|
-
return this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }));
|
|
52
|
-
}
|
|
53
|
-
updateAll(operations, predicate) {
|
|
54
|
-
return this.addEntityPermission((entity) => {
|
|
55
|
-
const fieldPermissions = Object.keys(entity.fields).reduce(
|
|
56
|
-
(permissions, fieldName) => {
|
|
57
|
-
return { ...permissions, [fieldName]: predicate };
|
|
58
|
-
},
|
|
59
|
-
{}
|
|
60
|
-
);
|
|
61
|
-
const entityOperations = {};
|
|
62
|
-
if (operations.includes(schema.Acl.Operation.read)) {
|
|
63
|
-
entityOperations.read = fieldPermissions;
|
|
64
|
-
}
|
|
65
|
-
if (operations.includes(schema.Acl.Operation.create)) {
|
|
66
|
-
entityOperations.create = fieldPermissions;
|
|
67
|
-
}
|
|
68
|
-
if (operations.includes(schema.Acl.Operation.update)) {
|
|
69
|
-
entityOperations.update = fieldPermissions;
|
|
70
|
-
}
|
|
71
|
-
if (operations.includes(schema.Acl.Operation.delete)) {
|
|
72
|
-
entityOperations.delete = predicate;
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
operations: entityOperations,
|
|
76
|
-
predicates: {}
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
addEntityPermission(entityPermission) {
|
|
81
|
-
const permissions = this.entities.reduce(
|
|
82
|
-
(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),
|
|
83
|
-
{}
|
|
84
|
-
);
|
|
85
|
-
return this.add(permissions);
|
|
86
|
-
}
|
|
87
|
-
add(permissions) {
|
|
88
|
-
return new EntityPermissionsBuilder(this.builder.add(permissions), this.entities);
|
|
89
|
-
}
|
|
90
|
-
onEntity(entitySelector) {
|
|
91
|
-
return this.builder.onEntity(entitySelector);
|
|
92
|
-
}
|
|
93
|
-
onEveryEntity() {
|
|
94
|
-
return this.builder.onEveryEntity();
|
|
95
|
-
}
|
|
96
|
-
onField(fieldSelector) {
|
|
97
|
-
if (typeof fieldSelector === "string") {
|
|
98
|
-
fieldSelector = FieldSelector.named(fieldSelector);
|
|
99
|
-
} else if (Array.isArray(fieldSelector)) {
|
|
100
|
-
fieldSelector = FieldSelector.named(...fieldSelector);
|
|
101
|
-
}
|
|
102
|
-
const fieldSelectorConst = fieldSelector;
|
|
103
|
-
const fields = this.entities.map(
|
|
104
|
-
(it) => tuple.tuple(
|
|
105
|
-
it,
|
|
106
|
-
Object.values(it.fields).filter((field) => fieldSelectorConst.matches(this.schema, it, field))
|
|
107
|
-
)
|
|
108
|
-
).reduce(
|
|
109
|
-
(acc, [entity, fields2]) => [...acc, ...fields2.map((it) => tuple.tuple(entity, it))],
|
|
110
|
-
[]
|
|
111
|
-
);
|
|
112
|
-
return new FieldPermissionsBuilder(this, fields);
|
|
113
|
-
}
|
|
114
|
-
onEveryField() {
|
|
115
|
-
return this.onField(FieldSelector.every());
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
module.exports = EntityPermissionsBuilder;
|
|
119
|
-
//# sourceMappingURL=EntityPermissionsBuilder.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPermissionsBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntityPermissionsBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport EntitySelector from './EntitySelector'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport FieldSelector from './FieldSelector'\nimport FieldPermissionsBuilder from './FieldPermissionsBuilder'\nimport { PermissionsBuilder } from './PermissionsBuilder'\nimport PredicateReference, { resolvePredicateReference } from './PredicateReference'\n\nexport default class EntityPermissionsBuilder {\n\tpublic constructor(public readonly builder: PermissionsBuilder, private readonly entities: Model.Entity[]) {}\n\n\tget schema(): Model.Schema {\n\t\treturn this.builder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.builder.permissions\n\t}\n\n\taddPredicate(name: string, predicate: Acl.PredicateDefinition<PredicateReference>): EntityPermissionsBuilder {\n\t\tconst predicates = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({\n\t\t\t\t...acc,\n\t\t\t\t[entity.name]: {\n\t\t\t\t\toperations: {},\n\t\t\t\t\tpredicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) },\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{},\n\t\t)\n\n\t\treturn this.add(predicates)\n\t}\n\n\tallow(operations: Acl.Operation[], predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(operations, predicate)\n\t}\n\n\tallowAll(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(\n\t\t\t[Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],\n\t\t\tpredicate,\n\t\t)\n\t}\n\n\tallowOnlyRead(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.disallowAll().allow([Acl.Operation.read], predicate)\n\t}\n\n\tdisallowAll(): EntityPermissionsBuilder {\n\t\treturn this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false)\n\t}\n\n\tallowDelete(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }))\n\t}\n\n\tallowCustomPrimary(): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }))\n\t}\n\n\tprivate updateAll(operations: Acl.Operation[], predicate: Acl.Predicate): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(entity => {\n\t\t\tconst fieldPermissions = Object.keys(entity.fields).reduce(\n\t\t\t\t(permissions: Acl.FieldPermissions, fieldName): Acl.FieldPermissions => {\n\t\t\t\t\treturn { ...permissions, [fieldName]: predicate }\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t)\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = {}\n\t\t\tif (operations.includes(Acl.Operation.read)) {\n\t\t\t\tentityOperations.read = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.create)) {\n\t\t\t\tentityOperations.create = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.update)) {\n\t\t\t\tentityOperations.update = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.delete)) {\n\t\t\t\tentityOperations.delete = predicate\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: {},\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate addEntityPermission(\n\t\tentityPermission: (entity: Model.Entity) => Acl.EntityPermissions,\n\t): EntityPermissionsBuilder {\n\t\tconst permissions = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),\n\t\t\t{},\n\t\t)\n\t\treturn this.add(permissions)\n\t}\n\n\tpublic add(permissions: Acl.Permissions): EntityPermissionsBuilder {\n\t\treturn new EntityPermissionsBuilder(this.builder.add(permissions), this.entities)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.builder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.builder.onEveryEntity()\n\t}\n\n\tonField(fieldSelector: FieldSelector | string | string[]): FieldPermissionsBuilder {\n\t\tif (typeof fieldSelector === 'string') {\n\t\t\tfieldSelector = FieldSelector.named(fieldSelector)\n\t\t} else if (Array.isArray(fieldSelector)) {\n\t\t\tfieldSelector = FieldSelector.named(...fieldSelector)\n\t\t}\n\t\tconst fieldSelectorConst = fieldSelector\n\t\tconst fields = this.entities\n\t\t\t.map(it =>\n\t\t\t\ttuple(\n\t\t\t\t\tit,\n\t\t\t\t\tObject.values(it.fields).filter(field => fieldSelectorConst.matches(this.schema, it, field)),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.reduce<[Model.Entity, Model.AnyField][]>(\n\t\t\t\t(acc, [entity, fields]) => [...acc, ...fields.map(it => tuple(entity, it))],\n\t\t\t\t[],\n\t\t\t)\n\t\treturn new FieldPermissionsBuilder(this, fields)\n\t}\n\n\tonEveryField(): FieldPermissionsBuilder {\n\t\treturn this.onField(FieldSelector.every())\n\t}\n}\n"],"names":["resolvePredicateReference","Acl","tuple","fields"],"mappings":"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"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { tuple } from "../../utils/tuple.js";
|
|
2
|
-
import "reflect-metadata";
|
|
3
|
-
import { Acl } from "@contember/schema";
|
|
4
|
-
import FieldSelector from "./FieldSelector.js";
|
|
5
|
-
import FieldPermissionsBuilder from "./FieldPermissionsBuilder.js";
|
|
6
|
-
import { resolvePredicateReference } from "./PredicateReference.js";
|
|
7
|
-
class EntityPermissionsBuilder {
|
|
8
|
-
constructor(builder, entities) {
|
|
9
|
-
this.builder = builder;
|
|
10
|
-
this.entities = entities;
|
|
11
|
-
}
|
|
12
|
-
get schema() {
|
|
13
|
-
return this.builder.schema;
|
|
14
|
-
}
|
|
15
|
-
get permissions() {
|
|
16
|
-
return this.builder.permissions;
|
|
17
|
-
}
|
|
18
|
-
addPredicate(name, predicate) {
|
|
19
|
-
const predicates = this.entities.reduce(
|
|
20
|
-
(acc, entity) => ({
|
|
21
|
-
...acc,
|
|
22
|
-
[entity.name]: {
|
|
23
|
-
operations: {},
|
|
24
|
-
predicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) }
|
|
25
|
-
}
|
|
26
|
-
}),
|
|
27
|
-
{}
|
|
28
|
-
);
|
|
29
|
-
return this.add(predicates);
|
|
30
|
-
}
|
|
31
|
-
allow(operations, predicate = true) {
|
|
32
|
-
return this.updateAll(operations, predicate);
|
|
33
|
-
}
|
|
34
|
-
allowAll(predicate = true) {
|
|
35
|
-
return this.updateAll(
|
|
36
|
-
[Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],
|
|
37
|
-
predicate
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
allowOnlyRead(predicate = true) {
|
|
41
|
-
return this.disallowAll().allow([Acl.Operation.read], predicate);
|
|
42
|
-
}
|
|
43
|
-
disallowAll() {
|
|
44
|
-
return this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false);
|
|
45
|
-
}
|
|
46
|
-
allowDelete(predicate = true) {
|
|
47
|
-
return this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }));
|
|
48
|
-
}
|
|
49
|
-
allowCustomPrimary() {
|
|
50
|
-
return this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }));
|
|
51
|
-
}
|
|
52
|
-
updateAll(operations, predicate) {
|
|
53
|
-
return this.addEntityPermission((entity) => {
|
|
54
|
-
const fieldPermissions = Object.keys(entity.fields).reduce(
|
|
55
|
-
(permissions, fieldName) => {
|
|
56
|
-
return { ...permissions, [fieldName]: predicate };
|
|
57
|
-
},
|
|
58
|
-
{}
|
|
59
|
-
);
|
|
60
|
-
const entityOperations = {};
|
|
61
|
-
if (operations.includes(Acl.Operation.read)) {
|
|
62
|
-
entityOperations.read = fieldPermissions;
|
|
63
|
-
}
|
|
64
|
-
if (operations.includes(Acl.Operation.create)) {
|
|
65
|
-
entityOperations.create = fieldPermissions;
|
|
66
|
-
}
|
|
67
|
-
if (operations.includes(Acl.Operation.update)) {
|
|
68
|
-
entityOperations.update = fieldPermissions;
|
|
69
|
-
}
|
|
70
|
-
if (operations.includes(Acl.Operation.delete)) {
|
|
71
|
-
entityOperations.delete = predicate;
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
operations: entityOperations,
|
|
75
|
-
predicates: {}
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
addEntityPermission(entityPermission) {
|
|
80
|
-
const permissions = this.entities.reduce(
|
|
81
|
-
(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),
|
|
82
|
-
{}
|
|
83
|
-
);
|
|
84
|
-
return this.add(permissions);
|
|
85
|
-
}
|
|
86
|
-
add(permissions) {
|
|
87
|
-
return new EntityPermissionsBuilder(this.builder.add(permissions), this.entities);
|
|
88
|
-
}
|
|
89
|
-
onEntity(entitySelector) {
|
|
90
|
-
return this.builder.onEntity(entitySelector);
|
|
91
|
-
}
|
|
92
|
-
onEveryEntity() {
|
|
93
|
-
return this.builder.onEveryEntity();
|
|
94
|
-
}
|
|
95
|
-
onField(fieldSelector) {
|
|
96
|
-
if (typeof fieldSelector === "string") {
|
|
97
|
-
fieldSelector = FieldSelector.named(fieldSelector);
|
|
98
|
-
} else if (Array.isArray(fieldSelector)) {
|
|
99
|
-
fieldSelector = FieldSelector.named(...fieldSelector);
|
|
100
|
-
}
|
|
101
|
-
const fieldSelectorConst = fieldSelector;
|
|
102
|
-
const fields = this.entities.map(
|
|
103
|
-
(it) => tuple(
|
|
104
|
-
it,
|
|
105
|
-
Object.values(it.fields).filter((field) => fieldSelectorConst.matches(this.schema, it, field))
|
|
106
|
-
)
|
|
107
|
-
).reduce(
|
|
108
|
-
(acc, [entity, fields2]) => [...acc, ...fields2.map((it) => tuple(entity, it))],
|
|
109
|
-
[]
|
|
110
|
-
);
|
|
111
|
-
return new FieldPermissionsBuilder(this, fields);
|
|
112
|
-
}
|
|
113
|
-
onEveryField() {
|
|
114
|
-
return this.onField(FieldSelector.every());
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
export {
|
|
118
|
-
EntityPermissionsBuilder as default
|
|
119
|
-
};
|
|
120
|
-
//# sourceMappingURL=EntityPermissionsBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPermissionsBuilder.js","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntityPermissionsBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport EntitySelector from './EntitySelector'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport FieldSelector from './FieldSelector'\nimport FieldPermissionsBuilder from './FieldPermissionsBuilder'\nimport { PermissionsBuilder } from './PermissionsBuilder'\nimport PredicateReference, { resolvePredicateReference } from './PredicateReference'\n\nexport default class EntityPermissionsBuilder {\n\tpublic constructor(public readonly builder: PermissionsBuilder, private readonly entities: Model.Entity[]) {}\n\n\tget schema(): Model.Schema {\n\t\treturn this.builder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.builder.permissions\n\t}\n\n\taddPredicate(name: string, predicate: Acl.PredicateDefinition<PredicateReference>): EntityPermissionsBuilder {\n\t\tconst predicates = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({\n\t\t\t\t...acc,\n\t\t\t\t[entity.name]: {\n\t\t\t\t\toperations: {},\n\t\t\t\t\tpredicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) },\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{},\n\t\t)\n\n\t\treturn this.add(predicates)\n\t}\n\n\tallow(operations: Acl.Operation[], predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(operations, predicate)\n\t}\n\n\tallowAll(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(\n\t\t\t[Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],\n\t\t\tpredicate,\n\t\t)\n\t}\n\n\tallowOnlyRead(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.disallowAll().allow([Acl.Operation.read], predicate)\n\t}\n\n\tdisallowAll(): EntityPermissionsBuilder {\n\t\treturn this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false)\n\t}\n\n\tallowDelete(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }))\n\t}\n\n\tallowCustomPrimary(): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }))\n\t}\n\n\tprivate updateAll(operations: Acl.Operation[], predicate: Acl.Predicate): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(entity => {\n\t\t\tconst fieldPermissions = Object.keys(entity.fields).reduce(\n\t\t\t\t(permissions: Acl.FieldPermissions, fieldName): Acl.FieldPermissions => {\n\t\t\t\t\treturn { ...permissions, [fieldName]: predicate }\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t)\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = {}\n\t\t\tif (operations.includes(Acl.Operation.read)) {\n\t\t\t\tentityOperations.read = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.create)) {\n\t\t\t\tentityOperations.create = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.update)) {\n\t\t\t\tentityOperations.update = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.delete)) {\n\t\t\t\tentityOperations.delete = predicate\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: {},\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate addEntityPermission(\n\t\tentityPermission: (entity: Model.Entity) => Acl.EntityPermissions,\n\t): EntityPermissionsBuilder {\n\t\tconst permissions = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),\n\t\t\t{},\n\t\t)\n\t\treturn this.add(permissions)\n\t}\n\n\tpublic add(permissions: Acl.Permissions): EntityPermissionsBuilder {\n\t\treturn new EntityPermissionsBuilder(this.builder.add(permissions), this.entities)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.builder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.builder.onEveryEntity()\n\t}\n\n\tonField(fieldSelector: FieldSelector | string | string[]): FieldPermissionsBuilder {\n\t\tif (typeof fieldSelector === 'string') {\n\t\t\tfieldSelector = FieldSelector.named(fieldSelector)\n\t\t} else if (Array.isArray(fieldSelector)) {\n\t\t\tfieldSelector = FieldSelector.named(...fieldSelector)\n\t\t}\n\t\tconst fieldSelectorConst = fieldSelector\n\t\tconst fields = this.entities\n\t\t\t.map(it =>\n\t\t\t\ttuple(\n\t\t\t\t\tit,\n\t\t\t\t\tObject.values(it.fields).filter(field => fieldSelectorConst.matches(this.schema, it, field)),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.reduce<[Model.Entity, Model.AnyField][]>(\n\t\t\t\t(acc, [entity, fields]) => [...acc, ...fields.map(it => tuple(entity, it))],\n\t\t\t\t[],\n\t\t\t)\n\t\treturn new FieldPermissionsBuilder(this, fields)\n\t}\n\n\tonEveryField(): FieldPermissionsBuilder {\n\t\treturn this.onField(FieldSelector.every())\n\t}\n}\n"],"names":["fields"],"mappings":";;;;;;AAQA,MAAqB,yBAAyB;AAAA,EACtC,YAA4B,SAA8C,UAA0B;AAAxE,SAAA,UAAA;AAA8C,SAAA,WAAA;AAAA,EAAA;AAAA,EAEjF,IAAI,SAAuB;AAC1B,WAAO,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGrB,IAAI,cAA+B;AAClC,WAAO,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGrB,aAAa,MAAc,WAAkF;AACtG,UAAA,aAAa,KAAK,SAAS;AAAA,MAChC,CAAC,KAAK,YAAY;AAAA,QACjB,GAAG;AAAA,QACH,CAAC,OAAO,IAAI,GAAG;AAAA,UACd,YAAY,CAAC;AAAA,UACb,YAAY,EAAE,CAAC,IAAI,GAAG,0BAA0B,KAAK,QAAQ,KAAK,aAAa,QAAQ,SAAS,EAAE;AAAA,QAAA;AAAA,MACnG;AAAA,MAED,CAAA;AAAA,IACD;AAEO,WAAA,KAAK,IAAI,UAAU;AAAA,EAAA;AAAA,EAG3B,MAAM,YAA6B,YAA2B,MAAgC;AACtF,WAAA,KAAK,UAAU,YAAY,SAAS;AAAA,EAAA;AAAA,EAG5C,SAAS,YAA2B,MAAgC;AACnE,WAAO,KAAK;AAAA,MACX,CAAC,IAAI,UAAU,MAAM,IAAI,UAAU,QAAQ,IAAI,UAAU,QAAQ,IAAI,UAAU,MAAM;AAAA,MACrF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,cAAc,YAA2B,MAAgC;AACjE,WAAA,KAAK,cAAc,MAAM,CAAC,IAAI,UAAU,IAAI,GAAG,SAAS;AAAA,EAAA;AAAA,EAGhE,cAAwC;AACvC,WAAO,KAAK,UAAU,CAAC,IAAI,UAAU,MAAM,IAAI,UAAU,QAAQ,IAAI,UAAU,QAAQ,IAAI,UAAU,MAAM,GAAG,KAAK;AAAA,EAAA;AAAA,EAGpH,YAAY,YAA2B,MAAgC;AACtE,WAAO,KAAK,oBAAoB,OAAO,EAAE,YAAY,EAAE,QAAQ,aAAa,YAAY,CAAC,EAAA,EAAI;AAAA,EAAA;AAAA,EAG9F,qBAA+C;AAC9C,WAAO,KAAK,oBAAoB,OAAO,EAAE,YAAY,EAAE,eAAe,QAAQ,YAAY,CAAC,EAAA,EAAI;AAAA,EAAA;AAAA,EAGxF,UAAU,YAA6B,WAAoD;AAC3F,WAAA,KAAK,oBAAoB,CAAU,WAAA;AACzC,YAAM,mBAAmB,OAAO,KAAK,OAAO,MAAM,EAAE;AAAA,QACnD,CAAC,aAAmC,cAAoC;AACvE,iBAAO,EAAE,GAAG,aAAa,CAAC,SAAS,GAAG,UAAU;AAAA,QACjD;AAAA,QACA,CAAA;AAAA,MACD;AACA,YAAM,mBAAmD,CAAC;AAC1D,UAAI,WAAW,SAAS,IAAI,UAAU,IAAI,GAAG;AAC5C,yBAAiB,OAAO;AAAA,MAAA;AAEzB,UAAI,WAAW,SAAS,IAAI,UAAU,MAAM,GAAG;AAC9C,yBAAiB,SAAS;AAAA,MAAA;AAE3B,UAAI,WAAW,SAAS,IAAI,UAAU,MAAM,GAAG;AAC9C,yBAAiB,SAAS;AAAA,MAAA;AAE3B,UAAI,WAAW,SAAS,IAAI,UAAU,MAAM,GAAG;AAC9C,yBAAiB,SAAS;AAAA,MAAA;AAEpB,aAAA;AAAA,QACN,YAAY;AAAA,QACZ,YAAY,CAAA;AAAA,MACb;AAAA,IAAA,CACA;AAAA,EAAA;AAAA,EAGM,oBACP,kBAC2B;AACrB,UAAA,cAAc,KAAK,SAAS;AAAA,MACjC,CAAC,KAAK,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,iBAAiB,MAAM;MAClE,CAAA;AAAA,IACD;AACO,WAAA,KAAK,IAAI,WAAW;AAAA,EAAA;AAAA,EAGrB,IAAI,aAAwD;AAC3D,WAAA,IAAI,yBAAyB,KAAK,QAAQ,IAAI,WAAW,GAAG,KAAK,QAAQ;AAAA,EAAA;AAAA,EAG1E,SAAS,gBAA8E;AACtF,WAAA,KAAK,QAAQ,SAAS,cAAc;AAAA,EAAA;AAAA,EAGrC,gBAA0C;AACzC,WAAA,KAAK,QAAQ,cAAc;AAAA,EAAA;AAAA,EAGnC,QAAQ,eAA2E;AAC9E,QAAA,OAAO,kBAAkB,UAAU;AACtB,sBAAA,cAAc,MAAM,aAAa;AAAA,IACvC,WAAA,MAAM,QAAQ,aAAa,GAAG;AACxB,sBAAA,cAAc,MAAM,GAAG,aAAa;AAAA,IAAA;AAErD,UAAM,qBAAqB;AACrB,UAAA,SAAS,KAAK,SAClB;AAAA,MAAI,CACJ,OAAA;AAAA,QACC;AAAA,QACA,OAAO,OAAO,GAAG,MAAM,EAAE,OAAO,CAAS,UAAA,mBAAmB,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC;AAAA,MAAA;AAAA,IAC5F,EAEA;AAAA,MACA,CAAC,KAAK,CAAC,QAAQA,OAAM,MAAM,CAAC,GAAG,KAAK,GAAGA,QAAO,IAAI,CAAA,OAAM,MAAM,QAAQ,EAAE,CAAC,CAAC;AAAA,MAC1E,CAAA;AAAA,IACD;AACM,WAAA,IAAI,wBAAwB,MAAM,MAAM;AAAA,EAAA;AAAA,EAGhD,eAAwC;AACvC,WAAO,KAAK,QAAQ,cAAc,MAAA,CAAO;AAAA,EAAA;AAE3C;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const schemaUtils = require("@contember/schema-utils");
|
|
3
|
-
class EntitySelector {
|
|
4
|
-
constructor(matchers) {
|
|
5
|
-
this.matchers = matchers;
|
|
6
|
-
}
|
|
7
|
-
static every() {
|
|
8
|
-
return new EntitySelector([]);
|
|
9
|
-
}
|
|
10
|
-
static named(...name) {
|
|
11
|
-
return EntitySelector.every().named(...name);
|
|
12
|
-
}
|
|
13
|
-
named(...name) {
|
|
14
|
-
return this.matching((schema, entity) => name.includes(entity.name));
|
|
15
|
-
}
|
|
16
|
-
havingRelation(name, targetEntityName) {
|
|
17
|
-
return this.matching(
|
|
18
|
-
(schema, entity) => entity.fields[name] && schemaUtils.acceptFieldVisitor(schema, entity, name, {
|
|
19
|
-
visitColumn: () => false,
|
|
20
|
-
visitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName
|
|
21
|
-
})
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
matching(matcher) {
|
|
25
|
-
return new EntitySelector([...this.matchers, matcher]);
|
|
26
|
-
}
|
|
27
|
-
matches(schema, entity) {
|
|
28
|
-
return this.matchers.reduce((prev, predicate) => prev && predicate(schema, entity), true);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
module.exports = EntitySelector;
|
|
32
|
-
//# sourceMappingURL=EntitySelector.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySelector.cjs","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntitySelector.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\ntype Matcher = (schema: Model.Schema, entity: Model.Entity) => boolean\n\nexport default class EntitySelector {\n\tprivate constructor(private readonly matchers: Matcher[]) {}\n\n\tpublic static every() {\n\t\treturn new EntitySelector([])\n\t}\n\n\tpublic static named(...name: string[]) {\n\t\treturn EntitySelector.every().named(...name)\n\t}\n\n\tpublic named(...name: string[]) {\n\t\treturn this.matching((schema, entity) => name.includes(entity.name))\n\t}\n\n\tpublic havingRelation(name: string, targetEntityName?: string) {\n\t\treturn this.matching(\n\t\t\t(schema, entity) =>\n\t\t\t\tentity.fields[name] &&\n\t\t\t\tacceptFieldVisitor(schema, entity, name, {\n\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName,\n\t\t\t\t}),\n\t\t)\n\t}\n\n\tpublic matching(matcher: Matcher): EntitySelector {\n\t\treturn new EntitySelector([...this.matchers, matcher])\n\t}\n\n\tpublic matches(schema: Model.Schema, entity: Model.Entity): boolean {\n\t\treturn this.matchers.reduce<boolean>((prev, predicate) => prev && predicate(schema, entity), true)\n\t}\n}\n"],"names":["acceptFieldVisitor"],"mappings":";;AAKA,MAAqB,eAAe;AAAA,EAC3B,YAA6B,UAAqB;AAArB,SAAA,WAAA;AAAA,EAAA;AAAA,EAErC,OAAc,QAAQ;AACd,WAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAAA,EAG7B,OAAc,SAAS,MAAgB;AACtC,WAAO,eAAe,MAAA,EAAQ,MAAM,GAAG,IAAI;AAAA,EAAA;AAAA,EAGrC,SAAS,MAAgB;AACxB,WAAA,KAAK,SAAS,CAAC,QAAQ,WAAW,KAAK,SAAS,OAAO,IAAI,CAAC;AAAA,EAAA;AAAA,EAG7D,eAAe,MAAc,kBAA2B;AAC9D,WAAO,KAAK;AAAA,MACX,CAAC,QAAQ,WACR,OAAO,OAAO,IAAI,KAClBA,+BAAmB,QAAQ,QAAQ,MAAM;AAAA,QACxC,aAAa,MAAM;AAAA,QACnB,eAAe,CAAC,EAAE,aAAA,MAAmB,CAAC,oBAAoB,aAAa,SAAS;AAAA,MAChF,CAAA;AAAA,IACH;AAAA,EAAA;AAAA,EAGM,SAAS,SAAkC;AACjD,WAAO,IAAI,eAAe,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,EAAA;AAAA,EAG/C,QAAQ,QAAsB,QAA+B;AAC5D,WAAA,KAAK,SAAS,OAAgB,CAAC,MAAM,cAAc,QAAQ,UAAU,QAAQ,MAAM,GAAG,IAAI;AAAA,EAAA;AAEnG;;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { acceptFieldVisitor } from "@contember/schema-utils";
|
|
2
|
-
class EntitySelector {
|
|
3
|
-
constructor(matchers) {
|
|
4
|
-
this.matchers = matchers;
|
|
5
|
-
}
|
|
6
|
-
static every() {
|
|
7
|
-
return new EntitySelector([]);
|
|
8
|
-
}
|
|
9
|
-
static named(...name) {
|
|
10
|
-
return EntitySelector.every().named(...name);
|
|
11
|
-
}
|
|
12
|
-
named(...name) {
|
|
13
|
-
return this.matching((schema, entity) => name.includes(entity.name));
|
|
14
|
-
}
|
|
15
|
-
havingRelation(name, targetEntityName) {
|
|
16
|
-
return this.matching(
|
|
17
|
-
(schema, entity) => entity.fields[name] && acceptFieldVisitor(schema, entity, name, {
|
|
18
|
-
visitColumn: () => false,
|
|
19
|
-
visitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName
|
|
20
|
-
})
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
matching(matcher) {
|
|
24
|
-
return new EntitySelector([...this.matchers, matcher]);
|
|
25
|
-
}
|
|
26
|
-
matches(schema, entity) {
|
|
27
|
-
return this.matchers.reduce((prev, predicate) => prev && predicate(schema, entity), true);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
EntitySelector as default
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=EntitySelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySelector.js","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntitySelector.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\ntype Matcher = (schema: Model.Schema, entity: Model.Entity) => boolean\n\nexport default class EntitySelector {\n\tprivate constructor(private readonly matchers: Matcher[]) {}\n\n\tpublic static every() {\n\t\treturn new EntitySelector([])\n\t}\n\n\tpublic static named(...name: string[]) {\n\t\treturn EntitySelector.every().named(...name)\n\t}\n\n\tpublic named(...name: string[]) {\n\t\treturn this.matching((schema, entity) => name.includes(entity.name))\n\t}\n\n\tpublic havingRelation(name: string, targetEntityName?: string) {\n\t\treturn this.matching(\n\t\t\t(schema, entity) =>\n\t\t\t\tentity.fields[name] &&\n\t\t\t\tacceptFieldVisitor(schema, entity, name, {\n\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName,\n\t\t\t\t}),\n\t\t)\n\t}\n\n\tpublic matching(matcher: Matcher): EntitySelector {\n\t\treturn new EntitySelector([...this.matchers, matcher])\n\t}\n\n\tpublic matches(schema: Model.Schema, entity: Model.Entity): boolean {\n\t\treturn this.matchers.reduce<boolean>((prev, predicate) => prev && predicate(schema, entity), true)\n\t}\n}\n"],"names":[],"mappings":";AAKA,MAAqB,eAAe;AAAA,EAC3B,YAA6B,UAAqB;AAArB,SAAA,WAAA;AAAA,EAAA;AAAA,EAErC,OAAc,QAAQ;AACd,WAAA,IAAI,eAAe,EAAE;AAAA,EAAA;AAAA,EAG7B,OAAc,SAAS,MAAgB;AACtC,WAAO,eAAe,MAAA,EAAQ,MAAM,GAAG,IAAI;AAAA,EAAA;AAAA,EAGrC,SAAS,MAAgB;AACxB,WAAA,KAAK,SAAS,CAAC,QAAQ,WAAW,KAAK,SAAS,OAAO,IAAI,CAAC;AAAA,EAAA;AAAA,EAG7D,eAAe,MAAc,kBAA2B;AAC9D,WAAO,KAAK;AAAA,MACX,CAAC,QAAQ,WACR,OAAO,OAAO,IAAI,KAClB,mBAAmB,QAAQ,QAAQ,MAAM;AAAA,QACxC,aAAa,MAAM;AAAA,QACnB,eAAe,CAAC,EAAE,aAAA,MAAmB,CAAC,oBAAoB,aAAa,SAAS;AAAA,MAChF,CAAA;AAAA,IACH;AAAA,EAAA;AAAA,EAGM,SAAS,SAAkC;AACjD,WAAO,IAAI,eAAe,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,EAAA;AAAA,EAG/C,QAAQ,QAAsB,QAA+B;AAC5D,WAAA,KAAK,SAAS,OAAgB,CAAC,MAAM,cAAc,QAAQ,UAAU,QAAQ,MAAM,GAAG,IAAI;AAAA,EAAA;AAEnG;"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const schema = require("@contember/schema");
|
|
3
|
-
class FieldPermissionsBuilder {
|
|
4
|
-
constructor(entityPermissionsBuilder, fields) {
|
|
5
|
-
this.entityPermissionsBuilder = entityPermissionsBuilder;
|
|
6
|
-
this.fields = fields;
|
|
7
|
-
}
|
|
8
|
-
get builder() {
|
|
9
|
-
return this.entityPermissionsBuilder.builder;
|
|
10
|
-
}
|
|
11
|
-
get schema() {
|
|
12
|
-
return this.entityPermissionsBuilder.schema;
|
|
13
|
-
}
|
|
14
|
-
get permissions() {
|
|
15
|
-
return this.entityPermissionsBuilder.permissions;
|
|
16
|
-
}
|
|
17
|
-
allowCreate(predicate = true) {
|
|
18
|
-
return this.allow([schema.Acl.Operation.create], predicate);
|
|
19
|
-
}
|
|
20
|
-
allowRead(predicate = true) {
|
|
21
|
-
return this.allow([schema.Acl.Operation.read], predicate);
|
|
22
|
-
}
|
|
23
|
-
allowUpdate(predicate = true) {
|
|
24
|
-
return this.allow([schema.Acl.Operation.update], predicate);
|
|
25
|
-
}
|
|
26
|
-
allowAll(predicate = true) {
|
|
27
|
-
return this.allow([schema.Acl.Operation.create, schema.Acl.Operation.read, schema.Acl.Operation.update], predicate);
|
|
28
|
-
}
|
|
29
|
-
allow(operations, predicate = true) {
|
|
30
|
-
const permissions = {};
|
|
31
|
-
for (const [entity, field] of this.fields) {
|
|
32
|
-
if (!permissions[entity.name]) {
|
|
33
|
-
permissions[entity.name] = { operations: {}, predicates: {} };
|
|
34
|
-
}
|
|
35
|
-
const entityOperations = permissions[entity.name].operations;
|
|
36
|
-
for (const op of operations) {
|
|
37
|
-
entityOperations[op] = {
|
|
38
|
-
...permissions[entity.name].operations[op] || {},
|
|
39
|
-
[field.name]: predicate
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return new FieldPermissionsBuilder(this.entityPermissionsBuilder.add(permissions), this.fields);
|
|
44
|
-
}
|
|
45
|
-
onEntity(entitySelector) {
|
|
46
|
-
return this.entityPermissionsBuilder.onEntity(entitySelector);
|
|
47
|
-
}
|
|
48
|
-
onEveryEntity() {
|
|
49
|
-
return this.entityPermissionsBuilder.onEveryEntity();
|
|
50
|
-
}
|
|
51
|
-
onField(fieldSelector) {
|
|
52
|
-
return this.entityPermissionsBuilder.onField(fieldSelector);
|
|
53
|
-
}
|
|
54
|
-
onEveryField() {
|
|
55
|
-
return this.entityPermissionsBuilder.onEveryField();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
module.exports = FieldPermissionsBuilder;
|
|
59
|
-
//# sourceMappingURL=FieldPermissionsBuilder.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPermissionsBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/acl/builder/FieldPermissionsBuilder.ts"],"sourcesContent":["import FieldSelector from './FieldSelector'\nimport EntityPermissionsBuilder from './EntityPermissionsBuilder'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport EntitySelector from './EntitySelector'\nimport { PermissionsBuilder } from './PermissionsBuilder'\n\nexport default class FieldPermissionsBuilder {\n\tpublic constructor(\n\t\tpublic entityPermissionsBuilder: EntityPermissionsBuilder,\n\t\tprivate readonly fields: [Model.Entity, Model.AnyField][],\n\t) {}\n\n\tget builder(): PermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.builder\n\t}\n\n\tget schema(): Model.Schema {\n\t\treturn this.entityPermissionsBuilder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.entityPermissionsBuilder.permissions\n\t}\n\n\tpublic allowCreate(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.create], predicate)\n\t}\n\n\tpublic allowRead(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.read], predicate)\n\t}\n\n\tpublic allowUpdate(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.update], predicate)\n\t}\n\n\tpublic allowAll(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.create, Acl.Operation.read, Acl.Operation.update], predicate)\n\t}\n\n\tpublic allow(\n\t\toperations: (Acl.Operation.create | Acl.Operation.read | Acl.Operation.update)[],\n\t\tpredicate: Acl.Predicate = true,\n\t): FieldPermissionsBuilder {\n\t\tconst permissions: Writable<Acl.Permissions> = {}\n\t\tfor (const [entity, field] of this.fields) {\n\t\t\tif (!permissions[entity.name]) {\n\t\t\t\tpermissions[entity.name] = { operations: {}, predicates: {} }\n\t\t\t}\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = permissions[entity.name].operations\n\t\t\tfor (const op of operations) {\n\t\t\t\tentityOperations[op] = {\n\t\t\t\t\t...(permissions[entity.name].operations[op] || {}),\n\t\t\t\t\t[field.name]: predicate,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new FieldPermissionsBuilder(this.entityPermissionsBuilder.add(permissions), this.fields)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEveryEntity()\n\t}\n\n\tpublic onField(fieldSelector: FieldSelector | string | string[]) {\n\t\treturn this.entityPermissionsBuilder.onField(fieldSelector)\n\t}\n\n\tpublic onEveryField(): FieldPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEveryField()\n\t}\n}\n"],"names":["Acl"],"mappings":";;AAMA,MAAqB,wBAAwB;AAAA,EACrC,YACC,0BACU,QAChB;AAFM,SAAA,2BAAA;AACU,SAAA,SAAA;AAAA,EAAA;AAAA,EAGlB,IAAI,UAA8B;AACjC,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAGtC,IAAI,SAAuB;AAC1B,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAGtC,IAAI,cAA+B;AAClC,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAG/B,YAAY,YAA2B,MAA+B;AAC5E,WAAO,KAAK,MAAM,CAACA,OAAAA,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAG7C,UAAU,YAA2B,MAA+B;AAC1E,WAAO,KAAK,MAAM,CAACA,OAAAA,IAAI,UAAU,IAAI,GAAG,SAAS;AAAA,EAAA;AAAA,EAG3C,YAAY,YAA2B,MAA+B;AAC5E,WAAO,KAAK,MAAM,CAACA,OAAAA,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAG7C,SAAS,YAA2B,MAA+B;AACzE,WAAO,KAAK,MAAM,CAACA,OAAAA,IAAI,UAAU,QAAQA,OAAAA,IAAI,UAAU,MAAMA,OAAA,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAGvF,MACN,YACA,YAA2B,MACD;AAC1B,UAAM,cAAyC,CAAC;AAChD,eAAW,CAAC,QAAQ,KAAK,KAAK,KAAK,QAAQ;AAC1C,UAAI,CAAC,YAAY,OAAO,IAAI,GAAG;AAClB,oBAAA,OAAO,IAAI,IAAI,EAAE,YAAY,CAAC,GAAG,YAAY,GAAG;AAAA,MAAA;AAE7D,YAAM,mBAAmD,YAAY,OAAO,IAAI,EAAE;AAClF,iBAAW,MAAM,YAAY;AAC5B,yBAAiB,EAAE,IAAI;AAAA,UACtB,GAAI,YAAY,OAAO,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAAA,UAChD,CAAC,MAAM,IAAI,GAAG;AAAA,QACf;AAAA,MAAA;AAAA,IACD;AAEM,WAAA,IAAI,wBAAwB,KAAK,yBAAyB,IAAI,WAAW,GAAG,KAAK,MAAM;AAAA,EAAA;AAAA,EAGxF,SAAS,gBAA8E;AACtF,WAAA,KAAK,yBAAyB,SAAS,cAAc;AAAA,EAAA;AAAA,EAGtD,gBAA0C;AACzC,WAAA,KAAK,yBAAyB,cAAc;AAAA,EAAA;AAAA,EAG7C,QAAQ,eAAkD;AACzD,WAAA,KAAK,yBAAyB,QAAQ,aAAa;AAAA,EAAA;AAAA,EAGpD,eAAwC;AACvC,WAAA,KAAK,yBAAyB,aAAa;AAAA,EAAA;AAEpD;;"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Acl } from "@contember/schema";
|
|
2
|
-
class FieldPermissionsBuilder {
|
|
3
|
-
constructor(entityPermissionsBuilder, fields) {
|
|
4
|
-
this.entityPermissionsBuilder = entityPermissionsBuilder;
|
|
5
|
-
this.fields = fields;
|
|
6
|
-
}
|
|
7
|
-
get builder() {
|
|
8
|
-
return this.entityPermissionsBuilder.builder;
|
|
9
|
-
}
|
|
10
|
-
get schema() {
|
|
11
|
-
return this.entityPermissionsBuilder.schema;
|
|
12
|
-
}
|
|
13
|
-
get permissions() {
|
|
14
|
-
return this.entityPermissionsBuilder.permissions;
|
|
15
|
-
}
|
|
16
|
-
allowCreate(predicate = true) {
|
|
17
|
-
return this.allow([Acl.Operation.create], predicate);
|
|
18
|
-
}
|
|
19
|
-
allowRead(predicate = true) {
|
|
20
|
-
return this.allow([Acl.Operation.read], predicate);
|
|
21
|
-
}
|
|
22
|
-
allowUpdate(predicate = true) {
|
|
23
|
-
return this.allow([Acl.Operation.update], predicate);
|
|
24
|
-
}
|
|
25
|
-
allowAll(predicate = true) {
|
|
26
|
-
return this.allow([Acl.Operation.create, Acl.Operation.read, Acl.Operation.update], predicate);
|
|
27
|
-
}
|
|
28
|
-
allow(operations, predicate = true) {
|
|
29
|
-
const permissions = {};
|
|
30
|
-
for (const [entity, field] of this.fields) {
|
|
31
|
-
if (!permissions[entity.name]) {
|
|
32
|
-
permissions[entity.name] = { operations: {}, predicates: {} };
|
|
33
|
-
}
|
|
34
|
-
const entityOperations = permissions[entity.name].operations;
|
|
35
|
-
for (const op of operations) {
|
|
36
|
-
entityOperations[op] = {
|
|
37
|
-
...permissions[entity.name].operations[op] || {},
|
|
38
|
-
[field.name]: predicate
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return new FieldPermissionsBuilder(this.entityPermissionsBuilder.add(permissions), this.fields);
|
|
43
|
-
}
|
|
44
|
-
onEntity(entitySelector) {
|
|
45
|
-
return this.entityPermissionsBuilder.onEntity(entitySelector);
|
|
46
|
-
}
|
|
47
|
-
onEveryEntity() {
|
|
48
|
-
return this.entityPermissionsBuilder.onEveryEntity();
|
|
49
|
-
}
|
|
50
|
-
onField(fieldSelector) {
|
|
51
|
-
return this.entityPermissionsBuilder.onField(fieldSelector);
|
|
52
|
-
}
|
|
53
|
-
onEveryField() {
|
|
54
|
-
return this.entityPermissionsBuilder.onEveryField();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
export {
|
|
58
|
-
FieldPermissionsBuilder as default
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=FieldPermissionsBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPermissionsBuilder.js","sources":["../../../../../../packages/schema-definition/src/acl/builder/FieldPermissionsBuilder.ts"],"sourcesContent":["import FieldSelector from './FieldSelector'\nimport EntityPermissionsBuilder from './EntityPermissionsBuilder'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport EntitySelector from './EntitySelector'\nimport { PermissionsBuilder } from './PermissionsBuilder'\n\nexport default class FieldPermissionsBuilder {\n\tpublic constructor(\n\t\tpublic entityPermissionsBuilder: EntityPermissionsBuilder,\n\t\tprivate readonly fields: [Model.Entity, Model.AnyField][],\n\t) {}\n\n\tget builder(): PermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.builder\n\t}\n\n\tget schema(): Model.Schema {\n\t\treturn this.entityPermissionsBuilder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.entityPermissionsBuilder.permissions\n\t}\n\n\tpublic allowCreate(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.create], predicate)\n\t}\n\n\tpublic allowRead(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.read], predicate)\n\t}\n\n\tpublic allowUpdate(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.update], predicate)\n\t}\n\n\tpublic allowAll(predicate: Acl.Predicate = true): FieldPermissionsBuilder {\n\t\treturn this.allow([Acl.Operation.create, Acl.Operation.read, Acl.Operation.update], predicate)\n\t}\n\n\tpublic allow(\n\t\toperations: (Acl.Operation.create | Acl.Operation.read | Acl.Operation.update)[],\n\t\tpredicate: Acl.Predicate = true,\n\t): FieldPermissionsBuilder {\n\t\tconst permissions: Writable<Acl.Permissions> = {}\n\t\tfor (const [entity, field] of this.fields) {\n\t\t\tif (!permissions[entity.name]) {\n\t\t\t\tpermissions[entity.name] = { operations: {}, predicates: {} }\n\t\t\t}\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = permissions[entity.name].operations\n\t\t\tfor (const op of operations) {\n\t\t\t\tentityOperations[op] = {\n\t\t\t\t\t...(permissions[entity.name].operations[op] || {}),\n\t\t\t\t\t[field.name]: predicate,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new FieldPermissionsBuilder(this.entityPermissionsBuilder.add(permissions), this.fields)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEveryEntity()\n\t}\n\n\tpublic onField(fieldSelector: FieldSelector | string | string[]) {\n\t\treturn this.entityPermissionsBuilder.onField(fieldSelector)\n\t}\n\n\tpublic onEveryField(): FieldPermissionsBuilder {\n\t\treturn this.entityPermissionsBuilder.onEveryField()\n\t}\n}\n"],"names":[],"mappings":";AAMA,MAAqB,wBAAwB;AAAA,EACrC,YACC,0BACU,QAChB;AAFM,SAAA,2BAAA;AACU,SAAA,SAAA;AAAA,EAAA;AAAA,EAGlB,IAAI,UAA8B;AACjC,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAGtC,IAAI,SAAuB;AAC1B,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAGtC,IAAI,cAA+B;AAClC,WAAO,KAAK,yBAAyB;AAAA,EAAA;AAAA,EAG/B,YAAY,YAA2B,MAA+B;AAC5E,WAAO,KAAK,MAAM,CAAC,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAG7C,UAAU,YAA2B,MAA+B;AAC1E,WAAO,KAAK,MAAM,CAAC,IAAI,UAAU,IAAI,GAAG,SAAS;AAAA,EAAA;AAAA,EAG3C,YAAY,YAA2B,MAA+B;AAC5E,WAAO,KAAK,MAAM,CAAC,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAG7C,SAAS,YAA2B,MAA+B;AACzE,WAAO,KAAK,MAAM,CAAC,IAAI,UAAU,QAAQ,IAAI,UAAU,MAAM,IAAI,UAAU,MAAM,GAAG,SAAS;AAAA,EAAA;AAAA,EAGvF,MACN,YACA,YAA2B,MACD;AAC1B,UAAM,cAAyC,CAAC;AAChD,eAAW,CAAC,QAAQ,KAAK,KAAK,KAAK,QAAQ;AAC1C,UAAI,CAAC,YAAY,OAAO,IAAI,GAAG;AAClB,oBAAA,OAAO,IAAI,IAAI,EAAE,YAAY,CAAC,GAAG,YAAY,GAAG;AAAA,MAAA;AAE7D,YAAM,mBAAmD,YAAY,OAAO,IAAI,EAAE;AAClF,iBAAW,MAAM,YAAY;AAC5B,yBAAiB,EAAE,IAAI;AAAA,UACtB,GAAI,YAAY,OAAO,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAAA,UAChD,CAAC,MAAM,IAAI,GAAG;AAAA,QACf;AAAA,MAAA;AAAA,IACD;AAEM,WAAA,IAAI,wBAAwB,KAAK,yBAAyB,IAAI,WAAW,GAAG,KAAK,MAAM;AAAA,EAAA;AAAA,EAGxF,SAAS,gBAA8E;AACtF,WAAA,KAAK,yBAAyB,SAAS,cAAc;AAAA,EAAA;AAAA,EAGtD,gBAA0C;AACzC,WAAA,KAAK,yBAAyB,cAAc;AAAA,EAAA;AAAA,EAG7C,QAAQ,eAAkD;AACzD,WAAA,KAAK,yBAAyB,QAAQ,aAAa;AAAA,EAAA;AAAA,EAGpD,eAAwC;AACvC,WAAA,KAAK,yBAAyB,aAAa;AAAA,EAAA;AAEpD;"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
class FieldSelector {
|
|
3
|
-
constructor(matchers) {
|
|
4
|
-
this.matchers = matchers;
|
|
5
|
-
}
|
|
6
|
-
static every() {
|
|
7
|
-
return new FieldSelector([]);
|
|
8
|
-
}
|
|
9
|
-
static named(...name) {
|
|
10
|
-
return FieldSelector.every().named(...name);
|
|
11
|
-
}
|
|
12
|
-
named(...name) {
|
|
13
|
-
return this.matching((schema, entity, field) => name.includes(field.name));
|
|
14
|
-
}
|
|
15
|
-
except(...name) {
|
|
16
|
-
return this.matching((schema, entity, field) => !name.includes(field.name));
|
|
17
|
-
}
|
|
18
|
-
matching(matcher) {
|
|
19
|
-
return new FieldSelector([...this.matchers, matcher]);
|
|
20
|
-
}
|
|
21
|
-
matches(schema, entity, field) {
|
|
22
|
-
return this.matchers.reduce((prev, predicate) => prev && predicate(schema, entity, field), true);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
module.exports = FieldSelector;
|
|
26
|
-
//# sourceMappingURL=FieldSelector.cjs.map
|