@contember/schema-utils 2.1.0-alpha.37 → 2.1.0-alpha.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +110 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +94 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/acl/AllowAllPermissionFactory.cjs +42 -0
- package/dist/development/src/acl/AllowAllPermissionFactory.cjs.map +1 -0
- package/dist/development/src/acl/AllowAllPermissionFactory.js +42 -0
- package/dist/development/src/acl/AllowAllPermissionFactory.js.map +1 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.cjs +69 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.cjs.map +1 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.js +69 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.js.map +1 -0
- package/dist/development/src/acl/schemaUtils.cjs +11 -0
- package/dist/development/src/acl/schemaUtils.cjs.map +1 -0
- package/dist/development/src/acl/schemaUtils.js +11 -0
- package/dist/development/src/acl/schemaUtils.js.map +1 -0
- package/dist/development/src/dataUtils.cjs +59 -0
- package/dist/development/src/dataUtils.cjs.map +1 -0
- package/dist/development/src/dataUtils.js +59 -0
- package/dist/development/src/dataUtils.js.map +1 -0
- package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.cjs +118 -0
- package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.cjs.map +1 -0
- package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.js +118 -0
- package/dist/development/src/definition-generator/AclDefinitionCodeGenerator.js.map +1 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.cjs +218 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.cjs.map +1 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.js +218 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs +68 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs.map +1 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.js +68 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.js.map +1 -0
- package/dist/development/src/definition-generator/TsDefinitionGenerator.cjs +17 -0
- package/dist/development/src/definition-generator/TsDefinitionGenerator.cjs.map +1 -0
- package/dist/development/src/definition-generator/TsDefinitionGenerator.js +17 -0
- package/dist/development/src/definition-generator/TsDefinitionGenerator.js.map +1 -0
- package/dist/development/src/lax/LaxSchemaConverter.cjs +202 -0
- package/dist/development/src/lax/LaxSchemaConverter.cjs.map +1 -0
- package/dist/development/src/lax/LaxSchemaConverter.js +202 -0
- package/dist/development/src/lax/LaxSchemaConverter.js.map +1 -0
- package/dist/development/src/lax/schema.cjs +70 -0
- package/dist/development/src/lax/schema.cjs.map +1 -0
- package/dist/development/src/lax/schema.js +53 -0
- package/dist/development/src/lax/schema.js.map +1 -0
- package/dist/development/src/model/NamingConventions.cjs +28 -0
- package/dist/development/src/model/NamingConventions.cjs.map +1 -0
- package/dist/development/src/model/NamingConventions.js +28 -0
- package/dist/development/src/model/NamingConventions.js.map +1 -0
- package/dist/development/src/model/modelUtils.cjs +229 -0
- package/dist/development/src/model/modelUtils.cjs.map +1 -0
- package/dist/development/src/model/modelUtils.js +229 -0
- package/dist/development/src/model/modelUtils.js.map +1 -0
- package/dist/development/src/model/resolveDefaultColumnType.cjs +30 -0
- package/dist/development/src/model/resolveDefaultColumnType.cjs.map +1 -0
- package/dist/development/src/model/resolveDefaultColumnType.js +30 -0
- package/dist/development/src/model/resolveDefaultColumnType.js.map +1 -0
- package/dist/development/src/schemaChecksum.cjs +9 -0
- package/dist/development/src/schemaChecksum.cjs.map +1 -0
- package/dist/development/src/schemaChecksum.js +9 -0
- package/dist/development/src/schemaChecksum.js.map +1 -0
- package/dist/development/src/schemaFilter.cjs +24 -0
- package/dist/development/src/schemaFilter.cjs.map +1 -0
- package/dist/development/src/schemaFilter.js +24 -0
- package/dist/development/src/schemaFilter.js.map +1 -0
- package/dist/development/src/schemaNormalizer.cjs +72 -0
- package/dist/development/src/schemaNormalizer.cjs.map +1 -0
- package/dist/development/src/schemaNormalizer.js +72 -0
- package/dist/development/src/schemaNormalizer.js.map +1 -0
- package/dist/development/src/type-schema/acl.cjs +149 -0
- package/dist/development/src/type-schema/acl.cjs.map +1 -0
- package/dist/development/src/type-schema/acl.js +132 -0
- package/dist/development/src/type-schema/acl.js.map +1 -0
- package/dist/development/src/type-schema/actions.cjs +88 -0
- package/dist/development/src/type-schema/actions.cjs.map +1 -0
- package/dist/development/src/type-schema/actions.js +71 -0
- package/dist/development/src/type-schema/actions.js.map +1 -0
- package/dist/development/src/type-schema/condition.cjs +92 -0
- package/dist/development/src/type-schema/condition.cjs.map +1 -0
- package/dist/development/src/type-schema/condition.js +75 -0
- package/dist/development/src/type-schema/condition.js.map +1 -0
- package/dist/development/src/type-schema/model.cjs +222 -0
- package/dist/development/src/type-schema/model.cjs.map +1 -0
- package/dist/development/src/type-schema/model.js +206 -0
- package/dist/development/src/type-schema/model.js.map +1 -0
- package/dist/development/src/type-schema/settings.cjs +34 -0
- package/dist/development/src/type-schema/settings.cjs.map +1 -0
- package/dist/development/src/type-schema/settings.js +17 -0
- package/dist/development/src/type-schema/settings.js.map +1 -0
- package/dist/development/src/type-schema/validation.cjs +115 -0
- package/dist/development/src/type-schema/validation.cjs.map +1 -0
- package/dist/development/src/type-schema/validation.js +98 -0
- package/dist/development/src/type-schema/validation.js.map +1 -0
- package/dist/development/src/type-schema/where.cjs +46 -0
- package/dist/development/src/type-schema/where.cjs.map +1 -0
- package/dist/development/src/type-schema/where.js +29 -0
- package/dist/development/src/type-schema/where.js.map +1 -0
- package/dist/development/src/utils/assertNever.cjs +7 -0
- package/dist/development/src/utils/assertNever.cjs.map +1 -0
- package/dist/development/src/utils/assertNever.js +7 -0
- package/dist/development/src/utils/assertNever.js.map +1 -0
- package/dist/development/src/utils/deepCompare.cjs +134 -0
- package/dist/development/src/utils/deepCompare.cjs.map +1 -0
- package/dist/development/src/utils/deepCompare.js +134 -0
- package/dist/development/src/utils/deepCompare.js.map +1 -0
- package/dist/development/src/utils/isIt.cjs +7 -0
- package/dist/development/src/utils/isIt.cjs.map +1 -0
- package/dist/development/src/utils/isIt.js +7 -0
- package/dist/development/src/utils/isIt.js.map +1 -0
- package/dist/development/src/utils/printJsValue.cjs +42 -0
- package/dist/development/src/utils/printJsValue.cjs.map +1 -0
- package/dist/development/src/utils/printJsValue.js +42 -0
- package/dist/development/src/utils/printJsValue.js.map +1 -0
- package/dist/development/src/validation/AclValidator.cjs +168 -0
- package/dist/development/src/validation/AclValidator.cjs.map +1 -0
- package/dist/development/src/validation/AclValidator.js +168 -0
- package/dist/development/src/validation/AclValidator.js.map +1 -0
- package/dist/development/src/validation/ActionsValidator.cjs +127 -0
- package/dist/development/src/validation/ActionsValidator.cjs.map +1 -0
- package/dist/development/src/validation/ActionsValidator.js +110 -0
- package/dist/development/src/validation/ActionsValidator.js.map +1 -0
- package/dist/development/src/validation/MembershipResolver.cjs +129 -0
- package/dist/development/src/validation/MembershipResolver.cjs.map +1 -0
- package/dist/development/src/validation/MembershipResolver.js +129 -0
- package/dist/development/src/validation/MembershipResolver.js.map +1 -0
- package/dist/development/src/validation/ModelValidator.cjs +325 -0
- package/dist/development/src/validation/ModelValidator.cjs.map +1 -0
- package/dist/development/src/validation/ModelValidator.js +325 -0
- package/dist/development/src/validation/ModelValidator.js.map +1 -0
- package/dist/development/src/validation/SchemaValidator.cjs +29 -0
- package/dist/development/src/validation/SchemaValidator.cjs.map +1 -0
- package/dist/development/src/validation/SchemaValidator.js +29 -0
- package/dist/development/src/validation/SchemaValidator.js.map +1 -0
- package/dist/development/src/validation/ValidationValidator.cjs +121 -0
- package/dist/development/src/validation/ValidationValidator.cjs.map +1 -0
- package/dist/development/src/validation/ValidationValidator.js +121 -0
- package/dist/development/src/validation/ValidationValidator.js.map +1 -0
- package/dist/development/src/validation/errors.cjs +16 -0
- package/dist/development/src/validation/errors.cjs.map +1 -0
- package/dist/development/src/validation/errors.js +16 -0
- package/dist/development/src/validation/errors.js.map +1 -0
- package/dist/production/index.cjs +110 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +94 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/acl/AllowAllPermissionFactory.cjs +42 -0
- package/dist/production/src/acl/AllowAllPermissionFactory.cjs.map +1 -0
- package/dist/production/src/acl/AllowAllPermissionFactory.js +42 -0
- package/dist/production/src/acl/AllowAllPermissionFactory.js.map +1 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.cjs +69 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.cjs.map +1 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.js +69 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.js.map +1 -0
- package/dist/production/src/acl/schemaUtils.cjs +11 -0
- package/dist/production/src/acl/schemaUtils.cjs.map +1 -0
- package/dist/production/src/acl/schemaUtils.js +11 -0
- package/dist/production/src/acl/schemaUtils.js.map +1 -0
- package/dist/production/src/dataUtils.cjs +59 -0
- package/dist/production/src/dataUtils.cjs.map +1 -0
- package/dist/production/src/dataUtils.js +59 -0
- package/dist/production/src/dataUtils.js.map +1 -0
- package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.cjs +118 -0
- package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.cjs.map +1 -0
- package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.js +118 -0
- package/dist/production/src/definition-generator/AclDefinitionCodeGenerator.js.map +1 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.cjs +218 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.cjs.map +1 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.js +218 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs +68 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs.map +1 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.js +68 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.js.map +1 -0
- package/dist/production/src/definition-generator/TsDefinitionGenerator.cjs +17 -0
- package/dist/production/src/definition-generator/TsDefinitionGenerator.cjs.map +1 -0
- package/dist/production/src/definition-generator/TsDefinitionGenerator.js +17 -0
- package/dist/production/src/definition-generator/TsDefinitionGenerator.js.map +1 -0
- package/dist/production/src/lax/LaxSchemaConverter.cjs +202 -0
- package/dist/production/src/lax/LaxSchemaConverter.cjs.map +1 -0
- package/dist/production/src/lax/LaxSchemaConverter.js +202 -0
- package/dist/production/src/lax/LaxSchemaConverter.js.map +1 -0
- package/dist/production/src/lax/schema.cjs +70 -0
- package/dist/production/src/lax/schema.cjs.map +1 -0
- package/dist/production/src/lax/schema.js +53 -0
- package/dist/production/src/lax/schema.js.map +1 -0
- package/dist/production/src/model/NamingConventions.cjs +28 -0
- package/dist/production/src/model/NamingConventions.cjs.map +1 -0
- package/dist/production/src/model/NamingConventions.js +28 -0
- package/dist/production/src/model/NamingConventions.js.map +1 -0
- package/dist/production/src/model/modelUtils.cjs +229 -0
- package/dist/production/src/model/modelUtils.cjs.map +1 -0
- package/dist/production/src/model/modelUtils.js +229 -0
- package/dist/production/src/model/modelUtils.js.map +1 -0
- package/dist/production/src/model/resolveDefaultColumnType.cjs +30 -0
- package/dist/production/src/model/resolveDefaultColumnType.cjs.map +1 -0
- package/dist/production/src/model/resolveDefaultColumnType.js +30 -0
- package/dist/production/src/model/resolveDefaultColumnType.js.map +1 -0
- package/dist/production/src/schemaChecksum.cjs +9 -0
- package/dist/production/src/schemaChecksum.cjs.map +1 -0
- package/dist/production/src/schemaChecksum.js +9 -0
- package/dist/production/src/schemaChecksum.js.map +1 -0
- package/dist/production/src/schemaFilter.cjs +24 -0
- package/dist/production/src/schemaFilter.cjs.map +1 -0
- package/dist/production/src/schemaFilter.js +24 -0
- package/dist/production/src/schemaFilter.js.map +1 -0
- package/dist/production/src/schemaNormalizer.cjs +72 -0
- package/dist/production/src/schemaNormalizer.cjs.map +1 -0
- package/dist/production/src/schemaNormalizer.js +72 -0
- package/dist/production/src/schemaNormalizer.js.map +1 -0
- package/dist/production/src/type-schema/acl.cjs +149 -0
- package/dist/production/src/type-schema/acl.cjs.map +1 -0
- package/dist/production/src/type-schema/acl.js +132 -0
- package/dist/production/src/type-schema/acl.js.map +1 -0
- package/dist/production/src/type-schema/actions.cjs +88 -0
- package/dist/production/src/type-schema/actions.cjs.map +1 -0
- package/dist/production/src/type-schema/actions.js +71 -0
- package/dist/production/src/type-schema/actions.js.map +1 -0
- package/dist/production/src/type-schema/condition.cjs +92 -0
- package/dist/production/src/type-schema/condition.cjs.map +1 -0
- package/dist/production/src/type-schema/condition.js +75 -0
- package/dist/production/src/type-schema/condition.js.map +1 -0
- package/dist/production/src/type-schema/model.cjs +222 -0
- package/dist/production/src/type-schema/model.cjs.map +1 -0
- package/dist/production/src/type-schema/model.js +206 -0
- package/dist/production/src/type-schema/model.js.map +1 -0
- package/dist/production/src/type-schema/settings.cjs +34 -0
- package/dist/production/src/type-schema/settings.cjs.map +1 -0
- package/dist/production/src/type-schema/settings.js +17 -0
- package/dist/production/src/type-schema/settings.js.map +1 -0
- package/dist/production/src/type-schema/validation.cjs +115 -0
- package/dist/production/src/type-schema/validation.cjs.map +1 -0
- package/dist/production/src/type-schema/validation.js +98 -0
- package/dist/production/src/type-schema/validation.js.map +1 -0
- package/dist/production/src/type-schema/where.cjs +46 -0
- package/dist/production/src/type-schema/where.cjs.map +1 -0
- package/dist/production/src/type-schema/where.js +29 -0
- package/dist/production/src/type-schema/where.js.map +1 -0
- package/dist/production/src/utils/assertNever.cjs +7 -0
- package/dist/production/src/utils/assertNever.cjs.map +1 -0
- package/dist/production/src/utils/assertNever.js +7 -0
- package/dist/production/src/utils/assertNever.js.map +1 -0
- package/dist/production/src/utils/deepCompare.cjs +134 -0
- package/dist/production/src/utils/deepCompare.cjs.map +1 -0
- package/dist/production/src/utils/deepCompare.js +134 -0
- package/dist/production/src/utils/deepCompare.js.map +1 -0
- package/dist/production/src/utils/isIt.cjs +7 -0
- package/dist/production/src/utils/isIt.cjs.map +1 -0
- package/dist/production/src/utils/isIt.js +7 -0
- package/dist/production/src/utils/isIt.js.map +1 -0
- package/dist/production/src/utils/printJsValue.cjs +42 -0
- package/dist/production/src/utils/printJsValue.cjs.map +1 -0
- package/dist/production/src/utils/printJsValue.js +42 -0
- package/dist/production/src/utils/printJsValue.js.map +1 -0
- package/dist/production/src/validation/AclValidator.cjs +168 -0
- package/dist/production/src/validation/AclValidator.cjs.map +1 -0
- package/dist/production/src/validation/AclValidator.js +168 -0
- package/dist/production/src/validation/AclValidator.js.map +1 -0
- package/dist/production/src/validation/ActionsValidator.cjs +127 -0
- package/dist/production/src/validation/ActionsValidator.cjs.map +1 -0
- package/dist/production/src/validation/ActionsValidator.js +110 -0
- package/dist/production/src/validation/ActionsValidator.js.map +1 -0
- package/dist/production/src/validation/MembershipResolver.cjs +129 -0
- package/dist/production/src/validation/MembershipResolver.cjs.map +1 -0
- package/dist/production/src/validation/MembershipResolver.js +129 -0
- package/dist/production/src/validation/MembershipResolver.js.map +1 -0
- package/dist/production/src/validation/ModelValidator.cjs +325 -0
- package/dist/production/src/validation/ModelValidator.cjs.map +1 -0
- package/dist/production/src/validation/ModelValidator.js +325 -0
- package/dist/production/src/validation/ModelValidator.js.map +1 -0
- package/dist/production/src/validation/SchemaValidator.cjs +29 -0
- package/dist/production/src/validation/SchemaValidator.cjs.map +1 -0
- package/dist/production/src/validation/SchemaValidator.js +29 -0
- package/dist/production/src/validation/SchemaValidator.js.map +1 -0
- package/dist/production/src/validation/ValidationValidator.cjs +121 -0
- package/dist/production/src/validation/ValidationValidator.cjs.map +1 -0
- package/dist/production/src/validation/ValidationValidator.js +121 -0
- package/dist/production/src/validation/ValidationValidator.js.map +1 -0
- package/dist/production/src/validation/errors.cjs +16 -0
- package/dist/production/src/validation/errors.cjs.map +1 -0
- package/dist/production/src/validation/errors.js +16 -0
- package/dist/production/src/validation/errors.js.map +1 -0
- package/dist/tests/cases/unit/conditionSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/conditionSchema.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/deepCompare.test.d.ts +2 -0
- package/dist/tests/cases/unit/deepCompare.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/laxSchemaConverter.test.d.ts +2 -0
- package/dist/tests/cases/unit/laxSchemaConverter.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/membershipResolver.test.d.ts +2 -0
- package/dist/tests/cases/unit/membershipResolver.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/modelSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/modelSchema.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/modelValidator.test.d.ts +2 -0
- package/dist/tests/cases/unit/modelValidator.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/printJsvalue.test.d.ts +2 -0
- package/dist/tests/cases/unit/printJsvalue.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/acl.d.ts +12 -0
- package/dist/tests/cases/unit/schemas/acl.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/basic.d.ts +4 -0
- package/dist/tests/cases/unit/schemas/basic.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/complex.d.ts +12 -0
- package/dist/tests/cases/unit/schemas/complex.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/enum.d.ts +6 -0
- package/dist/tests/cases/unit/schemas/enum.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/relations.d.ts +14 -0
- package/dist/tests/cases/unit/schemas/relations.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/unique.d.ts +4 -0
- package/dist/tests/cases/unit/schemas/unique.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/view.d.ts +4 -0
- package/dist/tests/cases/unit/schemas/view.d.ts.map +1 -0
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.d.ts +2 -0
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/whereSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/whereSchema.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -0
- package/dist/types/acl/AllowAllPermissionFactory.d.ts +7 -0
- package/dist/types/acl/AllowAllPermissionFactory.d.ts.map +1 -0
- package/dist/types/acl/PredicateDefinitionProcessor.d.ts +32 -0
- package/dist/types/acl/PredicateDefinitionProcessor.d.ts.map +1 -0
- package/dist/types/acl/index.d.ts +4 -0
- package/dist/types/acl/index.d.ts.map +1 -0
- package/dist/types/acl/schemaUtils.d.ts +3 -0
- package/dist/types/acl/schemaUtils.d.ts.map +1 -0
- package/dist/types/dataUtils.d.ts +18 -0
- package/dist/types/dataUtils.d.ts.map +1 -0
- package/dist/types/definition-generator/AclDefinitionCodeGenerator.d.ts +19 -0
- package/dist/types/definition-generator/AclDefinitionCodeGenerator.d.ts.map +1 -0
- package/dist/types/definition-generator/DefinitionCodeGenerator.d.ts +27 -0
- package/dist/types/definition-generator/DefinitionCodeGenerator.d.ts.map +1 -0
- package/dist/types/definition-generator/DefinitionNamingConventions.d.ts +7 -0
- package/dist/types/definition-generator/DefinitionNamingConventions.d.ts.map +1 -0
- package/dist/types/definition-generator/TsDefinitionGenerator.d.ts +12 -0
- package/dist/types/definition-generator/TsDefinitionGenerator.d.ts.map +1 -0
- package/dist/types/definition-generator/index.d.ts +5 -0
- package/dist/types/definition-generator/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lax/LaxSchemaConverter.d.ts +10 -0
- package/dist/types/lax/LaxSchemaConverter.d.ts.map +1 -0
- package/dist/types/lax/index.d.ts +3 -0
- package/dist/types/lax/index.d.ts.map +1 -0
- package/dist/types/lax/schema.d.ts +285 -0
- package/dist/types/lax/schema.d.ts.map +1 -0
- package/dist/types/model/NamingConventions.d.ts +17 -0
- package/dist/types/model/NamingConventions.d.ts.map +1 -0
- package/dist/types/model/index.d.ts +4 -0
- package/dist/types/model/index.d.ts.map +1 -0
- package/dist/types/model/modelUtils.d.ts +28 -0
- package/dist/types/model/modelUtils.d.ts.map +1 -0
- package/dist/types/model/resolveDefaultColumnType.d.ts +3 -0
- package/dist/types/model/resolveDefaultColumnType.d.ts.map +1 -0
- package/dist/types/schemaChecksum.d.ts +3 -0
- package/dist/types/schemaChecksum.d.ts.map +1 -0
- package/dist/types/schemaFilter.d.ts +3 -0
- package/dist/types/schemaFilter.d.ts.map +1 -0
- package/dist/types/schemaNormalizer.d.ts +3 -0
- package/dist/types/schemaNormalizer.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/type-schema/acl.d.ts +10 -0
- package/dist/types/type-schema/acl.d.ts.map +1 -0
- package/dist/types/type-schema/actions.d.ts +32 -0
- package/dist/types/type-schema/actions.d.ts.map +1 -0
- package/dist/types/type-schema/condition.d.ts +4 -0
- package/dist/types/type-schema/condition.d.ts.map +1 -0
- package/dist/types/type-schema/index.d.ts +6 -0
- package/dist/types/type-schema/index.d.ts.map +1 -0
- package/dist/types/type-schema/model.d.ts +30 -0
- package/dist/types/type-schema/model.d.ts.map +1 -0
- package/dist/types/type-schema/settings.d.ts +41 -0
- package/dist/types/type-schema/settings.d.ts.map +1 -0
- package/dist/types/type-schema/validation.d.ts +15 -0
- package/dist/types/type-schema/validation.d.ts.map +1 -0
- package/dist/types/type-schema/where.d.ts +7 -0
- package/dist/types/type-schema/where.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +2 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/deepCompare.d.ts +13 -0
- package/dist/types/utils/deepCompare.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/isIt.d.ts +2 -0
- package/dist/types/utils/isIt.d.ts.map +1 -0
- package/dist/types/utils/printJsValue.d.ts +13 -0
- package/dist/types/utils/printJsValue.d.ts.map +1 -0
- package/dist/types/validation/AclValidator.d.ts +20 -0
- package/dist/types/validation/AclValidator.d.ts.map +1 -0
- package/dist/types/validation/ActionsValidator.d.ts +13 -0
- package/dist/types/validation/ActionsValidator.d.ts.map +1 -0
- package/dist/types/validation/MembershipResolver.d.ts +37 -0
- package/dist/types/validation/MembershipResolver.d.ts.map +1 -0
- package/dist/types/validation/ModelValidator.d.ts +20 -0
- package/dist/types/validation/ModelValidator.d.ts.map +1 -0
- package/dist/types/validation/SchemaValidator.d.ts +11 -0
- package/dist/types/validation/SchemaValidator.d.ts.map +1 -0
- package/dist/types/validation/ValidationValidator.d.ts +14 -0
- package/dist/types/validation/ValidationValidator.d.ts.map +1 -0
- package/dist/types/validation/errors.d.ts +14 -0
- package/dist/types/validation/errors.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts +7 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const filterSchemaByStage = (schema, stageSlug) => {
|
|
2
|
+
const roles = Object.entries(schema.acl.roles).filter(
|
|
3
|
+
([, value]) => !value.stages || value.stages === "*" || !!value.stages.find((pattern) => !!new RegExp(pattern).exec(stageSlug))
|
|
4
|
+
).map(([name, definition], index, roles2) => [
|
|
5
|
+
name,
|
|
6
|
+
{
|
|
7
|
+
...definition,
|
|
8
|
+
...definition.inherits ? {
|
|
9
|
+
inherits: definition.inherits.filter((it) => roles2.map(([role]) => role).includes(it))
|
|
10
|
+
} : {}
|
|
11
|
+
}
|
|
12
|
+
]);
|
|
13
|
+
return {
|
|
14
|
+
...schema,
|
|
15
|
+
acl: {
|
|
16
|
+
...schema.acl,
|
|
17
|
+
roles: Object.fromEntries(roles)
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
filterSchemaByStage
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=schemaFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaFilter.js","sources":["../../../../packages/schema-utils/src/schemaFilter.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\n\nexport const filterSchemaByStage = <S extends Schema>(schema: S, stageSlug: string): S => {\n\tconst roles = Object.entries(schema.acl.roles)\n\t\t.filter(\n\t\t\t([, value]) =>\n\t\t\t\t!value.stages\n\t\t\t\t|| value.stages === '*'\n\t\t\t\t|| !!value.stages.find(pattern => !!new RegExp(pattern).exec(stageSlug)),\n\t\t)\n\t\t.map(([name, definition], index, roles) => [\n\t\t\tname,\n\t\t\t{\n\t\t\t\t...definition,\n\t\t\t\t...(definition.inherits\n\t\t\t\t\t? {\n\t\t\t\t\t\tinherits: definition.inherits.filter(it => roles.map(([role]) => role).includes(it)),\n\t\t\t\t\t}\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t])\n\treturn {\n\t\t...schema,\n\t\tacl: {\n\t\t\t...schema.acl,\n\t\t\troles: Object.fromEntries(roles),\n\t\t},\n\t}\n}\n"],"names":["roles"],"mappings":"AAEO,MAAM,sBAAsB,CAAmB,QAAW,cAAyB;AACzF,QAAM,QAAQ,OAAO,QAAQ,OAAO,IAAI,KAAK,EAC3C;AAAA,IACA,CAAC,CAAA,EAAG,KAAK,MACR,CAAC,MAAM,UACJ,MAAM,WAAW,OACjB,CAAC,CAAC,MAAM,OAAO,KAAK,CAAA,YAAW,CAAC,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,SAAS,CAAC;AAAA,EAAA,EAExE,IAAI,CAAC,CAAC,MAAM,UAAU,GAAG,OAAOA,WAAU;AAAA,IAC1C;AAAA,IACA;AAAA,MACC,GAAG;AAAA,MACH,GAAI,WAAW,WACZ;AAAA,QACD,UAAU,WAAW,SAAS,OAAO,QAAMA,OAAM,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,SAAS,EAAE,CAAC;AAAA,MAAA,IAElF,CAAA;AAAA,IAAC;AAAA,EACL,CACA;AACF,SAAO;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,MACJ,GAAG,OAAO;AAAA,MACV,OAAO,OAAO,YAAY,KAAK;AAAA,IAAA;AAAA,EAChC;AAEF;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schema = require("@contember/schema");
|
|
4
|
+
const AllowAllPermissionFactory = require("./acl/AllowAllPermissionFactory.cjs");
|
|
5
|
+
const normalizeSchema = (schema$1) => {
|
|
6
|
+
const adminRoleDefinition = schema$1.acl.roles?.[schema.ProjectRole.ADMIN] ?? {};
|
|
7
|
+
const contentAdminRoleDefinition = schema$1.acl.roles?.[schema.ProjectRole.CONTENT_ADMIN] ?? {};
|
|
8
|
+
return {
|
|
9
|
+
...schema$1,
|
|
10
|
+
acl: {
|
|
11
|
+
...schema$1.acl,
|
|
12
|
+
roles: {
|
|
13
|
+
...schema$1.acl.roles,
|
|
14
|
+
[schema.ProjectRole.ADMIN]: {
|
|
15
|
+
stages: "*",
|
|
16
|
+
variables: {},
|
|
17
|
+
entities: new AllowAllPermissionFactory.AllowAllPermissionFactory().create(schema$1.model),
|
|
18
|
+
s3: {
|
|
19
|
+
"**": {
|
|
20
|
+
upload: true,
|
|
21
|
+
read: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
content: {
|
|
25
|
+
export: true,
|
|
26
|
+
import: true,
|
|
27
|
+
refreshMaterializedView: true,
|
|
28
|
+
...adminRoleDefinition.content
|
|
29
|
+
},
|
|
30
|
+
system: {
|
|
31
|
+
export: true,
|
|
32
|
+
import: true,
|
|
33
|
+
...adminRoleDefinition.system
|
|
34
|
+
},
|
|
35
|
+
debug: true,
|
|
36
|
+
...adminRoleDefinition
|
|
37
|
+
},
|
|
38
|
+
[schema.ProjectRole.CONTENT_ADMIN]: {
|
|
39
|
+
stages: "*",
|
|
40
|
+
variables: {},
|
|
41
|
+
entities: new AllowAllPermissionFactory.AllowAllPermissionFactory().create(schema$1.model),
|
|
42
|
+
s3: {
|
|
43
|
+
"**": {
|
|
44
|
+
upload: true,
|
|
45
|
+
read: true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
content: {
|
|
49
|
+
export: true,
|
|
50
|
+
import: true,
|
|
51
|
+
refreshMaterializedView: true,
|
|
52
|
+
...contentAdminRoleDefinition.content
|
|
53
|
+
},
|
|
54
|
+
system: {
|
|
55
|
+
history: true,
|
|
56
|
+
export: true,
|
|
57
|
+
import: true,
|
|
58
|
+
...contentAdminRoleDefinition.system
|
|
59
|
+
},
|
|
60
|
+
...contentAdminRoleDefinition
|
|
61
|
+
},
|
|
62
|
+
[schema.ProjectRole.DEPLOYER]: {
|
|
63
|
+
stages: "*",
|
|
64
|
+
entities: {},
|
|
65
|
+
variables: {}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.normalizeSchema = normalizeSchema;
|
|
72
|
+
//# sourceMappingURL=schemaNormalizer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaNormalizer.cjs","sources":["../../../../packages/schema-utils/src/schemaNormalizer.ts"],"sourcesContent":["import { Acl, ProjectRole, Schema } from '@contember/schema'\nimport { AllowAllPermissionFactory } from './acl'\n\nexport const normalizeSchema = <S extends Schema>(schema: S): S => {\n\tconst adminRoleDefinition: Partial<Acl.RolePermissions> = schema.acl.roles?.[ProjectRole.ADMIN] ?? {}\n\tconst contentAdminRoleDefinition: Partial<Acl.RolePermissions> = schema.acl.roles?.[ProjectRole.CONTENT_ADMIN] ?? {}\n\n\treturn {\n\t\t...schema,\n\t\tacl: {\n\t\t\t...schema.acl,\n\t\t\troles: {\n\t\t\t\t...schema.acl.roles,\n\t\t\t\t[ProjectRole.ADMIN]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tvariables: {},\n\t\t\t\t\tentities: new AllowAllPermissionFactory().create(schema.model),\n\t\t\t\t\ts3: {\n\t\t\t\t\t\t'**': {\n\t\t\t\t\t\t\tupload: true,\n\t\t\t\t\t\t\tread: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\trefreshMaterializedView: true,\n\t\t\t\t\t\t...adminRoleDefinition.content,\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\t...adminRoleDefinition.system,\n\t\t\t\t\t},\n\t\t\t\t\tdebug: true,\n\t\t\t\t\t...adminRoleDefinition,\n\t\t\t\t},\n\t\t\t\t[ProjectRole.CONTENT_ADMIN]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tvariables: {},\n\t\t\t\t\tentities: new AllowAllPermissionFactory().create(schema.model),\n\t\t\t\t\ts3: {\n\t\t\t\t\t\t'**': {\n\t\t\t\t\t\t\tupload: true,\n\t\t\t\t\t\t\tread: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\trefreshMaterializedView: true,\n\t\t\t\t\t\t...contentAdminRoleDefinition.content,\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\thistory: true,\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\t...contentAdminRoleDefinition.system,\n\t\t\t\t\t},\n\t\t\t\t\t...contentAdminRoleDefinition,\n\t\t\t\t},\n\t\t\t\t[ProjectRole.DEPLOYER]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tentities: {},\n\t\t\t\t\tvariables: {},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}\n}\n"],"names":["schema","ProjectRole","AllowAllPermissionFactory"],"mappings":";;;;AAGO,MAAM,kBAAkB,CAAmBA,aAAiB;AAClE,QAAM,sBAAoDA,SAAO,IAAI,QAAQC,OAAAA,YAAY,KAAK,KAAK,CAAA;AACnG,QAAM,6BAA2DD,SAAO,IAAI,QAAQC,OAAAA,YAAY,aAAa,KAAK,CAAA;AAElH,SAAO;AAAA,IACN,GAAGD;AAAAA,IACH,KAAK;AAAA,MACJ,GAAGA,SAAO;AAAA,MACV,OAAO;AAAA,QACN,GAAGA,SAAO,IAAI;AAAA,QACd,CAACC,OAAAA,YAAY,KAAK,GAAG;AAAA,UACpB,QAAQ;AAAA,UACR,WAAW,CAAA;AAAA,UACX,UAAU,IAAIC,0BAAAA,0BAAA,EAA4B,OAAOF,SAAO,KAAK;AAAA,UAC7D,IAAI;AAAA,YACH,MAAM;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,YAAA;AAAA,UACP;AAAA,UAED,SAAS;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,yBAAyB;AAAA,YACzB,GAAG,oBAAoB;AAAA,UAAA;AAAA,UAExB,QAAQ;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,GAAG,oBAAoB;AAAA,UAAA;AAAA,UAExB,OAAO;AAAA,UACP,GAAG;AAAA,QAAA;AAAA,QAEJ,CAACC,OAAAA,YAAY,aAAa,GAAG;AAAA,UAC5B,QAAQ;AAAA,UACR,WAAW,CAAA;AAAA,UACX,UAAU,IAAIC,0BAAAA,0BAAA,EAA4B,OAAOF,SAAO,KAAK;AAAA,UAC7D,IAAI;AAAA,YACH,MAAM;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,YAAA;AAAA,UACP;AAAA,UAED,SAAS;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,yBAAyB;AAAA,YACzB,GAAG,2BAA2B;AAAA,UAAA;AAAA,UAE/B,QAAQ;AAAA,YACP,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,GAAG,2BAA2B;AAAA,UAAA;AAAA,UAE/B,GAAG;AAAA,QAAA;AAAA,QAEJ,CAACC,OAAAA,YAAY,QAAQ,GAAG;AAAA,UACvB,QAAQ;AAAA,UACR,UAAU,CAAA;AAAA,UACV,WAAW,CAAA;AAAA,QAAC;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAEF;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ProjectRole } from "@contember/schema";
|
|
2
|
+
import { AllowAllPermissionFactory } from "./acl/AllowAllPermissionFactory.js";
|
|
3
|
+
const normalizeSchema = (schema) => {
|
|
4
|
+
const adminRoleDefinition = schema.acl.roles?.[ProjectRole.ADMIN] ?? {};
|
|
5
|
+
const contentAdminRoleDefinition = schema.acl.roles?.[ProjectRole.CONTENT_ADMIN] ?? {};
|
|
6
|
+
return {
|
|
7
|
+
...schema,
|
|
8
|
+
acl: {
|
|
9
|
+
...schema.acl,
|
|
10
|
+
roles: {
|
|
11
|
+
...schema.acl.roles,
|
|
12
|
+
[ProjectRole.ADMIN]: {
|
|
13
|
+
stages: "*",
|
|
14
|
+
variables: {},
|
|
15
|
+
entities: new AllowAllPermissionFactory().create(schema.model),
|
|
16
|
+
s3: {
|
|
17
|
+
"**": {
|
|
18
|
+
upload: true,
|
|
19
|
+
read: true
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
content: {
|
|
23
|
+
export: true,
|
|
24
|
+
import: true,
|
|
25
|
+
refreshMaterializedView: true,
|
|
26
|
+
...adminRoleDefinition.content
|
|
27
|
+
},
|
|
28
|
+
system: {
|
|
29
|
+
export: true,
|
|
30
|
+
import: true,
|
|
31
|
+
...adminRoleDefinition.system
|
|
32
|
+
},
|
|
33
|
+
debug: true,
|
|
34
|
+
...adminRoleDefinition
|
|
35
|
+
},
|
|
36
|
+
[ProjectRole.CONTENT_ADMIN]: {
|
|
37
|
+
stages: "*",
|
|
38
|
+
variables: {},
|
|
39
|
+
entities: new AllowAllPermissionFactory().create(schema.model),
|
|
40
|
+
s3: {
|
|
41
|
+
"**": {
|
|
42
|
+
upload: true,
|
|
43
|
+
read: true
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
content: {
|
|
47
|
+
export: true,
|
|
48
|
+
import: true,
|
|
49
|
+
refreshMaterializedView: true,
|
|
50
|
+
...contentAdminRoleDefinition.content
|
|
51
|
+
},
|
|
52
|
+
system: {
|
|
53
|
+
history: true,
|
|
54
|
+
export: true,
|
|
55
|
+
import: true,
|
|
56
|
+
...contentAdminRoleDefinition.system
|
|
57
|
+
},
|
|
58
|
+
...contentAdminRoleDefinition
|
|
59
|
+
},
|
|
60
|
+
[ProjectRole.DEPLOYER]: {
|
|
61
|
+
stages: "*",
|
|
62
|
+
entities: {},
|
|
63
|
+
variables: {}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export {
|
|
70
|
+
normalizeSchema
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=schemaNormalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaNormalizer.js","sources":["../../../../packages/schema-utils/src/schemaNormalizer.ts"],"sourcesContent":["import { Acl, ProjectRole, Schema } from '@contember/schema'\nimport { AllowAllPermissionFactory } from './acl'\n\nexport const normalizeSchema = <S extends Schema>(schema: S): S => {\n\tconst adminRoleDefinition: Partial<Acl.RolePermissions> = schema.acl.roles?.[ProjectRole.ADMIN] ?? {}\n\tconst contentAdminRoleDefinition: Partial<Acl.RolePermissions> = schema.acl.roles?.[ProjectRole.CONTENT_ADMIN] ?? {}\n\n\treturn {\n\t\t...schema,\n\t\tacl: {\n\t\t\t...schema.acl,\n\t\t\troles: {\n\t\t\t\t...schema.acl.roles,\n\t\t\t\t[ProjectRole.ADMIN]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tvariables: {},\n\t\t\t\t\tentities: new AllowAllPermissionFactory().create(schema.model),\n\t\t\t\t\ts3: {\n\t\t\t\t\t\t'**': {\n\t\t\t\t\t\t\tupload: true,\n\t\t\t\t\t\t\tread: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\trefreshMaterializedView: true,\n\t\t\t\t\t\t...adminRoleDefinition.content,\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\t...adminRoleDefinition.system,\n\t\t\t\t\t},\n\t\t\t\t\tdebug: true,\n\t\t\t\t\t...adminRoleDefinition,\n\t\t\t\t},\n\t\t\t\t[ProjectRole.CONTENT_ADMIN]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tvariables: {},\n\t\t\t\t\tentities: new AllowAllPermissionFactory().create(schema.model),\n\t\t\t\t\ts3: {\n\t\t\t\t\t\t'**': {\n\t\t\t\t\t\t\tupload: true,\n\t\t\t\t\t\t\tread: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\trefreshMaterializedView: true,\n\t\t\t\t\t\t...contentAdminRoleDefinition.content,\n\t\t\t\t\t},\n\t\t\t\t\tsystem: {\n\t\t\t\t\t\thistory: true,\n\t\t\t\t\t\texport: true,\n\t\t\t\t\t\timport: true,\n\t\t\t\t\t\t...contentAdminRoleDefinition.system,\n\t\t\t\t\t},\n\t\t\t\t\t...contentAdminRoleDefinition,\n\t\t\t\t},\n\t\t\t\t[ProjectRole.DEPLOYER]: {\n\t\t\t\t\tstages: '*',\n\t\t\t\t\tentities: {},\n\t\t\t\t\tvariables: {},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;AAGO,MAAM,kBAAkB,CAAmB,WAAiB;AAClE,QAAM,sBAAoD,OAAO,IAAI,QAAQ,YAAY,KAAK,KAAK,CAAA;AACnG,QAAM,6BAA2D,OAAO,IAAI,QAAQ,YAAY,aAAa,KAAK,CAAA;AAElH,SAAO;AAAA,IACN,GAAG;AAAA,IACH,KAAK;AAAA,MACJ,GAAG,OAAO;AAAA,MACV,OAAO;AAAA,QACN,GAAG,OAAO,IAAI;AAAA,QACd,CAAC,YAAY,KAAK,GAAG;AAAA,UACpB,QAAQ;AAAA,UACR,WAAW,CAAA;AAAA,UACX,UAAU,IAAI,0BAAA,EAA4B,OAAO,OAAO,KAAK;AAAA,UAC7D,IAAI;AAAA,YACH,MAAM;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,YAAA;AAAA,UACP;AAAA,UAED,SAAS;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,yBAAyB;AAAA,YACzB,GAAG,oBAAoB;AAAA,UAAA;AAAA,UAExB,QAAQ;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,GAAG,oBAAoB;AAAA,UAAA;AAAA,UAExB,OAAO;AAAA,UACP,GAAG;AAAA,QAAA;AAAA,QAEJ,CAAC,YAAY,aAAa,GAAG;AAAA,UAC5B,QAAQ;AAAA,UACR,WAAW,CAAA;AAAA,UACX,UAAU,IAAI,0BAAA,EAA4B,OAAO,OAAO,KAAK;AAAA,UAC7D,IAAI;AAAA,YACH,MAAM;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,YAAA;AAAA,UACP;AAAA,UAED,SAAS;AAAA,YACR,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,yBAAyB;AAAA,YACzB,GAAG,2BAA2B;AAAA,UAAA;AAAA,UAE/B,QAAQ;AAAA,YACP,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,GAAG,2BAA2B;AAAA,UAAA;AAAA,UAE/B,GAAG;AAAA,QAAA;AAAA,QAEJ,CAAC,YAAY,QAAQ,GAAG;AAAA,UACvB,QAAQ;AAAA,UACR,UAAU,CAAA;AAAA,UACV,WAAW,CAAA;AAAA,QAAC;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAEF;"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schema = require("@contember/schema");
|
|
4
|
+
const Typesafe = require("@contember/typesafe");
|
|
5
|
+
const condition = require("./condition.cjs");
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
8
|
+
if (e) {
|
|
9
|
+
for (const k in e) {
|
|
10
|
+
if (k !== "default") {
|
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: () => e[k]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
|
|
23
|
+
const membershipMatchRuleSchema = Typesafe__namespace.union(
|
|
24
|
+
Typesafe__namespace.boolean,
|
|
25
|
+
Typesafe__namespace.record(
|
|
26
|
+
Typesafe__namespace.string,
|
|
27
|
+
Typesafe__namespace.union(
|
|
28
|
+
Typesafe__namespace.literal(true),
|
|
29
|
+
Typesafe__namespace.partial({
|
|
30
|
+
variables: Typesafe__namespace.union(
|
|
31
|
+
Typesafe__namespace.literal(true),
|
|
32
|
+
Typesafe__namespace.record(
|
|
33
|
+
Typesafe__namespace.string,
|
|
34
|
+
Typesafe__namespace.union(Typesafe__namespace.literal(true), Typesafe__namespace.string)
|
|
35
|
+
)
|
|
36
|
+
)
|
|
37
|
+
})
|
|
38
|
+
)
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
const tenantPermissionsSchema = Typesafe__namespace.partial({
|
|
42
|
+
invite: Typesafe__namespace.union(Typesafe__namespace.boolean, membershipMatchRuleSchema),
|
|
43
|
+
unmanagedInvite: Typesafe__namespace.union(Typesafe__namespace.boolean, membershipMatchRuleSchema),
|
|
44
|
+
manage: membershipMatchRuleSchema,
|
|
45
|
+
view: membershipMatchRuleSchema
|
|
46
|
+
});
|
|
47
|
+
const systemPermissionsSchema = Typesafe__namespace.partial({
|
|
48
|
+
history: Typesafe__namespace.union(Typesafe__namespace.boolean, Typesafe__namespace.enumeration("any", "none")),
|
|
49
|
+
migrate: Typesafe__namespace.boolean,
|
|
50
|
+
assumeIdentity: Typesafe__namespace.boolean,
|
|
51
|
+
export: Typesafe__namespace.boolean,
|
|
52
|
+
import: Typesafe__namespace.boolean
|
|
53
|
+
});
|
|
54
|
+
const contentPermissionsSchema = Typesafe__namespace.partial({
|
|
55
|
+
assumeMembership: membershipMatchRuleSchema,
|
|
56
|
+
export: Typesafe__namespace.boolean,
|
|
57
|
+
import: Typesafe__namespace.boolean,
|
|
58
|
+
refreshMaterializedView: Typesafe__namespace.boolean
|
|
59
|
+
});
|
|
60
|
+
const entityVariableSchema = Typesafe__namespace.intersection(
|
|
61
|
+
Typesafe__namespace.object({
|
|
62
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.entity),
|
|
63
|
+
entityName: Typesafe__namespace.string
|
|
64
|
+
}),
|
|
65
|
+
Typesafe__namespace.partial({
|
|
66
|
+
fallback: condition.conditionSchema()
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
const predefinedVariableSchema = Typesafe__namespace.object({
|
|
70
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.predefined),
|
|
71
|
+
value: Typesafe__namespace.enumeration("identityID", "personID")
|
|
72
|
+
});
|
|
73
|
+
const conditionVariableSchema = Typesafe__namespace.intersection(
|
|
74
|
+
Typesafe__namespace.object({
|
|
75
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.condition)
|
|
76
|
+
}),
|
|
77
|
+
Typesafe__namespace.partial({
|
|
78
|
+
fallback: condition.conditionSchema()
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
const variablesSchema = Typesafe__namespace.record(
|
|
82
|
+
Typesafe__namespace.string,
|
|
83
|
+
Typesafe__namespace.union(
|
|
84
|
+
entityVariableSchema,
|
|
85
|
+
predefinedVariableSchema,
|
|
86
|
+
conditionVariableSchema
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
const fieldPermissionsSchema = Typesafe__namespace.record(
|
|
90
|
+
Typesafe__namespace.string,
|
|
91
|
+
Typesafe__namespace.union(Typesafe__namespace.string, Typesafe__namespace.boolean)
|
|
92
|
+
);
|
|
93
|
+
const predicatesSchema = Typesafe__namespace.record(
|
|
94
|
+
Typesafe__namespace.string,
|
|
95
|
+
(v, p) => Typesafe__namespace.anyJsonObject(v, p)
|
|
96
|
+
);
|
|
97
|
+
const entityOperationsSchema = Typesafe__namespace.partial({
|
|
98
|
+
read: fieldPermissionsSchema,
|
|
99
|
+
create: fieldPermissionsSchema,
|
|
100
|
+
update: fieldPermissionsSchema,
|
|
101
|
+
delete: Typesafe__namespace.union(Typesafe__namespace.string, Typesafe__namespace.boolean),
|
|
102
|
+
customPrimary: Typesafe__namespace.boolean,
|
|
103
|
+
refreshMaterializedView: Typesafe__namespace.boolean,
|
|
104
|
+
noRoot: Typesafe__namespace.array(Typesafe__namespace.enumeration("create", "read", "update", "delete"))
|
|
105
|
+
});
|
|
106
|
+
const entitiesSchema = Typesafe__namespace.record(
|
|
107
|
+
Typesafe__namespace.string,
|
|
108
|
+
Typesafe__namespace.object({
|
|
109
|
+
predicates: predicatesSchema,
|
|
110
|
+
operations: entityOperationsSchema
|
|
111
|
+
})
|
|
112
|
+
);
|
|
113
|
+
const baseRolePermissionsSchema = Typesafe__namespace.intersection(
|
|
114
|
+
Typesafe__namespace.object({
|
|
115
|
+
variables: variablesSchema,
|
|
116
|
+
entities: entitiesSchema
|
|
117
|
+
}),
|
|
118
|
+
Typesafe__namespace.partial({
|
|
119
|
+
inherits: Typesafe__namespace.array(Typesafe__namespace.string),
|
|
120
|
+
implicit: Typesafe__namespace.boolean,
|
|
121
|
+
stages: Typesafe__namespace.union(
|
|
122
|
+
Typesafe__namespace.literal("*"),
|
|
123
|
+
Typesafe__namespace.array(Typesafe__namespace.string)
|
|
124
|
+
),
|
|
125
|
+
tenant: tenantPermissionsSchema,
|
|
126
|
+
system: systemPermissionsSchema,
|
|
127
|
+
content: contentPermissionsSchema,
|
|
128
|
+
debug: Typesafe__namespace.boolean
|
|
129
|
+
})
|
|
130
|
+
);
|
|
131
|
+
const aclSchema = Typesafe__namespace.intersection(
|
|
132
|
+
Typesafe__namespace.object({
|
|
133
|
+
roles: Typesafe__namespace.record(
|
|
134
|
+
Typesafe__namespace.string,
|
|
135
|
+
(v, p) => {
|
|
136
|
+
const main = baseRolePermissionsSchema(v, p);
|
|
137
|
+
return {
|
|
138
|
+
...v,
|
|
139
|
+
...main
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
)
|
|
143
|
+
}),
|
|
144
|
+
Typesafe__namespace.partial({
|
|
145
|
+
customPrimary: Typesafe__namespace.boolean
|
|
146
|
+
})
|
|
147
|
+
);
|
|
148
|
+
exports.aclSchema = aclSchema;
|
|
149
|
+
//# sourceMappingURL=acl.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema-utils/src/type-schema/acl.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport * as Typesafe from '@contember/typesafe'\nimport { conditionSchema } from './condition'\n\nconst membershipMatchRuleSchema = Typesafe.union(\n\tTypesafe.boolean,\n\tTypesafe.record(\n\t\tTypesafe.string,\n\t\tTypesafe.union(\n\t\t\tTypesafe.literal(true),\n\t\t\tTypesafe.partial({\n\t\t\t\tvariables: Typesafe.union(\n\t\t\t\t\tTypesafe.literal(true),\n\t\t\t\t\tTypesafe.record(\n\t\t\t\t\t\tTypesafe.string,\n\t\t\t\t\t\tTypesafe.union(Typesafe.literal(true), Typesafe.string),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t),\n)\n\nconst tenantPermissionsSchema = Typesafe.partial({\n\tinvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),\n\tunmanagedInvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),\n\tmanage: membershipMatchRuleSchema,\n\tview: membershipMatchRuleSchema,\n})\nconst tenantSchemaCheck: Typesafe.Equals<Acl.TenantPermissions, ReturnType<typeof tenantPermissionsSchema>> = true\n\nconst systemPermissionsSchema = Typesafe.partial({\n\thistory: Typesafe.union(Typesafe.boolean, Typesafe.enumeration('any', 'none')),\n\tmigrate: Typesafe.boolean,\n\tassumeIdentity: Typesafe.boolean,\n\texport: Typesafe.boolean,\n\timport: Typesafe.boolean,\n})\nconst systemSchemaCheck: Typesafe.Equals<Acl.SystemPermissions, ReturnType<typeof systemPermissionsSchema>> = true\n\nconst contentPermissionsSchema = Typesafe.partial({\n\tassumeMembership: membershipMatchRuleSchema,\n\texport: Typesafe.boolean,\n\timport: Typesafe.boolean,\n\trefreshMaterializedView: Typesafe.boolean,\n})\nconst contentSchemaCheck: Typesafe.Equals<Acl.ContentPermissions, ReturnType<typeof contentPermissionsSchema>> = true\n\nconst entityVariableSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Acl.VariableType.entity),\n\t\tentityName: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tfallback: conditionSchema(),\n\t}),\n)\nconst entityVariableSchemaCheck: Typesafe.Equals<Acl.EntityVariable, ReturnType<typeof entityVariableSchema>> = true\n\nconst predefinedVariableSchema = Typesafe.object({\n\ttype: Typesafe.literal(Acl.VariableType.predefined),\n\tvalue: Typesafe.enumeration('identityID', 'personID'),\n})\nconst conditionVariableSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Acl.VariableType.condition),\n\t}),\n\tTypesafe.partial({\n\t\tfallback: conditionSchema(),\n\t}),\n)\nconst conditionVariableSchemaCheck: Typesafe.Equals<Acl.ConditionVariable, ReturnType<typeof conditionVariableSchema>> = true\n\nconst variablesSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.union(\n\t\tentityVariableSchema as Typesafe.Type<Acl.EntityVariable>,\n\t\tpredefinedVariableSchema,\n\t\tconditionVariableSchema as Typesafe.Type<Acl.ConditionVariable>,\n\t),\n)\n\nconst variableSchemaCheck: Typesafe.Equals<Acl.Variables, ReturnType<typeof variablesSchema>> = true\n\nconst fieldPermissionsSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.union(Typesafe.string, Typesafe.boolean),\n)\nconst predicatesSchema = Typesafe.record(\n\tTypesafe.string,\n\t(v, p): Acl.PredicateDefinition => Typesafe.anyJsonObject(v, p) as Acl.PredicateDefinition,\n)\n\nconst predicatesSchemaCheck: Typesafe.Equals<Acl.PredicateMap, ReturnType<typeof predicatesSchema>> = true\n\nconst entityOperationsSchema = Typesafe.partial({\n\tread: fieldPermissionsSchema,\n\tcreate: fieldPermissionsSchema,\n\tupdate: fieldPermissionsSchema,\n\tdelete: Typesafe.union(Typesafe.string, Typesafe.boolean),\n\tcustomPrimary: Typesafe.boolean,\n\trefreshMaterializedView: Typesafe.boolean,\n\tnoRoot: Typesafe.array(Typesafe.enumeration('create', 'read', 'update', 'delete')),\n})\n\nconst opSchemaCheck: Typesafe.Equals<Acl.EntityOperations, ReturnType<typeof entityOperationsSchema>> = true\nconst entitiesSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.object({\n\t\tpredicates: predicatesSchema,\n\t\toperations: entityOperationsSchema,\n\t}),\n)\nconst entitiesSchemaCheck: Typesafe.Equals<Acl.Permissions, ReturnType<typeof entitiesSchema>> = true\n\nconst baseRolePermissionsSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tvariables: variablesSchema,\n\t\tentities: entitiesSchema,\n\t}),\n\tTypesafe.partial({\n\t\tinherits: Typesafe.array(Typesafe.string),\n\t\timplicit: Typesafe.boolean,\n\t\tstages: Typesafe.union(\n\t\t\tTypesafe.literal('*'),\n\t\t\tTypesafe.array(Typesafe.string),\n\t\t),\n\t\ttenant: tenantPermissionsSchema,\n\t\tsystem: systemPermissionsSchema,\n\t\tcontent: contentPermissionsSchema,\n\t\tdebug: Typesafe.boolean,\n\t}),\n)\nconst baseRolePermissionsCheck: Typesafe.Equals<Acl.BaseRolePermissions, ReturnType<typeof baseRolePermissionsSchema>> = true\n\nexport const aclSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\troles: Typesafe.record(\n\t\t\tTypesafe.string,\n\t\t\t(v, p): Acl.RolePermissions => {\n\t\t\t\tconst main: Acl.BaseRolePermissions = baseRolePermissionsSchema(v, p)\n\t\t\t\treturn {\n\t\t\t\t\t...(v as any),\n\t\t\t\t\t...main,\n\t\t\t\t}\n\t\t\t},\n\t\t),\n\t}),\n\tTypesafe.partial({\n\t\tcustomPrimary: Typesafe.boolean,\n\t}),\n)\nconst aclSchemaCheck: Typesafe.Equals<Acl.Schema, ReturnType<typeof aclSchema>> = true\n"],"names":["Typesafe","Acl","conditionSchema"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Acl } from "@contember/schema";
|
|
2
|
+
import * as Typesafe from "@contember/typesafe";
|
|
3
|
+
import { conditionSchema } from "./condition.js";
|
|
4
|
+
const membershipMatchRuleSchema = Typesafe.union(
|
|
5
|
+
Typesafe.boolean,
|
|
6
|
+
Typesafe.record(
|
|
7
|
+
Typesafe.string,
|
|
8
|
+
Typesafe.union(
|
|
9
|
+
Typesafe.literal(true),
|
|
10
|
+
Typesafe.partial({
|
|
11
|
+
variables: Typesafe.union(
|
|
12
|
+
Typesafe.literal(true),
|
|
13
|
+
Typesafe.record(
|
|
14
|
+
Typesafe.string,
|
|
15
|
+
Typesafe.union(Typesafe.literal(true), Typesafe.string)
|
|
16
|
+
)
|
|
17
|
+
)
|
|
18
|
+
})
|
|
19
|
+
)
|
|
20
|
+
)
|
|
21
|
+
);
|
|
22
|
+
const tenantPermissionsSchema = Typesafe.partial({
|
|
23
|
+
invite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),
|
|
24
|
+
unmanagedInvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),
|
|
25
|
+
manage: membershipMatchRuleSchema,
|
|
26
|
+
view: membershipMatchRuleSchema
|
|
27
|
+
});
|
|
28
|
+
const systemPermissionsSchema = Typesafe.partial({
|
|
29
|
+
history: Typesafe.union(Typesafe.boolean, Typesafe.enumeration("any", "none")),
|
|
30
|
+
migrate: Typesafe.boolean,
|
|
31
|
+
assumeIdentity: Typesafe.boolean,
|
|
32
|
+
export: Typesafe.boolean,
|
|
33
|
+
import: Typesafe.boolean
|
|
34
|
+
});
|
|
35
|
+
const contentPermissionsSchema = Typesafe.partial({
|
|
36
|
+
assumeMembership: membershipMatchRuleSchema,
|
|
37
|
+
export: Typesafe.boolean,
|
|
38
|
+
import: Typesafe.boolean,
|
|
39
|
+
refreshMaterializedView: Typesafe.boolean
|
|
40
|
+
});
|
|
41
|
+
const entityVariableSchema = Typesafe.intersection(
|
|
42
|
+
Typesafe.object({
|
|
43
|
+
type: Typesafe.literal(Acl.VariableType.entity),
|
|
44
|
+
entityName: Typesafe.string
|
|
45
|
+
}),
|
|
46
|
+
Typesafe.partial({
|
|
47
|
+
fallback: conditionSchema()
|
|
48
|
+
})
|
|
49
|
+
);
|
|
50
|
+
const predefinedVariableSchema = Typesafe.object({
|
|
51
|
+
type: Typesafe.literal(Acl.VariableType.predefined),
|
|
52
|
+
value: Typesafe.enumeration("identityID", "personID")
|
|
53
|
+
});
|
|
54
|
+
const conditionVariableSchema = Typesafe.intersection(
|
|
55
|
+
Typesafe.object({
|
|
56
|
+
type: Typesafe.literal(Acl.VariableType.condition)
|
|
57
|
+
}),
|
|
58
|
+
Typesafe.partial({
|
|
59
|
+
fallback: conditionSchema()
|
|
60
|
+
})
|
|
61
|
+
);
|
|
62
|
+
const variablesSchema = Typesafe.record(
|
|
63
|
+
Typesafe.string,
|
|
64
|
+
Typesafe.union(
|
|
65
|
+
entityVariableSchema,
|
|
66
|
+
predefinedVariableSchema,
|
|
67
|
+
conditionVariableSchema
|
|
68
|
+
)
|
|
69
|
+
);
|
|
70
|
+
const fieldPermissionsSchema = Typesafe.record(
|
|
71
|
+
Typesafe.string,
|
|
72
|
+
Typesafe.union(Typesafe.string, Typesafe.boolean)
|
|
73
|
+
);
|
|
74
|
+
const predicatesSchema = Typesafe.record(
|
|
75
|
+
Typesafe.string,
|
|
76
|
+
(v, p) => Typesafe.anyJsonObject(v, p)
|
|
77
|
+
);
|
|
78
|
+
const entityOperationsSchema = Typesafe.partial({
|
|
79
|
+
read: fieldPermissionsSchema,
|
|
80
|
+
create: fieldPermissionsSchema,
|
|
81
|
+
update: fieldPermissionsSchema,
|
|
82
|
+
delete: Typesafe.union(Typesafe.string, Typesafe.boolean),
|
|
83
|
+
customPrimary: Typesafe.boolean,
|
|
84
|
+
refreshMaterializedView: Typesafe.boolean,
|
|
85
|
+
noRoot: Typesafe.array(Typesafe.enumeration("create", "read", "update", "delete"))
|
|
86
|
+
});
|
|
87
|
+
const entitiesSchema = Typesafe.record(
|
|
88
|
+
Typesafe.string,
|
|
89
|
+
Typesafe.object({
|
|
90
|
+
predicates: predicatesSchema,
|
|
91
|
+
operations: entityOperationsSchema
|
|
92
|
+
})
|
|
93
|
+
);
|
|
94
|
+
const baseRolePermissionsSchema = Typesafe.intersection(
|
|
95
|
+
Typesafe.object({
|
|
96
|
+
variables: variablesSchema,
|
|
97
|
+
entities: entitiesSchema
|
|
98
|
+
}),
|
|
99
|
+
Typesafe.partial({
|
|
100
|
+
inherits: Typesafe.array(Typesafe.string),
|
|
101
|
+
implicit: Typesafe.boolean,
|
|
102
|
+
stages: Typesafe.union(
|
|
103
|
+
Typesafe.literal("*"),
|
|
104
|
+
Typesafe.array(Typesafe.string)
|
|
105
|
+
),
|
|
106
|
+
tenant: tenantPermissionsSchema,
|
|
107
|
+
system: systemPermissionsSchema,
|
|
108
|
+
content: contentPermissionsSchema,
|
|
109
|
+
debug: Typesafe.boolean
|
|
110
|
+
})
|
|
111
|
+
);
|
|
112
|
+
const aclSchema = Typesafe.intersection(
|
|
113
|
+
Typesafe.object({
|
|
114
|
+
roles: Typesafe.record(
|
|
115
|
+
Typesafe.string,
|
|
116
|
+
(v, p) => {
|
|
117
|
+
const main = baseRolePermissionsSchema(v, p);
|
|
118
|
+
return {
|
|
119
|
+
...v,
|
|
120
|
+
...main
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
}),
|
|
125
|
+
Typesafe.partial({
|
|
126
|
+
customPrimary: Typesafe.boolean
|
|
127
|
+
})
|
|
128
|
+
);
|
|
129
|
+
export {
|
|
130
|
+
aclSchema
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=acl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acl.js","sources":["../../../../../packages/schema-utils/src/type-schema/acl.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport * as Typesafe from '@contember/typesafe'\nimport { conditionSchema } from './condition'\n\nconst membershipMatchRuleSchema = Typesafe.union(\n\tTypesafe.boolean,\n\tTypesafe.record(\n\t\tTypesafe.string,\n\t\tTypesafe.union(\n\t\t\tTypesafe.literal(true),\n\t\t\tTypesafe.partial({\n\t\t\t\tvariables: Typesafe.union(\n\t\t\t\t\tTypesafe.literal(true),\n\t\t\t\t\tTypesafe.record(\n\t\t\t\t\t\tTypesafe.string,\n\t\t\t\t\t\tTypesafe.union(Typesafe.literal(true), Typesafe.string),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t}),\n\t\t),\n\t),\n)\n\nconst tenantPermissionsSchema = Typesafe.partial({\n\tinvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),\n\tunmanagedInvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),\n\tmanage: membershipMatchRuleSchema,\n\tview: membershipMatchRuleSchema,\n})\nconst tenantSchemaCheck: Typesafe.Equals<Acl.TenantPermissions, ReturnType<typeof tenantPermissionsSchema>> = true\n\nconst systemPermissionsSchema = Typesafe.partial({\n\thistory: Typesafe.union(Typesafe.boolean, Typesafe.enumeration('any', 'none')),\n\tmigrate: Typesafe.boolean,\n\tassumeIdentity: Typesafe.boolean,\n\texport: Typesafe.boolean,\n\timport: Typesafe.boolean,\n})\nconst systemSchemaCheck: Typesafe.Equals<Acl.SystemPermissions, ReturnType<typeof systemPermissionsSchema>> = true\n\nconst contentPermissionsSchema = Typesafe.partial({\n\tassumeMembership: membershipMatchRuleSchema,\n\texport: Typesafe.boolean,\n\timport: Typesafe.boolean,\n\trefreshMaterializedView: Typesafe.boolean,\n})\nconst contentSchemaCheck: Typesafe.Equals<Acl.ContentPermissions, ReturnType<typeof contentPermissionsSchema>> = true\n\nconst entityVariableSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Acl.VariableType.entity),\n\t\tentityName: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tfallback: conditionSchema(),\n\t}),\n)\nconst entityVariableSchemaCheck: Typesafe.Equals<Acl.EntityVariable, ReturnType<typeof entityVariableSchema>> = true\n\nconst predefinedVariableSchema = Typesafe.object({\n\ttype: Typesafe.literal(Acl.VariableType.predefined),\n\tvalue: Typesafe.enumeration('identityID', 'personID'),\n})\nconst conditionVariableSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal(Acl.VariableType.condition),\n\t}),\n\tTypesafe.partial({\n\t\tfallback: conditionSchema(),\n\t}),\n)\nconst conditionVariableSchemaCheck: Typesafe.Equals<Acl.ConditionVariable, ReturnType<typeof conditionVariableSchema>> = true\n\nconst variablesSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.union(\n\t\tentityVariableSchema as Typesafe.Type<Acl.EntityVariable>,\n\t\tpredefinedVariableSchema,\n\t\tconditionVariableSchema as Typesafe.Type<Acl.ConditionVariable>,\n\t),\n)\n\nconst variableSchemaCheck: Typesafe.Equals<Acl.Variables, ReturnType<typeof variablesSchema>> = true\n\nconst fieldPermissionsSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.union(Typesafe.string, Typesafe.boolean),\n)\nconst predicatesSchema = Typesafe.record(\n\tTypesafe.string,\n\t(v, p): Acl.PredicateDefinition => Typesafe.anyJsonObject(v, p) as Acl.PredicateDefinition,\n)\n\nconst predicatesSchemaCheck: Typesafe.Equals<Acl.PredicateMap, ReturnType<typeof predicatesSchema>> = true\n\nconst entityOperationsSchema = Typesafe.partial({\n\tread: fieldPermissionsSchema,\n\tcreate: fieldPermissionsSchema,\n\tupdate: fieldPermissionsSchema,\n\tdelete: Typesafe.union(Typesafe.string, Typesafe.boolean),\n\tcustomPrimary: Typesafe.boolean,\n\trefreshMaterializedView: Typesafe.boolean,\n\tnoRoot: Typesafe.array(Typesafe.enumeration('create', 'read', 'update', 'delete')),\n})\n\nconst opSchemaCheck: Typesafe.Equals<Acl.EntityOperations, ReturnType<typeof entityOperationsSchema>> = true\nconst entitiesSchema = Typesafe.record(\n\tTypesafe.string,\n\tTypesafe.object({\n\t\tpredicates: predicatesSchema,\n\t\toperations: entityOperationsSchema,\n\t}),\n)\nconst entitiesSchemaCheck: Typesafe.Equals<Acl.Permissions, ReturnType<typeof entitiesSchema>> = true\n\nconst baseRolePermissionsSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\tvariables: variablesSchema,\n\t\tentities: entitiesSchema,\n\t}),\n\tTypesafe.partial({\n\t\tinherits: Typesafe.array(Typesafe.string),\n\t\timplicit: Typesafe.boolean,\n\t\tstages: Typesafe.union(\n\t\t\tTypesafe.literal('*'),\n\t\t\tTypesafe.array(Typesafe.string),\n\t\t),\n\t\ttenant: tenantPermissionsSchema,\n\t\tsystem: systemPermissionsSchema,\n\t\tcontent: contentPermissionsSchema,\n\t\tdebug: Typesafe.boolean,\n\t}),\n)\nconst baseRolePermissionsCheck: Typesafe.Equals<Acl.BaseRolePermissions, ReturnType<typeof baseRolePermissionsSchema>> = true\n\nexport const aclSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\troles: Typesafe.record(\n\t\t\tTypesafe.string,\n\t\t\t(v, p): Acl.RolePermissions => {\n\t\t\t\tconst main: Acl.BaseRolePermissions = baseRolePermissionsSchema(v, p)\n\t\t\t\treturn {\n\t\t\t\t\t...(v as any),\n\t\t\t\t\t...main,\n\t\t\t\t}\n\t\t\t},\n\t\t),\n\t}),\n\tTypesafe.partial({\n\t\tcustomPrimary: Typesafe.boolean,\n\t}),\n)\nconst aclSchemaCheck: Typesafe.Equals<Acl.Schema, ReturnType<typeof aclSchema>> = true\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Typesafe = require("@contember/typesafe");
|
|
4
|
+
function _interopNamespaceDefault(e) {
|
|
5
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
6
|
+
if (e) {
|
|
7
|
+
for (const k in e) {
|
|
8
|
+
if (k !== "default") {
|
|
9
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: () => e[k]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
n.default = e;
|
|
18
|
+
return Object.freeze(n);
|
|
19
|
+
}
|
|
20
|
+
const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
|
|
21
|
+
const selectionNodeSchemaFactory = () => {
|
|
22
|
+
return (input, path = []) => {
|
|
23
|
+
return Typesafe__namespace.array(Typesafe__namespace.union(
|
|
24
|
+
Typesafe__namespace.string,
|
|
25
|
+
Typesafe__namespace.tuple(
|
|
26
|
+
Typesafe__namespace.string,
|
|
27
|
+
Typesafe__namespace.anyJsonObject,
|
|
28
|
+
selectionNodeSchemaFactory()
|
|
29
|
+
)
|
|
30
|
+
))(input, path);
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
const webhookTargetSchema = Typesafe__namespace.intersection(
|
|
34
|
+
Typesafe__namespace.object({
|
|
35
|
+
type: Typesafe__namespace.literal("webhook"),
|
|
36
|
+
name: Typesafe__namespace.string,
|
|
37
|
+
url: Typesafe__namespace.string
|
|
38
|
+
}),
|
|
39
|
+
Typesafe__namespace.partial({
|
|
40
|
+
headers: Typesafe__namespace.record(Typesafe__namespace.string, Typesafe__namespace.string),
|
|
41
|
+
timeoutMs: Typesafe__namespace.integer,
|
|
42
|
+
maxAttempts: Typesafe__namespace.integer,
|
|
43
|
+
initialRepeatIntervalMs: Typesafe__namespace.integer,
|
|
44
|
+
batchSize: Typesafe__namespace.integer,
|
|
45
|
+
body: Typesafe__namespace.anyJsonObject,
|
|
46
|
+
payloadPath: Typesafe__namespace.array(Typesafe__namespace.string)
|
|
47
|
+
})
|
|
48
|
+
);
|
|
49
|
+
const anyTargetSchema = Typesafe__namespace.union(webhookTargetSchema);
|
|
50
|
+
const watchTriggerSchema = Typesafe__namespace.intersection(
|
|
51
|
+
Typesafe__namespace.object({
|
|
52
|
+
type: Typesafe__namespace.literal("watch"),
|
|
53
|
+
name: Typesafe__namespace.string,
|
|
54
|
+
entity: Typesafe__namespace.string,
|
|
55
|
+
watch: selectionNodeSchemaFactory(),
|
|
56
|
+
target: Typesafe__namespace.string
|
|
57
|
+
}),
|
|
58
|
+
Typesafe__namespace.partial({
|
|
59
|
+
selection: selectionNodeSchemaFactory(),
|
|
60
|
+
priority: Typesafe__namespace.integer,
|
|
61
|
+
withNodes: Typesafe__namespace.boolean
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
const basicTriggerSchema = Typesafe__namespace.intersection(
|
|
65
|
+
Typesafe__namespace.object({
|
|
66
|
+
type: Typesafe__namespace.literal("basic"),
|
|
67
|
+
name: Typesafe__namespace.string,
|
|
68
|
+
entity: Typesafe__namespace.string,
|
|
69
|
+
create: Typesafe__namespace.boolean,
|
|
70
|
+
delete: Typesafe__namespace.boolean,
|
|
71
|
+
update: Typesafe__namespace.union(Typesafe__namespace.boolean, Typesafe__namespace.array(Typesafe__namespace.string)),
|
|
72
|
+
target: Typesafe__namespace.string
|
|
73
|
+
}),
|
|
74
|
+
Typesafe__namespace.partial({
|
|
75
|
+
selection: selectionNodeSchemaFactory(),
|
|
76
|
+
priority: Typesafe__namespace.integer
|
|
77
|
+
})
|
|
78
|
+
);
|
|
79
|
+
const anyTriggerSchema = Typesafe__namespace.union(
|
|
80
|
+
watchTriggerSchema,
|
|
81
|
+
basicTriggerSchema
|
|
82
|
+
);
|
|
83
|
+
const actionsSchema = Typesafe__namespace.object({
|
|
84
|
+
triggers: Typesafe__namespace.record(Typesafe__namespace.string, anyTriggerSchema),
|
|
85
|
+
targets: Typesafe__namespace.record(Typesafe__namespace.string, anyTargetSchema)
|
|
86
|
+
});
|
|
87
|
+
exports.actionsSchema = actionsSchema;
|
|
88
|
+
//# sourceMappingURL=actions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.cjs","sources":["../../../../../packages/schema-utils/src/type-schema/actions.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Actions } from '@contember/schema'\n\nconst selectionNodeSchemaFactory = (): Typesafe.Type<Actions.SelectionNode> => {\n\treturn (input: unknown, path: PropertyKey[] = []): Actions.SelectionNode => {\n\t\treturn Typesafe.array(Typesafe.union(\n\t\t\tTypesafe.string,\n\t\t\tTypesafe.tuple(\n\t\t\t\tTypesafe.string,\n\t\t\t\tTypesafe.anyJsonObject,\n\t\t\t\tselectionNodeSchemaFactory(),\n\t\t\t),\n\t\t))(input, path)\n\t}\n}\n\nconst webhookTargetSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal('webhook'),\n\t\tname: Typesafe.string,\n\t\turl: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\theaders: Typesafe.record(Typesafe.string, Typesafe.string),\n\t\ttimeoutMs: Typesafe.integer,\n\t\tmaxAttempts: Typesafe.integer,\n\t\tinitialRepeatIntervalMs: Typesafe.integer,\n\t\tbatchSize: Typesafe.integer,\n\t\tbody: Typesafe.anyJsonObject,\n\t\tpayloadPath: Typesafe.array(Typesafe.string),\n\t}),\n)\nconst webhookTargetSchemaCheck: Typesafe.Equals<Actions.WebhookTarget, ReturnType<typeof webhookTargetSchema>> = true\n\nconst anyTargetSchema: Typesafe.Type<Actions.AnyTarget> = Typesafe.union(webhookTargetSchema)\n\nconst watchTriggerSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal('watch'),\n\t\tname: Typesafe.string,\n\t\tentity: Typesafe.string,\n\t\twatch: selectionNodeSchemaFactory(),\n\t\ttarget: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tselection: selectionNodeSchemaFactory(),\n\t\tpriority: Typesafe.integer,\n\t\twithNodes: Typesafe.boolean,\n\t}),\n)\n\nconst watchTriggerSchemaCheck: Typesafe.Equals<Actions.WatchTrigger, ReturnType<typeof watchTriggerSchema>> = true\n\nconst basicTriggerSchema = Typesafe.intersection(\n\tTypesafe.object({\n\t\ttype: Typesafe.literal('basic'),\n\t\tname: Typesafe.string,\n\t\tentity: Typesafe.string,\n\t\tcreate: Typesafe.boolean,\n\t\tdelete: Typesafe.boolean,\n\t\tupdate: Typesafe.union(Typesafe.boolean, Typesafe.array(Typesafe.string)),\n\t\ttarget: Typesafe.string,\n\t}),\n\tTypesafe.partial({\n\t\tselection: selectionNodeSchemaFactory(),\n\t\tpriority: Typesafe.integer,\n\t}),\n)\n\nconst basicTriggerSchemaCheck: Typesafe.Equals<Actions.BasicTrigger, ReturnType<typeof basicTriggerSchema>> = true\n\nconst anyTriggerSchema = Typesafe.union(\n\twatchTriggerSchema,\n\tbasicTriggerSchema,\n)\n\nexport const actionsSchema = Typesafe.object({\n\ttriggers: Typesafe.record(Typesafe.string, anyTriggerSchema),\n\ttargets: Typesafe.record(Typesafe.string, anyTargetSchema),\n})\n"],"names":["Typesafe"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,MAAM,6BAA6B,MAA4C;AAC9E,SAAO,CAAC,OAAgB,OAAsB,OAA8B;AAC3E,WAAOA,oBAAS,MAAMA,oBAAS;AAAA,MAC9BA,oBAAS;AAAA,MACTA,oBAAS;AAAA,QACRA,oBAAS;AAAA,QACTA,oBAAS;AAAA,QACT,2BAAA;AAAA,MAA2B;AAAA,IAC5B,CACA,EAAE,OAAO,IAAI;AAAA,EACf;AACD;AAEA,MAAM,sBAAsBA,oBAAS;AAAA,EACpCA,oBAAS,OAAO;AAAA,IACf,MAAMA,oBAAS,QAAQ,SAAS;AAAA,IAChC,MAAMA,oBAAS;AAAA,IACf,KAAKA,oBAAS;AAAA,EAAA,CACd;AAAA,EACDA,oBAAS,QAAQ;AAAA,IAChB,SAASA,oBAAS,OAAOA,oBAAS,QAAQA,oBAAS,MAAM;AAAA,IACzD,WAAWA,oBAAS;AAAA,IACpB,aAAaA,oBAAS;AAAA,IACtB,yBAAyBA,oBAAS;AAAA,IAClC,WAAWA,oBAAS;AAAA,IACpB,MAAMA,oBAAS;AAAA,IACf,aAAaA,oBAAS,MAAMA,oBAAS,MAAM;AAAA,EAAA,CAC3C;AACF;AAGA,MAAM,kBAAoDA,oBAAS,MAAM,mBAAmB;AAE5F,MAAM,qBAAqBA,oBAAS;AAAA,EACnCA,oBAAS,OAAO;AAAA,IACf,MAAMA,oBAAS,QAAQ,OAAO;AAAA,IAC9B,MAAMA,oBAAS;AAAA,IACf,QAAQA,oBAAS;AAAA,IACjB,OAAO,2BAAA;AAAA,IACP,QAAQA,oBAAS;AAAA,EAAA,CACjB;AAAA,EACDA,oBAAS,QAAQ;AAAA,IAChB,WAAW,2BAAA;AAAA,IACX,UAAUA,oBAAS;AAAA,IACnB,WAAWA,oBAAS;AAAA,EAAA,CACpB;AACF;AAIA,MAAM,qBAAqBA,oBAAS;AAAA,EACnCA,oBAAS,OAAO;AAAA,IACf,MAAMA,oBAAS,QAAQ,OAAO;AAAA,IAC9B,MAAMA,oBAAS;AAAA,IACf,QAAQA,oBAAS;AAAA,IACjB,QAAQA,oBAAS;AAAA,IACjB,QAAQA,oBAAS;AAAA,IACjB,QAAQA,oBAAS,MAAMA,oBAAS,SAASA,oBAAS,MAAMA,oBAAS,MAAM,CAAC;AAAA,IACxE,QAAQA,oBAAS;AAAA,EAAA,CACjB;AAAA,EACDA,oBAAS,QAAQ;AAAA,IAChB,WAAW,2BAAA;AAAA,IACX,UAAUA,oBAAS;AAAA,EAAA,CACnB;AACF;AAIA,MAAM,mBAAmBA,oBAAS;AAAA,EACjC;AAAA,EACA;AACD;AAEO,MAAM,gBAAgBA,oBAAS,OAAO;AAAA,EAC5C,UAAUA,oBAAS,OAAOA,oBAAS,QAAQ,gBAAgB;AAAA,EAC3D,SAASA,oBAAS,OAAOA,oBAAS,QAAQ,eAAe;AAC1D,CAAC;;"}
|