@contember/schema-utils 1.4.0-rc.8 → 2.0.0-alpha.10
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 +109 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +93 -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 +71 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.cjs.map +1 -0
- package/dist/development/src/acl/PredicateDefinitionProcessor.js +71 -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 +221 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.cjs.map +1 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.js +221 -0
- package/dist/development/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs +19 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.cjs.map +1 -0
- package/dist/development/src/definition-generator/DefinitionNamingConventions.js +19 -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 +231 -0
- package/dist/development/src/model/modelUtils.cjs.map +1 -0
- package/dist/development/src/model/modelUtils.js +231 -0
- package/dist/development/src/model/modelUtils.js.map +1 -0
- package/dist/development/src/model/resolveDefaultColumnType.cjs +28 -0
- package/dist/development/src/model/resolveDefaultColumnType.cjs.map +1 -0
- package/dist/development/src/model/resolveDefaultColumnType.js +28 -0
- package/dist/development/src/model/resolveDefaultColumnType.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 +70 -0
- package/dist/development/src/schemaNormalizer.cjs.map +1 -0
- package/dist/development/src/schemaNormalizer.js +70 -0
- package/dist/development/src/schemaNormalizer.js.map +1 -0
- package/dist/development/src/type-schema/acl.cjs +143 -0
- package/dist/development/src/type-schema/acl.cjs.map +1 -0
- package/dist/development/src/type-schema/acl.js +126 -0
- package/dist/development/src/type-schema/acl.js.map +1 -0
- package/dist/development/src/type-schema/actions.cjs +87 -0
- package/dist/development/src/type-schema/actions.cjs.map +1 -0
- package/dist/development/src/type-schema/actions.js +70 -0
- package/dist/development/src/type-schema/actions.js.map +1 -0
- package/dist/development/src/type-schema/condition.cjs +87 -0
- package/dist/development/src/type-schema/condition.cjs.map +1 -0
- package/dist/development/src/type-schema/condition.js +70 -0
- package/dist/development/src/type-schema/condition.js.map +1 -0
- package/dist/development/src/type-schema/model.cjs +195 -0
- package/dist/development/src/type-schema/model.cjs.map +1 -0
- package/dist/development/src/type-schema/model.js +178 -0
- package/dist/development/src/type-schema/model.js.map +1 -0
- package/dist/development/src/type-schema/settings.cjs +32 -0
- package/dist/development/src/type-schema/settings.cjs.map +1 -0
- package/dist/development/src/type-schema/settings.js +15 -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 +44 -0
- package/dist/development/src/type-schema/where.cjs.map +1 -0
- package/dist/development/src/type-schema/where.js +27 -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 +126 -0
- package/dist/development/src/validation/MembershipResolver.cjs.map +1 -0
- package/dist/development/src/validation/MembershipResolver.js +126 -0
- package/dist/development/src/validation/MembershipResolver.js.map +1 -0
- package/dist/development/src/validation/ModelValidator.cjs +310 -0
- package/dist/development/src/validation/ModelValidator.cjs.map +1 -0
- package/dist/development/src/validation/ModelValidator.js +310 -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 +109 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +93 -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 +71 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.cjs.map +1 -0
- package/dist/production/src/acl/PredicateDefinitionProcessor.js +71 -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 +221 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.cjs.map +1 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.js +221 -0
- package/dist/production/src/definition-generator/DefinitionCodeGenerator.js.map +1 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs +19 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.cjs.map +1 -0
- package/dist/production/src/definition-generator/DefinitionNamingConventions.js +19 -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 +231 -0
- package/dist/production/src/model/modelUtils.cjs.map +1 -0
- package/dist/production/src/model/modelUtils.js +231 -0
- package/dist/production/src/model/modelUtils.js.map +1 -0
- package/dist/production/src/model/resolveDefaultColumnType.cjs +28 -0
- package/dist/production/src/model/resolveDefaultColumnType.cjs.map +1 -0
- package/dist/production/src/model/resolveDefaultColumnType.js +28 -0
- package/dist/production/src/model/resolveDefaultColumnType.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 +70 -0
- package/dist/production/src/schemaNormalizer.cjs.map +1 -0
- package/dist/production/src/schemaNormalizer.js +70 -0
- package/dist/production/src/schemaNormalizer.js.map +1 -0
- package/dist/production/src/type-schema/acl.cjs +143 -0
- package/dist/production/src/type-schema/acl.cjs.map +1 -0
- package/dist/production/src/type-schema/acl.js +126 -0
- package/dist/production/src/type-schema/acl.js.map +1 -0
- package/dist/production/src/type-schema/actions.cjs +87 -0
- package/dist/production/src/type-schema/actions.cjs.map +1 -0
- package/dist/production/src/type-schema/actions.js +70 -0
- package/dist/production/src/type-schema/actions.js.map +1 -0
- package/dist/production/src/type-schema/condition.cjs +87 -0
- package/dist/production/src/type-schema/condition.cjs.map +1 -0
- package/dist/production/src/type-schema/condition.js +70 -0
- package/dist/production/src/type-schema/condition.js.map +1 -0
- package/dist/production/src/type-schema/model.cjs +195 -0
- package/dist/production/src/type-schema/model.cjs.map +1 -0
- package/dist/production/src/type-schema/model.js +178 -0
- package/dist/production/src/type-schema/model.js.map +1 -0
- package/dist/production/src/type-schema/settings.cjs +32 -0
- package/dist/production/src/type-schema/settings.cjs.map +1 -0
- package/dist/production/src/type-schema/settings.js +15 -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 +44 -0
- package/dist/production/src/type-schema/where.cjs.map +1 -0
- package/dist/production/src/type-schema/where.js +27 -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 +126 -0
- package/dist/production/src/validation/MembershipResolver.cjs.map +1 -0
- package/dist/production/src/validation/MembershipResolver.js +126 -0
- package/dist/production/src/validation/MembershipResolver.js.map +1 -0
- package/dist/production/src/validation/ModelValidator.cjs +310 -0
- package/dist/production/src/validation/ModelValidator.cjs.map +1 -0
- package/dist/production/src/validation/ModelValidator.js +310 -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/schemas/acl.d.ts +7 -7
- package/dist/tests/cases/unit/schemas/acl.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/basic.d.ts +1 -1
- package/dist/tests/cases/unit/schemas/basic.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/enum.d.ts +3 -3
- package/dist/tests/cases/unit/schemas/enum.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/relations.d.ts +7 -7
- package/dist/tests/cases/unit/schemas/relations.d.ts.map +1 -1
- package/dist/tests/cases/unit/schemas/unique.d.ts +1 -1
- package/dist/tests/cases/unit/schemas/unique.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/{src → types}/acl/schemaUtils.d.ts.map +1 -1
- package/dist/{src → types}/dataUtils.d.ts +1 -1
- package/dist/types/dataUtils.d.ts.map +1 -0
- package/dist/{src → types}/lax/schema.d.ts +21 -21
- package/dist/{src → types}/model/modelUtils.d.ts +1 -1
- package/dist/types/model/modelUtils.d.ts.map +1 -0
- package/dist/{src → types}/model/resolveDefaultColumnType.d.ts.map +1 -1
- package/dist/{src → types}/schemaFilter.d.ts.map +1 -1
- package/dist/{src → types}/schemaNormalizer.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/{src → types}/type-schema/condition.d.ts +1 -2
- package/dist/types/type-schema/condition.d.ts.map +1 -0
- package/dist/types/type-schema/settings.d.ts +46 -0
- package/dist/types/type-schema/settings.d.ts.map +1 -0
- package/dist/{src → types}/type-schema/where.d.ts.map +1 -1
- package/dist/{src → types}/utils/deepCompare.d.ts.map +1 -1
- package/dist/types/utils/isIt.d.ts +2 -0
- package/dist/{src → types}/utils/isIt.d.ts.map +1 -1
- package/dist/{src → types}/utils/printJsValue.d.ts.map +1 -1
- package/dist/{src → types}/validation/MembershipResolver.d.ts.map +1 -1
- package/package.json +24 -12
- package/src/tsconfig.json +1 -1
- package/tests/cases/unit/tsDefinitionGenerator.test.ts +4 -3
- package/tests/tsconfig.json +2 -1
- package/vitest.config.ts +3 -0
- package/dist/src/acl/AllowAllPermissionFactory.js +0 -42
- package/dist/src/acl/AllowAllPermissionFactory.js.map +0 -1
- package/dist/src/acl/PredicateDefinitionProcessor.js +0 -75
- package/dist/src/acl/PredicateDefinitionProcessor.js.map +0 -1
- package/dist/src/acl/index.js +0 -20
- package/dist/src/acl/index.js.map +0 -1
- package/dist/src/acl/schemaUtils.js +0 -9
- package/dist/src/acl/schemaUtils.js.map +0 -1
- package/dist/src/dataUtils.d.ts.map +0 -1
- package/dist/src/dataUtils.js +0 -58
- package/dist/src/dataUtils.js.map +0 -1
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.js +0 -116
- package/dist/src/definition-generator/AclDefinitionCodeGenerator.js.map +0 -1
- package/dist/src/definition-generator/DefinitionCodeGenerator.js +0 -216
- package/dist/src/definition-generator/DefinitionCodeGenerator.js.map +0 -1
- package/dist/src/definition-generator/DefinitionNamingConventions.js +0 -18
- package/dist/src/definition-generator/DefinitionNamingConventions.js.map +0 -1
- package/dist/src/definition-generator/TsDefinitionGenerator.js +0 -20
- package/dist/src/definition-generator/TsDefinitionGenerator.js.map +0 -1
- package/dist/src/definition-generator/index.js +0 -21
- package/dist/src/definition-generator/index.js.map +0 -1
- package/dist/src/index.js +0 -59
- package/dist/src/index.js.map +0 -1
- package/dist/src/lax/LaxSchemaConverter.js +0 -203
- package/dist/src/lax/LaxSchemaConverter.js.map +0 -1
- package/dist/src/lax/index.js +0 -21
- package/dist/src/lax/index.js.map +0 -1
- package/dist/src/lax/schema.js +0 -67
- package/dist/src/lax/schema.js.map +0 -1
- package/dist/src/model/NamingConventions.js +0 -29
- package/dist/src/model/NamingConventions.js.map +0 -1
- package/dist/src/model/index.js +0 -20
- package/dist/src/model/index.js.map +0 -1
- package/dist/src/model/modelUtils.d.ts.map +0 -1
- package/dist/src/model/modelUtils.js +0 -219
- package/dist/src/model/modelUtils.js.map +0 -1
- package/dist/src/model/resolveDefaultColumnType.js +0 -29
- package/dist/src/model/resolveDefaultColumnType.js.map +0 -1
- package/dist/src/schemaFilter.js +0 -29
- package/dist/src/schemaFilter.js.map +0 -1
- package/dist/src/schemaNormalizer.js +0 -72
- package/dist/src/schemaNormalizer.js.map +0 -1
- package/dist/src/tsconfig.tsbuildinfo +0 -1
- package/dist/src/type-schema/acl.js +0 -114
- package/dist/src/type-schema/acl.js.map +0 -1
- package/dist/src/type-schema/actions.js +0 -77
- package/dist/src/type-schema/actions.js.map +0 -1
- package/dist/src/type-schema/condition.d.ts.map +0 -1
- package/dist/src/type-schema/condition.js +0 -95
- package/dist/src/type-schema/condition.js.map +0 -1
- package/dist/src/type-schema/index.js +0 -22
- package/dist/src/type-schema/index.js.map +0 -1
- package/dist/src/type-schema/model.js +0 -156
- package/dist/src/type-schema/model.js.map +0 -1
- package/dist/src/type-schema/settings.d.ts +0 -35
- package/dist/src/type-schema/settings.d.ts.map +0 -1
- package/dist/src/type-schema/settings.js +0 -39
- package/dist/src/type-schema/settings.js.map +0 -1
- package/dist/src/type-schema/validation.js +0 -95
- package/dist/src/type-schema/validation.js.map +0 -1
- package/dist/src/type-schema/where.js +0 -50
- package/dist/src/type-schema/where.js.map +0 -1
- package/dist/src/utils/assertNever.js +0 -8
- package/dist/src/utils/assertNever.js.map +0 -1
- package/dist/src/utils/deepCompare.js +0 -136
- package/dist/src/utils/deepCompare.js.map +0 -1
- package/dist/src/utils/index.js +0 -20
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/isIt.d.ts +0 -2
- package/dist/src/utils/isIt.js +0 -11
- package/dist/src/utils/isIt.js.map +0 -1
- package/dist/src/utils/printJsValue.js +0 -57
- package/dist/src/utils/printJsValue.js.map +0 -1
- package/dist/src/validation/AclValidator.js +0 -147
- package/dist/src/validation/AclValidator.js.map +0 -1
- package/dist/src/validation/ActionsValidator.js +0 -134
- package/dist/src/validation/ActionsValidator.js.map +0 -1
- package/dist/src/validation/MembershipResolver.js +0 -113
- package/dist/src/validation/MembershipResolver.js.map +0 -1
- package/dist/src/validation/ModelValidator.js +0 -306
- package/dist/src/validation/ModelValidator.js.map +0 -1
- package/dist/src/validation/SchemaValidator.js +0 -27
- package/dist/src/validation/SchemaValidator.js.map +0 -1
- package/dist/src/validation/ValidationValidator.js +0 -109
- package/dist/src/validation/ValidationValidator.js.map +0 -1
- package/dist/src/validation/errors.js +0 -17
- package/dist/src/validation/errors.js.map +0 -1
- package/dist/src/validation/index.js +0 -23
- package/dist/src/validation/index.js.map +0 -1
- package/dist/tests/cases/unit/conditionSchema.test.js +0 -50
- package/dist/tests/cases/unit/conditionSchema.test.js.map +0 -1
- package/dist/tests/cases/unit/deepCompare.test.js +0 -43
- package/dist/tests/cases/unit/deepCompare.test.js.map +0 -1
- package/dist/tests/cases/unit/laxSchemaConverter.test.js +0 -118
- package/dist/tests/cases/unit/laxSchemaConverter.test.js.map +0 -1
- package/dist/tests/cases/unit/membershipResolver.test.js +0 -168
- package/dist/tests/cases/unit/membershipResolver.test.js.map +0 -1
- package/dist/tests/cases/unit/modelValidator.test.js +0 -97
- package/dist/tests/cases/unit/modelValidator.test.js.map +0 -1
- package/dist/tests/cases/unit/printJsvalue.test.js +0 -90
- package/dist/tests/cases/unit/printJsvalue.test.js.map +0 -1
- package/dist/tests/cases/unit/schemas/acl.js +0 -47
- package/dist/tests/cases/unit/schemas/acl.js.map +0 -1
- package/dist/tests/cases/unit/schemas/basic.js +0 -11
- package/dist/tests/cases/unit/schemas/basic.js.map +0 -1
- package/dist/tests/cases/unit/schemas/enum.js +0 -13
- package/dist/tests/cases/unit/schemas/enum.js.map +0 -1
- package/dist/tests/cases/unit/schemas/relations.js +0 -27
- package/dist/tests/cases/unit/schemas/relations.js.map +0 -1
- package/dist/tests/cases/unit/schemas/unique.js +0 -20
- package/dist/tests/cases/unit/schemas/unique.js.map +0 -1
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.js +0 -58
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.js.map +0 -1
- package/dist/tests/cases/unit/whereSchema.test.js +0 -85
- package/dist/tests/cases/unit/whereSchema.test.js.map +0 -1
- /package/dist/{src → types}/acl/AllowAllPermissionFactory.d.ts +0 -0
- /package/dist/{src → types}/acl/AllowAllPermissionFactory.d.ts.map +0 -0
- /package/dist/{src → types}/acl/PredicateDefinitionProcessor.d.ts +0 -0
- /package/dist/{src → types}/acl/PredicateDefinitionProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/acl/index.d.ts +0 -0
- /package/dist/{src → types}/acl/index.d.ts.map +0 -0
- /package/dist/{src → types}/acl/schemaUtils.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/AclDefinitionCodeGenerator.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/AclDefinitionCodeGenerator.d.ts.map +0 -0
- /package/dist/{src → types}/definition-generator/DefinitionCodeGenerator.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/DefinitionCodeGenerator.d.ts.map +0 -0
- /package/dist/{src → types}/definition-generator/DefinitionNamingConventions.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/DefinitionNamingConventions.d.ts.map +0 -0
- /package/dist/{src → types}/definition-generator/TsDefinitionGenerator.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/TsDefinitionGenerator.d.ts.map +0 -0
- /package/dist/{src → types}/definition-generator/index.d.ts +0 -0
- /package/dist/{src → types}/definition-generator/index.d.ts.map +0 -0
- /package/dist/{src → types}/index.d.ts +0 -0
- /package/dist/{src → types}/index.d.ts.map +0 -0
- /package/dist/{src → types}/lax/LaxSchemaConverter.d.ts +0 -0
- /package/dist/{src → types}/lax/LaxSchemaConverter.d.ts.map +0 -0
- /package/dist/{src → types}/lax/index.d.ts +0 -0
- /package/dist/{src → types}/lax/index.d.ts.map +0 -0
- /package/dist/{src → types}/lax/schema.d.ts.map +0 -0
- /package/dist/{src → types}/model/NamingConventions.d.ts +0 -0
- /package/dist/{src → types}/model/NamingConventions.d.ts.map +0 -0
- /package/dist/{src → types}/model/index.d.ts +0 -0
- /package/dist/{src → types}/model/index.d.ts.map +0 -0
- /package/dist/{src → types}/model/resolveDefaultColumnType.d.ts +0 -0
- /package/dist/{src → types}/schemaFilter.d.ts +0 -0
- /package/dist/{src → types}/schemaNormalizer.d.ts +0 -0
- /package/dist/{src → types}/type-schema/acl.d.ts +0 -0
- /package/dist/{src → types}/type-schema/acl.d.ts.map +0 -0
- /package/dist/{src → types}/type-schema/actions.d.ts +0 -0
- /package/dist/{src → types}/type-schema/actions.d.ts.map +0 -0
- /package/dist/{src → types}/type-schema/index.d.ts +0 -0
- /package/dist/{src → types}/type-schema/index.d.ts.map +0 -0
- /package/dist/{src → types}/type-schema/model.d.ts +0 -0
- /package/dist/{src → types}/type-schema/model.d.ts.map +0 -0
- /package/dist/{src → types}/type-schema/validation.d.ts +0 -0
- /package/dist/{src → types}/type-schema/validation.d.ts.map +0 -0
- /package/dist/{src → types}/type-schema/where.d.ts +0 -0
- /package/dist/{src → types}/utils/assertNever.d.ts +0 -0
- /package/dist/{src → types}/utils/assertNever.d.ts.map +0 -0
- /package/dist/{src → types}/utils/deepCompare.d.ts +0 -0
- /package/dist/{src → types}/utils/index.d.ts +0 -0
- /package/dist/{src → types}/utils/index.d.ts.map +0 -0
- /package/dist/{src → types}/utils/printJsValue.d.ts +0 -0
- /package/dist/{src → types}/validation/AclValidator.d.ts +0 -0
- /package/dist/{src → types}/validation/AclValidator.d.ts.map +0 -0
- /package/dist/{src → types}/validation/ActionsValidator.d.ts +0 -0
- /package/dist/{src → types}/validation/ActionsValidator.d.ts.map +0 -0
- /package/dist/{src → types}/validation/MembershipResolver.d.ts +0 -0
- /package/dist/{src → types}/validation/ModelValidator.d.ts +0 -0
- /package/dist/{src → types}/validation/ModelValidator.d.ts.map +0 -0
- /package/dist/{src → types}/validation/SchemaValidator.d.ts +0 -0
- /package/dist/{src → types}/validation/SchemaValidator.d.ts.map +0 -0
- /package/dist/{src → types}/validation/ValidationValidator.d.ts +0 -0
- /package/dist/{src → types}/validation/ValidationValidator.d.ts.map +0 -0
- /package/dist/{src → types}/validation/errors.d.ts +0 -0
- /package/dist/{src → types}/validation/errors.d.ts.map +0 -0
- /package/dist/{src → types}/validation/index.d.ts +0 -0
- /package/dist/{src → types}/validation/index.d.ts.map +0 -0
|
@@ -0,0 +1,143 @@
|
|
|
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.record(
|
|
24
|
+
Typesafe__namespace.string,
|
|
25
|
+
Typesafe__namespace.union(
|
|
26
|
+
Typesafe__namespace.literal(true),
|
|
27
|
+
Typesafe__namespace.partial({
|
|
28
|
+
variables: Typesafe__namespace.union(
|
|
29
|
+
Typesafe__namespace.literal(true),
|
|
30
|
+
Typesafe__namespace.record(
|
|
31
|
+
Typesafe__namespace.string,
|
|
32
|
+
Typesafe__namespace.union(Typesafe__namespace.literal(true), Typesafe__namespace.string)
|
|
33
|
+
)
|
|
34
|
+
)
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
const tenantPermissionsSchema = Typesafe__namespace.partial({
|
|
39
|
+
invite: Typesafe__namespace.union(Typesafe__namespace.boolean, membershipMatchRuleSchema),
|
|
40
|
+
unmanagedInvite: Typesafe__namespace.union(Typesafe__namespace.boolean, membershipMatchRuleSchema),
|
|
41
|
+
manage: membershipMatchRuleSchema,
|
|
42
|
+
view: membershipMatchRuleSchema
|
|
43
|
+
});
|
|
44
|
+
const systemPermissionsSchema = Typesafe__namespace.partial({
|
|
45
|
+
history: Typesafe__namespace.union(Typesafe__namespace.boolean, Typesafe__namespace.enumeration("any", "none")),
|
|
46
|
+
migrate: Typesafe__namespace.boolean,
|
|
47
|
+
assumeIdentity: Typesafe__namespace.boolean,
|
|
48
|
+
export: Typesafe__namespace.boolean,
|
|
49
|
+
import: Typesafe__namespace.boolean
|
|
50
|
+
});
|
|
51
|
+
const contentPermissionsSchema = Typesafe__namespace.partial({
|
|
52
|
+
assumeMembership: membershipMatchRuleSchema,
|
|
53
|
+
export: Typesafe__namespace.boolean,
|
|
54
|
+
import: Typesafe__namespace.boolean
|
|
55
|
+
});
|
|
56
|
+
const entityVariableSchema = Typesafe__namespace.intersection(
|
|
57
|
+
Typesafe__namespace.object({
|
|
58
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.entity),
|
|
59
|
+
entityName: Typesafe__namespace.string
|
|
60
|
+
}),
|
|
61
|
+
Typesafe__namespace.partial({
|
|
62
|
+
fallback: condition.conditionSchema()
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
const predefinedVariableSchema = Typesafe__namespace.object({
|
|
66
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.predefined),
|
|
67
|
+
value: Typesafe__namespace.enumeration("identityID", "personID")
|
|
68
|
+
});
|
|
69
|
+
const conditionVariableSchema = Typesafe__namespace.intersection(
|
|
70
|
+
Typesafe__namespace.object({
|
|
71
|
+
type: Typesafe__namespace.literal(schema.Acl.VariableType.condition)
|
|
72
|
+
}),
|
|
73
|
+
Typesafe__namespace.partial({
|
|
74
|
+
fallback: condition.conditionSchema()
|
|
75
|
+
})
|
|
76
|
+
);
|
|
77
|
+
const variablesSchema = Typesafe__namespace.record(
|
|
78
|
+
Typesafe__namespace.string,
|
|
79
|
+
Typesafe__namespace.union(
|
|
80
|
+
entityVariableSchema,
|
|
81
|
+
predefinedVariableSchema,
|
|
82
|
+
conditionVariableSchema
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
const fieldPermissionsSchema = Typesafe__namespace.record(
|
|
86
|
+
Typesafe__namespace.string,
|
|
87
|
+
Typesafe__namespace.union(Typesafe__namespace.string, Typesafe__namespace.boolean)
|
|
88
|
+
);
|
|
89
|
+
const predicatesSchema = Typesafe__namespace.record(
|
|
90
|
+
Typesafe__namespace.string,
|
|
91
|
+
(v, p) => Typesafe__namespace.anyJsonObject(v, p)
|
|
92
|
+
);
|
|
93
|
+
const entityOperationsSchema = Typesafe__namespace.partial({
|
|
94
|
+
read: fieldPermissionsSchema,
|
|
95
|
+
create: fieldPermissionsSchema,
|
|
96
|
+
update: fieldPermissionsSchema,
|
|
97
|
+
delete: Typesafe__namespace.union(Typesafe__namespace.string, Typesafe__namespace.boolean),
|
|
98
|
+
customPrimary: Typesafe__namespace.boolean
|
|
99
|
+
});
|
|
100
|
+
const entitiesSchema = Typesafe__namespace.record(
|
|
101
|
+
Typesafe__namespace.string,
|
|
102
|
+
Typesafe__namespace.object({
|
|
103
|
+
predicates: predicatesSchema,
|
|
104
|
+
operations: entityOperationsSchema
|
|
105
|
+
})
|
|
106
|
+
);
|
|
107
|
+
const baseRolePermissionsSchema = Typesafe__namespace.intersection(
|
|
108
|
+
Typesafe__namespace.object({
|
|
109
|
+
variables: variablesSchema,
|
|
110
|
+
entities: entitiesSchema
|
|
111
|
+
}),
|
|
112
|
+
Typesafe__namespace.partial({
|
|
113
|
+
inherits: Typesafe__namespace.array(Typesafe__namespace.string),
|
|
114
|
+
implicit: Typesafe__namespace.boolean,
|
|
115
|
+
stages: Typesafe__namespace.union(
|
|
116
|
+
Typesafe__namespace.literal("*"),
|
|
117
|
+
Typesafe__namespace.array(Typesafe__namespace.string)
|
|
118
|
+
),
|
|
119
|
+
tenant: tenantPermissionsSchema,
|
|
120
|
+
system: systemPermissionsSchema,
|
|
121
|
+
content: contentPermissionsSchema,
|
|
122
|
+
debug: Typesafe__namespace.boolean
|
|
123
|
+
})
|
|
124
|
+
);
|
|
125
|
+
const aclSchema = Typesafe__namespace.intersection(
|
|
126
|
+
Typesafe__namespace.object({
|
|
127
|
+
roles: Typesafe__namespace.record(
|
|
128
|
+
Typesafe__namespace.string,
|
|
129
|
+
(v, p) => {
|
|
130
|
+
const main = baseRolePermissionsSchema(v, p);
|
|
131
|
+
return {
|
|
132
|
+
...v,
|
|
133
|
+
...main
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
}),
|
|
138
|
+
Typesafe__namespace.partial({
|
|
139
|
+
customPrimary: Typesafe__namespace.boolean
|
|
140
|
+
})
|
|
141
|
+
);
|
|
142
|
+
exports.aclSchema = aclSchema;
|
|
143
|
+
//# 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.record(\n\tTypesafe.string,\n\tTypesafe.union(\n\t\tTypesafe.literal(true),\n\t\tTypesafe.partial({\n\t\t\tvariables: Typesafe.union(\n\t\t\t\tTypesafe.literal(true),\n\t\t\t\tTypesafe.record(\n\t\t\t\t\tTypesafe.string,\n\t\t\t\t\tTypesafe.union(Typesafe.literal(true), Typesafe.string),\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})\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})\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,126 @@
|
|
|
1
|
+
import { Acl } from "@contember/schema";
|
|
2
|
+
import * as Typesafe from "@contember/typesafe";
|
|
3
|
+
import { conditionSchema } from "./condition.js";
|
|
4
|
+
const membershipMatchRuleSchema = Typesafe.record(
|
|
5
|
+
Typesafe.string,
|
|
6
|
+
Typesafe.union(
|
|
7
|
+
Typesafe.literal(true),
|
|
8
|
+
Typesafe.partial({
|
|
9
|
+
variables: Typesafe.union(
|
|
10
|
+
Typesafe.literal(true),
|
|
11
|
+
Typesafe.record(
|
|
12
|
+
Typesafe.string,
|
|
13
|
+
Typesafe.union(Typesafe.literal(true), Typesafe.string)
|
|
14
|
+
)
|
|
15
|
+
)
|
|
16
|
+
})
|
|
17
|
+
)
|
|
18
|
+
);
|
|
19
|
+
const tenantPermissionsSchema = Typesafe.partial({
|
|
20
|
+
invite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),
|
|
21
|
+
unmanagedInvite: Typesafe.union(Typesafe.boolean, membershipMatchRuleSchema),
|
|
22
|
+
manage: membershipMatchRuleSchema,
|
|
23
|
+
view: membershipMatchRuleSchema
|
|
24
|
+
});
|
|
25
|
+
const systemPermissionsSchema = Typesafe.partial({
|
|
26
|
+
history: Typesafe.union(Typesafe.boolean, Typesafe.enumeration("any", "none")),
|
|
27
|
+
migrate: Typesafe.boolean,
|
|
28
|
+
assumeIdentity: Typesafe.boolean,
|
|
29
|
+
export: Typesafe.boolean,
|
|
30
|
+
import: Typesafe.boolean
|
|
31
|
+
});
|
|
32
|
+
const contentPermissionsSchema = Typesafe.partial({
|
|
33
|
+
assumeMembership: membershipMatchRuleSchema,
|
|
34
|
+
export: Typesafe.boolean,
|
|
35
|
+
import: Typesafe.boolean
|
|
36
|
+
});
|
|
37
|
+
const entityVariableSchema = Typesafe.intersection(
|
|
38
|
+
Typesafe.object({
|
|
39
|
+
type: Typesafe.literal(Acl.VariableType.entity),
|
|
40
|
+
entityName: Typesafe.string
|
|
41
|
+
}),
|
|
42
|
+
Typesafe.partial({
|
|
43
|
+
fallback: conditionSchema()
|
|
44
|
+
})
|
|
45
|
+
);
|
|
46
|
+
const predefinedVariableSchema = Typesafe.object({
|
|
47
|
+
type: Typesafe.literal(Acl.VariableType.predefined),
|
|
48
|
+
value: Typesafe.enumeration("identityID", "personID")
|
|
49
|
+
});
|
|
50
|
+
const conditionVariableSchema = Typesafe.intersection(
|
|
51
|
+
Typesafe.object({
|
|
52
|
+
type: Typesafe.literal(Acl.VariableType.condition)
|
|
53
|
+
}),
|
|
54
|
+
Typesafe.partial({
|
|
55
|
+
fallback: conditionSchema()
|
|
56
|
+
})
|
|
57
|
+
);
|
|
58
|
+
const variablesSchema = Typesafe.record(
|
|
59
|
+
Typesafe.string,
|
|
60
|
+
Typesafe.union(
|
|
61
|
+
entityVariableSchema,
|
|
62
|
+
predefinedVariableSchema,
|
|
63
|
+
conditionVariableSchema
|
|
64
|
+
)
|
|
65
|
+
);
|
|
66
|
+
const fieldPermissionsSchema = Typesafe.record(
|
|
67
|
+
Typesafe.string,
|
|
68
|
+
Typesafe.union(Typesafe.string, Typesafe.boolean)
|
|
69
|
+
);
|
|
70
|
+
const predicatesSchema = Typesafe.record(
|
|
71
|
+
Typesafe.string,
|
|
72
|
+
(v, p) => Typesafe.anyJsonObject(v, p)
|
|
73
|
+
);
|
|
74
|
+
const entityOperationsSchema = Typesafe.partial({
|
|
75
|
+
read: fieldPermissionsSchema,
|
|
76
|
+
create: fieldPermissionsSchema,
|
|
77
|
+
update: fieldPermissionsSchema,
|
|
78
|
+
delete: Typesafe.union(Typesafe.string, Typesafe.boolean),
|
|
79
|
+
customPrimary: Typesafe.boolean
|
|
80
|
+
});
|
|
81
|
+
const entitiesSchema = Typesafe.record(
|
|
82
|
+
Typesafe.string,
|
|
83
|
+
Typesafe.object({
|
|
84
|
+
predicates: predicatesSchema,
|
|
85
|
+
operations: entityOperationsSchema
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
const baseRolePermissionsSchema = Typesafe.intersection(
|
|
89
|
+
Typesafe.object({
|
|
90
|
+
variables: variablesSchema,
|
|
91
|
+
entities: entitiesSchema
|
|
92
|
+
}),
|
|
93
|
+
Typesafe.partial({
|
|
94
|
+
inherits: Typesafe.array(Typesafe.string),
|
|
95
|
+
implicit: Typesafe.boolean,
|
|
96
|
+
stages: Typesafe.union(
|
|
97
|
+
Typesafe.literal("*"),
|
|
98
|
+
Typesafe.array(Typesafe.string)
|
|
99
|
+
),
|
|
100
|
+
tenant: tenantPermissionsSchema,
|
|
101
|
+
system: systemPermissionsSchema,
|
|
102
|
+
content: contentPermissionsSchema,
|
|
103
|
+
debug: Typesafe.boolean
|
|
104
|
+
})
|
|
105
|
+
);
|
|
106
|
+
const aclSchema = Typesafe.intersection(
|
|
107
|
+
Typesafe.object({
|
|
108
|
+
roles: Typesafe.record(
|
|
109
|
+
Typesafe.string,
|
|
110
|
+
(v, p) => {
|
|
111
|
+
const main = baseRolePermissionsSchema(v, p);
|
|
112
|
+
return {
|
|
113
|
+
...v,
|
|
114
|
+
...main
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
}),
|
|
119
|
+
Typesafe.partial({
|
|
120
|
+
customPrimary: Typesafe.boolean
|
|
121
|
+
})
|
|
122
|
+
);
|
|
123
|
+
export {
|
|
124
|
+
aclSchema
|
|
125
|
+
};
|
|
126
|
+
//# 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.record(\n\tTypesafe.string,\n\tTypesafe.union(\n\t\tTypesafe.literal(true),\n\t\tTypesafe.partial({\n\t\t\tvariables: Typesafe.union(\n\t\t\t\tTypesafe.literal(true),\n\t\t\t\tTypesafe.record(\n\t\t\t\t\tTypesafe.string,\n\t\t\t\t\tTypesafe.union(Typesafe.literal(true), Typesafe.string),\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})\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})\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,87 @@
|
|
|
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
|
+
})
|
|
62
|
+
);
|
|
63
|
+
const basicTriggerSchema = Typesafe__namespace.intersection(
|
|
64
|
+
Typesafe__namespace.object({
|
|
65
|
+
type: Typesafe__namespace.literal("basic"),
|
|
66
|
+
name: Typesafe__namespace.string,
|
|
67
|
+
entity: Typesafe__namespace.string,
|
|
68
|
+
create: Typesafe__namespace.boolean,
|
|
69
|
+
delete: Typesafe__namespace.boolean,
|
|
70
|
+
update: Typesafe__namespace.union(Typesafe__namespace.boolean, Typesafe__namespace.array(Typesafe__namespace.string)),
|
|
71
|
+
target: Typesafe__namespace.string
|
|
72
|
+
}),
|
|
73
|
+
Typesafe__namespace.partial({
|
|
74
|
+
selection: selectionNodeSchemaFactory(),
|
|
75
|
+
priority: Typesafe__namespace.integer
|
|
76
|
+
})
|
|
77
|
+
);
|
|
78
|
+
const anyTriggerSchema = Typesafe__namespace.union(
|
|
79
|
+
watchTriggerSchema,
|
|
80
|
+
basicTriggerSchema
|
|
81
|
+
);
|
|
82
|
+
const actionsSchema = Typesafe__namespace.object({
|
|
83
|
+
triggers: Typesafe__namespace.record(Typesafe__namespace.string, anyTriggerSchema),
|
|
84
|
+
targets: Typesafe__namespace.record(Typesafe__namespace.string, anyTargetSchema)
|
|
85
|
+
});
|
|
86
|
+
exports.actionsSchema = actionsSchema;
|
|
87
|
+
//# 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}),\n)\n\nconst watchTriggerSchemaCheck: Typesafe.Equals<Actions.WatchTrigger, ReturnType<typeof watchTriggerSchema>> = true\n\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\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;AACpE,WAAAA,oBAAS,MAAMA,oBAAS;AAAA,MAC9BA,oBAAS;AAAA,MACTA,oBAAS;AAAA,QACRA,oBAAS;AAAA,QACTA,oBAAS;AAAA,QACT,2BAA2B;AAAA,MAC5B;AAAA,IAAA,CACA,EAAE,OAAO,IAAI;AAAA,EAAA;AAEhB;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,2BAA2B;AAAA,IAClC,QAAQA,oBAAS;AAAA,EAAA,CACjB;AAAA,EACDA,oBAAS,QAAQ;AAAA,IAChB,WAAW,2BAA2B;AAAA,IACtC,UAAUA,oBAAS;AAAA,EAAA,CACnB;AACF;AAKA,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,2BAA2B;AAAA,IACtC,UAAUA,oBAAS;AAAA,EAAA,CACnB;AACF;AAKA,MAAM,mBAAmBA,oBAAS;AAAA,EACjC;AAAA,EACA;AACD;AAEa,MAAA,gBAAgBA,oBAAS,OAAO;AAAA,EAC5C,UAAUA,oBAAS,OAAOA,oBAAS,QAAQ,gBAAgB;AAAA,EAC3D,SAASA,oBAAS,OAAOA,oBAAS,QAAQ,eAAe;AAC1D,CAAC;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as Typesafe from "@contember/typesafe";
|
|
2
|
+
const selectionNodeSchemaFactory = () => {
|
|
3
|
+
return (input, path = []) => {
|
|
4
|
+
return Typesafe.array(Typesafe.union(
|
|
5
|
+
Typesafe.string,
|
|
6
|
+
Typesafe.tuple(
|
|
7
|
+
Typesafe.string,
|
|
8
|
+
Typesafe.anyJsonObject,
|
|
9
|
+
selectionNodeSchemaFactory()
|
|
10
|
+
)
|
|
11
|
+
))(input, path);
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const webhookTargetSchema = Typesafe.intersection(
|
|
15
|
+
Typesafe.object({
|
|
16
|
+
type: Typesafe.literal("webhook"),
|
|
17
|
+
name: Typesafe.string,
|
|
18
|
+
url: Typesafe.string
|
|
19
|
+
}),
|
|
20
|
+
Typesafe.partial({
|
|
21
|
+
headers: Typesafe.record(Typesafe.string, Typesafe.string),
|
|
22
|
+
timeoutMs: Typesafe.integer,
|
|
23
|
+
maxAttempts: Typesafe.integer,
|
|
24
|
+
initialRepeatIntervalMs: Typesafe.integer,
|
|
25
|
+
batchSize: Typesafe.integer,
|
|
26
|
+
body: Typesafe.anyJsonObject,
|
|
27
|
+
payloadPath: Typesafe.array(Typesafe.string)
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
const anyTargetSchema = Typesafe.union(webhookTargetSchema);
|
|
31
|
+
const watchTriggerSchema = Typesafe.intersection(
|
|
32
|
+
Typesafe.object({
|
|
33
|
+
type: Typesafe.literal("watch"),
|
|
34
|
+
name: Typesafe.string,
|
|
35
|
+
entity: Typesafe.string,
|
|
36
|
+
watch: selectionNodeSchemaFactory(),
|
|
37
|
+
target: Typesafe.string
|
|
38
|
+
}),
|
|
39
|
+
Typesafe.partial({
|
|
40
|
+
selection: selectionNodeSchemaFactory(),
|
|
41
|
+
priority: Typesafe.integer
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
const basicTriggerSchema = Typesafe.intersection(
|
|
45
|
+
Typesafe.object({
|
|
46
|
+
type: Typesafe.literal("basic"),
|
|
47
|
+
name: Typesafe.string,
|
|
48
|
+
entity: Typesafe.string,
|
|
49
|
+
create: Typesafe.boolean,
|
|
50
|
+
delete: Typesafe.boolean,
|
|
51
|
+
update: Typesafe.union(Typesafe.boolean, Typesafe.array(Typesafe.string)),
|
|
52
|
+
target: Typesafe.string
|
|
53
|
+
}),
|
|
54
|
+
Typesafe.partial({
|
|
55
|
+
selection: selectionNodeSchemaFactory(),
|
|
56
|
+
priority: Typesafe.integer
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
const anyTriggerSchema = Typesafe.union(
|
|
60
|
+
watchTriggerSchema,
|
|
61
|
+
basicTriggerSchema
|
|
62
|
+
);
|
|
63
|
+
const actionsSchema = Typesafe.object({
|
|
64
|
+
triggers: Typesafe.record(Typesafe.string, anyTriggerSchema),
|
|
65
|
+
targets: Typesafe.record(Typesafe.string, anyTargetSchema)
|
|
66
|
+
});
|
|
67
|
+
export {
|
|
68
|
+
actionsSchema
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","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}),\n)\n\nconst watchTriggerSchemaCheck: Typesafe.Equals<Actions.WatchTrigger, ReturnType<typeof watchTriggerSchema>> = true\n\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\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":[],"mappings":";AAGA,MAAM,6BAA6B,MAA4C;AAC9E,SAAO,CAAC,OAAgB,OAAsB,OAA8B;AACpE,WAAA,SAAS,MAAM,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,SAAS;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,2BAA2B;AAAA,MAC5B;AAAA,IAAA,CACA,EAAE,OAAO,IAAI;AAAA,EAAA;AAEhB;AAEA,MAAM,sBAAsB,SAAS;AAAA,EACpC,SAAS,OAAO;AAAA,IACf,MAAM,SAAS,QAAQ,SAAS;AAAA,IAChC,MAAM,SAAS;AAAA,IACf,KAAK,SAAS;AAAA,EAAA,CACd;AAAA,EACD,SAAS,QAAQ;AAAA,IAChB,SAAS,SAAS,OAAO,SAAS,QAAQ,SAAS,MAAM;AAAA,IACzD,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,IACtB,yBAAyB,SAAS;AAAA,IAClC,WAAW,SAAS;AAAA,IACpB,MAAM,SAAS;AAAA,IACf,aAAa,SAAS,MAAM,SAAS,MAAM;AAAA,EAAA,CAC3C;AACF;AAGA,MAAM,kBAAoD,SAAS,MAAM,mBAAmB;AAE5F,MAAM,qBAAqB,SAAS;AAAA,EACnC,SAAS,OAAO;AAAA,IACf,MAAM,SAAS,QAAQ,OAAO;AAAA,IAC9B,MAAM,SAAS;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB,OAAO,2BAA2B;AAAA,IAClC,QAAQ,SAAS;AAAA,EAAA,CACjB;AAAA,EACD,SAAS,QAAQ;AAAA,IAChB,WAAW,2BAA2B;AAAA,IACtC,UAAU,SAAS;AAAA,EAAA,CACnB;AACF;AAKA,MAAM,qBAAqB,SAAS;AAAA,EACnC,SAAS,OAAO;AAAA,IACf,MAAM,SAAS,QAAQ,OAAO;AAAA,IAC9B,MAAM,SAAS;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB,QAAQ,SAAS;AAAA,IACjB,QAAQ,SAAS;AAAA,IACjB,QAAQ,SAAS,MAAM,SAAS,SAAS,SAAS,MAAM,SAAS,MAAM,CAAC;AAAA,IACxE,QAAQ,SAAS;AAAA,EAAA,CACjB;AAAA,EACD,SAAS,QAAQ;AAAA,IAChB,WAAW,2BAA2B;AAAA,IACtC,UAAU,SAAS;AAAA,EAAA,CACnB;AACF;AAKA,MAAM,mBAAmB,SAAS;AAAA,EACjC;AAAA,EACA;AACD;AAEa,MAAA,gBAAgB,SAAS,OAAO;AAAA,EAC5C,UAAU,SAAS,OAAO,SAAS,QAAQ,gBAAgB;AAAA,EAC3D,SAAS,SAAS,OAAO,SAAS,QAAQ,eAAe;AAC1D,CAAC;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Typesafe = require("@contember/typesafe");
|
|
4
|
+
const schema = require("@contember/schema");
|
|
5
|
+
function _interopNamespaceDefault(e) {
|
|
6
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
7
|
+
if (e) {
|
|
8
|
+
for (const k in e) {
|
|
9
|
+
if (k !== "default") {
|
|
10
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
11
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: () => e[k]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
n.default = e;
|
|
19
|
+
return Object.freeze(n);
|
|
20
|
+
}
|
|
21
|
+
const Typesafe__namespace = /* @__PURE__ */ _interopNamespaceDefault(Typesafe);
|
|
22
|
+
const conditionSchema = (type) => {
|
|
23
|
+
const metadata = type ? resolveColumnMetadata(type) : { type: Typesafe__namespace.scalar };
|
|
24
|
+
return conditionSchemaInner(metadata);
|
|
25
|
+
};
|
|
26
|
+
const conditionSchemaInner = (metadata) => {
|
|
27
|
+
return (input, path = []) => {
|
|
28
|
+
const self = conditionSchemaInner(metadata);
|
|
29
|
+
const inner = metadata.type;
|
|
30
|
+
const objectSchema = Typesafe__namespace.noExtraProps(Typesafe__namespace.partial({
|
|
31
|
+
and: Typesafe__namespace.array(self),
|
|
32
|
+
or: Typesafe__namespace.array(self),
|
|
33
|
+
not: self,
|
|
34
|
+
null: Typesafe__namespace.boolean,
|
|
35
|
+
isNull: Typesafe__namespace.boolean,
|
|
36
|
+
never: Typesafe__namespace.true_,
|
|
37
|
+
always: Typesafe__namespace.true_,
|
|
38
|
+
...metadata.isJson !== true ? {
|
|
39
|
+
eq: inner,
|
|
40
|
+
notEq: inner,
|
|
41
|
+
in: Typesafe__namespace.array(inner),
|
|
42
|
+
notIn: Typesafe__namespace.array(inner),
|
|
43
|
+
lt: inner,
|
|
44
|
+
lte: inner,
|
|
45
|
+
gt: inner,
|
|
46
|
+
gte: inner
|
|
47
|
+
} : {},
|
|
48
|
+
...metadata.isString !== false ? {
|
|
49
|
+
contains: Typesafe__namespace.string,
|
|
50
|
+
startsWith: Typesafe__namespace.string,
|
|
51
|
+
endsWith: Typesafe__namespace.string,
|
|
52
|
+
containsCI: Typesafe__namespace.string,
|
|
53
|
+
startsWithCI: Typesafe__namespace.string,
|
|
54
|
+
endsWithCI: Typesafe__namespace.string
|
|
55
|
+
} : {}
|
|
56
|
+
}));
|
|
57
|
+
return objectSchema(input, path);
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
const resolveColumnMetadata = (type) => {
|
|
61
|
+
const resolvedType = Typesafe__namespace.nullable(resolveColumnTypeSchema(type));
|
|
62
|
+
return {
|
|
63
|
+
type: resolvedType,
|
|
64
|
+
isJson: type === schema.Model.ColumnType.Json,
|
|
65
|
+
isString: type === schema.Model.ColumnType.String
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const resolveColumnTypeSchema = (type) => {
|
|
69
|
+
switch (type) {
|
|
70
|
+
case schema.Model.ColumnType.Bool:
|
|
71
|
+
return Typesafe__namespace.boolean;
|
|
72
|
+
case schema.Model.ColumnType.Date:
|
|
73
|
+
case schema.Model.ColumnType.DateTime:
|
|
74
|
+
case schema.Model.ColumnType.Uuid:
|
|
75
|
+
case schema.Model.ColumnType.Enum:
|
|
76
|
+
case schema.Model.ColumnType.String:
|
|
77
|
+
return Typesafe__namespace.string;
|
|
78
|
+
case schema.Model.ColumnType.Double:
|
|
79
|
+
return Typesafe__namespace.number;
|
|
80
|
+
case schema.Model.ColumnType.Int:
|
|
81
|
+
return Typesafe__namespace.integer;
|
|
82
|
+
case schema.Model.ColumnType.Json:
|
|
83
|
+
return Typesafe__namespace.anyJson;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
exports.conditionSchema = conditionSchema;
|
|
87
|
+
//# sourceMappingURL=condition.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.cjs","sources":["../../../../../packages/schema-utils/src/type-schema/condition.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Json, Type } from '@contember/typesafe'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport const conditionSchema = <T extends Value.FieldValue>(type?: Model.ColumnType): Type<Input.Condition<T>> => {\n\tconst metadata = type ? resolveColumnMetadata(type) : { type: Typesafe.scalar }\n\treturn conditionSchemaInner(metadata)\n}\n\ninterface ResolvedColumnMetadata<T extends Json> {\n\ttype: Typesafe.Type<T>\n\tisJson?: boolean\n\tisString?: boolean\n}\n\nconst conditionSchemaInner = <T extends Json>(metadata: ResolvedColumnMetadata<T>): Type<Input.Condition<T>> => {\n\treturn (input: unknown, path: PropertyKey[] = []): Input.Condition<T> => {\n\t\tconst self = conditionSchemaInner(metadata)\n\t\tconst inner = metadata.type\n\t\tconst objectSchema = Typesafe.noExtraProps(Typesafe.partial({\n\t\t\tand: Typesafe.array(self),\n\t\t\tor: Typesafe.array(self),\n\t\t\tnot: self,\n\t\t\tnull: Typesafe.boolean,\n\t\t\tisNull: Typesafe.boolean,\n\t\t\tnever: Typesafe.true_,\n\t\t\talways: Typesafe.true_,\n\t\t\t...(metadata.isJson !== true ? {\n\t\t\t\teq: inner,\n\t\t\t\tnotEq: inner,\n\t\t\t\tin: Typesafe.array(inner),\n\t\t\t\tnotIn: Typesafe.array(inner),\n\t\t\t\tlt: inner,\n\t\t\t\tlte: inner,\n\t\t\t\tgt: inner,\n\t\t\t\tgte: inner,\n\t\t\t} : {}),\n\t\t\t...(metadata.isString !== false ? {\n\t\t\t\tcontains: Typesafe.string,\n\t\t\t\tstartsWith: Typesafe.string,\n\t\t\t\tendsWith: Typesafe.string,\n\t\t\t\tcontainsCI: Typesafe.string,\n\t\t\t\tstartsWithCI: Typesafe.string,\n\t\t\t\tendsWithCI: Typesafe.string,\n\t\t\t} : {}),\n\t\t}))\n\t\treturn objectSchema(input, path) as Input.Condition<T>\n\t}\n}\n\nconst resolveColumnMetadata = (type: Model.ColumnType): ResolvedColumnMetadata<any> => {\n\tconst resolvedType = Typesafe.nullable(resolveColumnTypeSchema(type))\n\treturn {\n\t\ttype: resolvedType,\n\t\tisJson: type === Model.ColumnType.Json,\n\t\tisString: type === Model.ColumnType.String,\n\n\t}\n}\n\n\nconst resolveColumnTypeSchema = (type: Model.ColumnType) => {\n\tswitch (type) {\n\t\tcase Model.ColumnType.Bool:\n\t\t\treturn Typesafe.boolean\n\n\t\t// todo: validate format of string-like inputs uuid, date, enum\n\t\tcase Model.ColumnType.Date:\n\t\tcase Model.ColumnType.DateTime:\n\t\tcase Model.ColumnType.Uuid:\n\t\tcase Model.ColumnType.Enum:\n\t\tcase Model.ColumnType.String:\n\t\t\treturn Typesafe.string\n\t\tcase Model.ColumnType.Double:\n\t\t\treturn Typesafe.number\n\t\tcase Model.ColumnType.Int:\n\t\t\treturn Typesafe.integer\n\t\tcase Model.ColumnType.Json:\n\t\t\treturn Typesafe.anyJson\n\t}\n}\n"],"names":["Typesafe","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIa,MAAA,kBAAkB,CAA6B,SAAsD;AAC3G,QAAA,WAAW,OAAO,sBAAsB,IAAI,IAAI,EAAE,MAAMA,oBAAS;AACvE,SAAO,qBAAqB,QAAQ;AACrC;AAQA,MAAM,uBAAuB,CAAiB,aAAkE;AAC/G,SAAO,CAAC,OAAgB,OAAsB,OAA2B;AAClE,UAAA,OAAO,qBAAqB,QAAQ;AAC1C,UAAM,QAAQ,SAAS;AACvB,UAAM,eAAeA,oBAAS,aAAaA,oBAAS,QAAQ;AAAA,MAC3D,KAAKA,oBAAS,MAAM,IAAI;AAAA,MACxB,IAAIA,oBAAS,MAAM,IAAI;AAAA,MACvB,KAAK;AAAA,MACL,MAAMA,oBAAS;AAAA,MACf,QAAQA,oBAAS;AAAA,MACjB,OAAOA,oBAAS;AAAA,MAChB,QAAQA,oBAAS;AAAA,MACjB,GAAI,SAAS,WAAW,OAAO;AAAA,QAC9B,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,IAAIA,oBAAS,MAAM,KAAK;AAAA,QACxB,OAAOA,oBAAS,MAAM,KAAK;AAAA,QAC3B,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,KAAK;AAAA,MAAA,IACF,CAAC;AAAA,MACL,GAAI,SAAS,aAAa,QAAQ;AAAA,QACjC,UAAUA,oBAAS;AAAA,QACnB,YAAYA,oBAAS;AAAA,QACrB,UAAUA,oBAAS;AAAA,QACnB,YAAYA,oBAAS;AAAA,QACrB,cAAcA,oBAAS;AAAA,QACvB,YAAYA,oBAAS;AAAA,MAAA,IAClB,CAAC;AAAA,IACL,CAAA,CAAC;AACK,WAAA,aAAa,OAAO,IAAI;AAAA,EAAA;AAEjC;AAEA,MAAM,wBAAwB,CAAC,SAAwD;AACtF,QAAM,eAAeA,oBAAS,SAAS,wBAAwB,IAAI,CAAC;AAC7D,SAAA;AAAA,IACN,MAAM;AAAA,IACN,QAAQ,SAASC,aAAM,WAAW;AAAA,IAClC,UAAU,SAASA,aAAM,WAAW;AAAA,EAAA;AAGtC;AAGA,MAAM,0BAA0B,CAAC,SAA2B;AAC3D,UAAQ,MAAM;AAAA,IACb,KAAKA,OAAAA,MAAM,WAAW;AACrB,aAAOD,oBAAS;AAAA,IAGjB,KAAKC,aAAM,WAAW;AAAA,IACtB,KAAKA,aAAM,WAAW;AAAA,IACtB,KAAKA,aAAM,WAAW;AAAA,IACtB,KAAKA,aAAM,WAAW;AAAA,IACtB,KAAKA,OAAAA,MAAM,WAAW;AACrB,aAAOD,oBAAS;AAAA,IACjB,KAAKC,OAAAA,MAAM,WAAW;AACrB,aAAOD,oBAAS;AAAA,IACjB,KAAKC,OAAAA,MAAM,WAAW;AACrB,aAAOD,oBAAS;AAAA,IACjB,KAAKC,OAAAA,MAAM,WAAW;AACrB,aAAOD,oBAAS;AAAA,EAClB;AACD;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as Typesafe from "@contember/typesafe";
|
|
2
|
+
import { Model } from "@contember/schema";
|
|
3
|
+
const conditionSchema = (type) => {
|
|
4
|
+
const metadata = type ? resolveColumnMetadata(type) : { type: Typesafe.scalar };
|
|
5
|
+
return conditionSchemaInner(metadata);
|
|
6
|
+
};
|
|
7
|
+
const conditionSchemaInner = (metadata) => {
|
|
8
|
+
return (input, path = []) => {
|
|
9
|
+
const self = conditionSchemaInner(metadata);
|
|
10
|
+
const inner = metadata.type;
|
|
11
|
+
const objectSchema = Typesafe.noExtraProps(Typesafe.partial({
|
|
12
|
+
and: Typesafe.array(self),
|
|
13
|
+
or: Typesafe.array(self),
|
|
14
|
+
not: self,
|
|
15
|
+
null: Typesafe.boolean,
|
|
16
|
+
isNull: Typesafe.boolean,
|
|
17
|
+
never: Typesafe.true_,
|
|
18
|
+
always: Typesafe.true_,
|
|
19
|
+
...metadata.isJson !== true ? {
|
|
20
|
+
eq: inner,
|
|
21
|
+
notEq: inner,
|
|
22
|
+
in: Typesafe.array(inner),
|
|
23
|
+
notIn: Typesafe.array(inner),
|
|
24
|
+
lt: inner,
|
|
25
|
+
lte: inner,
|
|
26
|
+
gt: inner,
|
|
27
|
+
gte: inner
|
|
28
|
+
} : {},
|
|
29
|
+
...metadata.isString !== false ? {
|
|
30
|
+
contains: Typesafe.string,
|
|
31
|
+
startsWith: Typesafe.string,
|
|
32
|
+
endsWith: Typesafe.string,
|
|
33
|
+
containsCI: Typesafe.string,
|
|
34
|
+
startsWithCI: Typesafe.string,
|
|
35
|
+
endsWithCI: Typesafe.string
|
|
36
|
+
} : {}
|
|
37
|
+
}));
|
|
38
|
+
return objectSchema(input, path);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const resolveColumnMetadata = (type) => {
|
|
42
|
+
const resolvedType = Typesafe.nullable(resolveColumnTypeSchema(type));
|
|
43
|
+
return {
|
|
44
|
+
type: resolvedType,
|
|
45
|
+
isJson: type === Model.ColumnType.Json,
|
|
46
|
+
isString: type === Model.ColumnType.String
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const resolveColumnTypeSchema = (type) => {
|
|
50
|
+
switch (type) {
|
|
51
|
+
case Model.ColumnType.Bool:
|
|
52
|
+
return Typesafe.boolean;
|
|
53
|
+
case Model.ColumnType.Date:
|
|
54
|
+
case Model.ColumnType.DateTime:
|
|
55
|
+
case Model.ColumnType.Uuid:
|
|
56
|
+
case Model.ColumnType.Enum:
|
|
57
|
+
case Model.ColumnType.String:
|
|
58
|
+
return Typesafe.string;
|
|
59
|
+
case Model.ColumnType.Double:
|
|
60
|
+
return Typesafe.number;
|
|
61
|
+
case Model.ColumnType.Int:
|
|
62
|
+
return Typesafe.integer;
|
|
63
|
+
case Model.ColumnType.Json:
|
|
64
|
+
return Typesafe.anyJson;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
conditionSchema
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.js","sources":["../../../../../packages/schema-utils/src/type-schema/condition.ts"],"sourcesContent":["import * as Typesafe from '@contember/typesafe'\nimport { Json, Type } from '@contember/typesafe'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport const conditionSchema = <T extends Value.FieldValue>(type?: Model.ColumnType): Type<Input.Condition<T>> => {\n\tconst metadata = type ? resolveColumnMetadata(type) : { type: Typesafe.scalar }\n\treturn conditionSchemaInner(metadata)\n}\n\ninterface ResolvedColumnMetadata<T extends Json> {\n\ttype: Typesafe.Type<T>\n\tisJson?: boolean\n\tisString?: boolean\n}\n\nconst conditionSchemaInner = <T extends Json>(metadata: ResolvedColumnMetadata<T>): Type<Input.Condition<T>> => {\n\treturn (input: unknown, path: PropertyKey[] = []): Input.Condition<T> => {\n\t\tconst self = conditionSchemaInner(metadata)\n\t\tconst inner = metadata.type\n\t\tconst objectSchema = Typesafe.noExtraProps(Typesafe.partial({\n\t\t\tand: Typesafe.array(self),\n\t\t\tor: Typesafe.array(self),\n\t\t\tnot: self,\n\t\t\tnull: Typesafe.boolean,\n\t\t\tisNull: Typesafe.boolean,\n\t\t\tnever: Typesafe.true_,\n\t\t\talways: Typesafe.true_,\n\t\t\t...(metadata.isJson !== true ? {\n\t\t\t\teq: inner,\n\t\t\t\tnotEq: inner,\n\t\t\t\tin: Typesafe.array(inner),\n\t\t\t\tnotIn: Typesafe.array(inner),\n\t\t\t\tlt: inner,\n\t\t\t\tlte: inner,\n\t\t\t\tgt: inner,\n\t\t\t\tgte: inner,\n\t\t\t} : {}),\n\t\t\t...(metadata.isString !== false ? {\n\t\t\t\tcontains: Typesafe.string,\n\t\t\t\tstartsWith: Typesafe.string,\n\t\t\t\tendsWith: Typesafe.string,\n\t\t\t\tcontainsCI: Typesafe.string,\n\t\t\t\tstartsWithCI: Typesafe.string,\n\t\t\t\tendsWithCI: Typesafe.string,\n\t\t\t} : {}),\n\t\t}))\n\t\treturn objectSchema(input, path) as Input.Condition<T>\n\t}\n}\n\nconst resolveColumnMetadata = (type: Model.ColumnType): ResolvedColumnMetadata<any> => {\n\tconst resolvedType = Typesafe.nullable(resolveColumnTypeSchema(type))\n\treturn {\n\t\ttype: resolvedType,\n\t\tisJson: type === Model.ColumnType.Json,\n\t\tisString: type === Model.ColumnType.String,\n\n\t}\n}\n\n\nconst resolveColumnTypeSchema = (type: Model.ColumnType) => {\n\tswitch (type) {\n\t\tcase Model.ColumnType.Bool:\n\t\t\treturn Typesafe.boolean\n\n\t\t// todo: validate format of string-like inputs uuid, date, enum\n\t\tcase Model.ColumnType.Date:\n\t\tcase Model.ColumnType.DateTime:\n\t\tcase Model.ColumnType.Uuid:\n\t\tcase Model.ColumnType.Enum:\n\t\tcase Model.ColumnType.String:\n\t\t\treturn Typesafe.string\n\t\tcase Model.ColumnType.Double:\n\t\t\treturn Typesafe.number\n\t\tcase Model.ColumnType.Int:\n\t\t\treturn Typesafe.integer\n\t\tcase Model.ColumnType.Json:\n\t\t\treturn Typesafe.anyJson\n\t}\n}\n"],"names":[],"mappings":";;AAIa,MAAA,kBAAkB,CAA6B,SAAsD;AAC3G,QAAA,WAAW,OAAO,sBAAsB,IAAI,IAAI,EAAE,MAAM,SAAS;AACvE,SAAO,qBAAqB,QAAQ;AACrC;AAQA,MAAM,uBAAuB,CAAiB,aAAkE;AAC/G,SAAO,CAAC,OAAgB,OAAsB,OAA2B;AAClE,UAAA,OAAO,qBAAqB,QAAQ;AAC1C,UAAM,QAAQ,SAAS;AACvB,UAAM,eAAe,SAAS,aAAa,SAAS,QAAQ;AAAA,MAC3D,KAAK,SAAS,MAAM,IAAI;AAAA,MACxB,IAAI,SAAS,MAAM,IAAI;AAAA,MACvB,KAAK;AAAA,MACL,MAAM,SAAS;AAAA,MACf,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,MAChB,QAAQ,SAAS;AAAA,MACjB,GAAI,SAAS,WAAW,OAAO;AAAA,QAC9B,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,IAAI,SAAS,MAAM,KAAK;AAAA,QACxB,OAAO,SAAS,MAAM,KAAK;AAAA,QAC3B,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,KAAK;AAAA,MAAA,IACF,CAAC;AAAA,MACL,GAAI,SAAS,aAAa,QAAQ;AAAA,QACjC,UAAU,SAAS;AAAA,QACnB,YAAY,SAAS;AAAA,QACrB,UAAU,SAAS;AAAA,QACnB,YAAY,SAAS;AAAA,QACrB,cAAc,SAAS;AAAA,QACvB,YAAY,SAAS;AAAA,MAAA,IAClB,CAAC;AAAA,IACL,CAAA,CAAC;AACK,WAAA,aAAa,OAAO,IAAI;AAAA,EAAA;AAEjC;AAEA,MAAM,wBAAwB,CAAC,SAAwD;AACtF,QAAM,eAAe,SAAS,SAAS,wBAAwB,IAAI,CAAC;AAC7D,SAAA;AAAA,IACN,MAAM;AAAA,IACN,QAAQ,SAAS,MAAM,WAAW;AAAA,IAClC,UAAU,SAAS,MAAM,WAAW;AAAA,EAAA;AAGtC;AAGA,MAAM,0BAA0B,CAAC,SAA2B;AAC3D,UAAQ,MAAM;AAAA,IACb,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IAGjB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AAAA,IACtB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,IACjB,KAAK,MAAM,WAAW;AACrB,aAAO,SAAS;AAAA,EAClB;AACD;"}
|