@contember/schema-utils 1.2.0-alpha.9 → 1.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/acl/PredicateDefinitionProcessor.js +2 -2
- package/dist/src/acl/PredicateDefinitionProcessor.js.map +1 -1
- package/dist/src/definition-generator/TsDefinitionGenerator.d.ts +26 -0
- package/dist/src/definition-generator/TsDefinitionGenerator.d.ts.map +1 -0
- package/dist/src/definition-generator/TsDefinitionGenerator.js +246 -0
- package/dist/src/definition-generator/TsDefinitionGenerator.js.map +1 -0
- package/dist/src/definition-generator/index.d.ts +2 -0
- package/dist/src/definition-generator/index.d.ts.map +1 -0
- package/dist/src/definition-generator/index.js +18 -0
- package/dist/src/definition-generator/index.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lax/LaxSchemaConverter.d.ts +10 -0
- package/dist/src/lax/LaxSchemaConverter.d.ts.map +1 -0
- package/dist/src/lax/LaxSchemaConverter.js +204 -0
- package/dist/src/lax/LaxSchemaConverter.js.map +1 -0
- package/dist/src/lax/index.d.ts +3 -0
- package/dist/src/lax/index.d.ts.map +1 -0
- package/dist/src/lax/index.js +6 -0
- package/dist/src/lax/index.js.map +1 -0
- package/dist/src/lax/schema.d.ts +284 -0
- package/dist/src/lax/schema.d.ts.map +1 -0
- package/dist/src/lax/schema.js +67 -0
- package/dist/src/lax/schema.js.map +1 -0
- package/dist/src/model/NamingConventions.d.ts +17 -0
- package/dist/src/model/NamingConventions.d.ts.map +1 -0
- package/dist/src/model/NamingConventions.js +29 -0
- package/dist/src/model/NamingConventions.js.map +1 -0
- package/dist/src/model/NamingHelper.d.ts +2 -0
- package/dist/src/model/NamingHelper.d.ts.map +1 -1
- package/dist/src/model/NamingHelper.js +10 -2
- package/dist/src/model/NamingHelper.js.map +1 -1
- package/dist/src/model/index.d.ts +2 -0
- package/dist/src/model/index.d.ts.map +1 -1
- package/dist/src/model/index.js +2 -0
- package/dist/src/model/index.js.map +1 -1
- package/dist/src/model/modelUtils.d.ts +1 -0
- package/dist/src/model/modelUtils.d.ts.map +1 -1
- package/dist/src/model/modelUtils.js +69 -46
- package/dist/src/model/modelUtils.js.map +1 -1
- package/dist/src/model/resolveDefaultColumnType.d.ts +3 -0
- package/dist/src/model/resolveDefaultColumnType.d.ts.map +1 -0
- package/dist/src/model/resolveDefaultColumnType.js +29 -0
- package/dist/src/model/resolveDefaultColumnType.js.map +1 -0
- package/dist/src/schemaNormalizer.d.ts.map +1 -1
- package/dist/src/schemaNormalizer.js +1 -0
- package/dist/src/schemaNormalizer.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/type-schema/acl.d.ts.map +1 -1
- package/dist/src/type-schema/acl.js +15 -4
- package/dist/src/type-schema/acl.js.map +1 -1
- package/dist/src/type-schema/index.d.ts +1 -0
- package/dist/src/type-schema/index.d.ts.map +1 -1
- package/dist/src/type-schema/index.js +1 -0
- package/dist/src/type-schema/index.js.map +1 -1
- package/dist/src/type-schema/model.js +1 -1
- package/dist/src/type-schema/model.js.map +1 -1
- package/dist/src/type-schema/settings.d.ts +10 -0
- package/dist/src/type-schema/settings.d.ts.map +1 -0
- package/dist/src/type-schema/settings.js +32 -0
- package/dist/src/type-schema/settings.js.map +1 -0
- package/dist/src/validation/AclValidator.d.ts.map +1 -1
- package/dist/src/validation/AclValidator.js +11 -11
- package/dist/src/validation/AclValidator.js.map +1 -1
- package/dist/src/validation/MembershipResolver.d.ts.map +1 -1
- package/dist/src/validation/MembershipResolver.js +12 -3
- package/dist/src/validation/MembershipResolver.js.map +1 -1
- package/dist/src/validation/ModelValidator.d.ts.map +1 -1
- package/dist/src/validation/ModelValidator.js +77 -43
- package/dist/src/validation/ModelValidator.js.map +1 -1
- package/dist/src/validation/SchemaValidator.d.ts +6 -2
- package/dist/src/validation/SchemaValidator.d.ts.map +1 -1
- package/dist/src/validation/SchemaValidator.js +7 -2
- package/dist/src/validation/SchemaValidator.js.map +1 -1
- package/dist/src/validation/ValidationValidator.js +4 -4
- package/dist/src/validation/ValidationValidator.js.map +1 -1
- package/dist/src/validation/errors.d.ts +3 -1
- package/dist/src/validation/errors.d.ts.map +1 -1
- package/dist/src/validation/errors.js +2 -2
- package/dist/src/validation/errors.js.map +1 -1
- 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/laxSchemaConverter.test.js +118 -0
- package/dist/tests/cases/unit/laxSchemaConverter.test.js.map +1 -0
- package/dist/tests/cases/unit/membershipResolver.test.js +19 -0
- package/dist/tests/cases/unit/membershipResolver.test.js.map +1 -1
- 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/modelValidator.test.js +141 -0
- package/dist/tests/cases/unit/modelValidator.test.js.map +1 -0
- package/dist/tests/cases/unit/schemas/basic.d.ts +5 -0
- package/dist/tests/cases/unit/schemas/basic.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/basic.js +11 -0
- package/dist/tests/cases/unit/schemas/basic.js.map +1 -0
- package/dist/tests/cases/unit/schemas/enum.d.ts +7 -0
- package/dist/tests/cases/unit/schemas/enum.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/enum.js +13 -0
- package/dist/tests/cases/unit/schemas/enum.js.map +1 -0
- package/dist/tests/cases/unit/schemas/relations.d.ts +15 -0
- package/dist/tests/cases/unit/schemas/relations.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/relations.js +27 -0
- package/dist/tests/cases/unit/schemas/relations.js.map +1 -0
- package/dist/tests/cases/unit/schemas/unique.d.ts +5 -0
- package/dist/tests/cases/unit/schemas/unique.d.ts.map +1 -0
- package/dist/tests/cases/unit/schemas/unique.js +20 -0
- package/dist/tests/cases/unit/schemas/unique.js.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/tsDefinitionGenerator.test.js +56 -0
- package/dist/tests/cases/unit/tsDefinitionGenerator.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/acl/PredicateDefinitionProcessor.ts +2 -2
- package/src/definition-generator/TsDefinitionGenerator.ts +275 -0
- package/src/definition-generator/index.ts +1 -0
- package/src/index.ts +5 -1
- package/src/lax/LaxSchemaConverter.ts +213 -0
- package/src/lax/index.ts +9 -0
- package/src/lax/schema.ts +62 -0
- package/src/model/NamingConventions.ts +53 -0
- package/src/model/NamingHelper.ts +11 -1
- package/src/model/index.ts +2 -0
- package/src/model/modelUtils.ts +76 -71
- package/src/model/resolveDefaultColumnType.ts +25 -0
- package/src/schemaNormalizer.ts +1 -0
- package/src/type-schema/acl.ts +30 -11
- package/src/type-schema/index.ts +1 -0
- package/src/type-schema/model.ts +1 -1
- package/src/type-schema/settings.ts +8 -0
- package/src/validation/AclValidator.ts +10 -11
- package/src/validation/MembershipResolver.ts +10 -3
- package/src/validation/ModelValidator.ts +77 -45
- package/src/validation/SchemaValidator.ts +17 -4
- package/src/validation/ValidationValidator.ts +4 -4
- package/src/validation/errors.ts +25 -2
- package/tests/cases/unit/__snapshots__/laxSchemaConverter.test.ts.snap +310 -0
- package/tests/cases/unit/laxSchemaConverter.test.ts +137 -0
- package/tests/cases/unit/membershipResolver.test.ts +22 -0
- package/tests/cases/unit/modelValidator.test.ts +143 -0
- package/tests/cases/unit/schemas/.eslintignore +1 -0
- package/tests/cases/unit/schemas/basic.ts +5 -0
- package/tests/cases/unit/schemas/enum.ts +8 -0
- package/tests/cases/unit/schemas/relations.ts +17 -0
- package/tests/cases/unit/schemas/unique.ts +6 -0
- package/tests/cases/unit/tsDefinitionGenerator.test.ts +31 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValidator.js","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelValidator.js","sourceRoot":"","sources":["../../../src/validation/ModelValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema';
|
|
2
|
-
import { ValidationError } from './errors';
|
|
2
|
+
import { ValidationError, ValidationErrorCode } from './errors';
|
|
3
|
+
export interface SchemaValidatorSkippedErrors {
|
|
4
|
+
code: ValidationErrorCode;
|
|
5
|
+
path?: string;
|
|
6
|
+
}
|
|
3
7
|
export declare class SchemaValidator {
|
|
4
|
-
static validate(schema: Schema): ValidationError[];
|
|
8
|
+
static validate(schema: Schema, skippedErrors?: SchemaValidatorSkippedErrors[]): ValidationError[];
|
|
5
9
|
}
|
|
6
10
|
//# sourceMappingURL=SchemaValidator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"SchemaValidator.d.ts","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAK/D,MAAM,WAAW,4BAA4B;IAC5C,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,eAAe;WACb,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,4BAA4B,EAAO,GAAG,eAAe,EAAE;CAqB7G"}
|
|
@@ -5,14 +5,19 @@ const AclValidator_1 = require("./AclValidator");
|
|
|
5
5
|
const ModelValidator_1 = require("./ModelValidator");
|
|
6
6
|
const ValidationValidator_1 = require("./ValidationValidator");
|
|
7
7
|
class SchemaValidator {
|
|
8
|
-
static validate(schema) {
|
|
8
|
+
static validate(schema, skippedErrors = []) {
|
|
9
9
|
const modelValidator = new ModelValidator_1.ModelValidator(schema.model);
|
|
10
10
|
const modelErrors = modelValidator.validate();
|
|
11
11
|
const aclValidator = new AclValidator_1.AclValidator(schema.model);
|
|
12
12
|
const aclErrors = aclValidator.validate(schema.acl);
|
|
13
13
|
const validationValidator = new ValidationValidator_1.ValidationValidator(schema.model);
|
|
14
14
|
const validationErrors = validationValidator.validate(schema.validation);
|
|
15
|
-
|
|
15
|
+
const allErrors = [...aclErrors, ...modelErrors, ...validationErrors];
|
|
16
|
+
if (skippedErrors.length === 0) {
|
|
17
|
+
return allErrors;
|
|
18
|
+
}
|
|
19
|
+
return allErrors.filter(err => !skippedErrors.some(rule => err.code === rule.code
|
|
20
|
+
&& (!rule.path || err.path.join('.') === rule.path)));
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
exports.SchemaValidator = SchemaValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,qDAAiD;AACjD,+DAA2D;
|
|
1
|
+
{"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../../src/validation/SchemaValidator.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAC7C,qDAAiD;AACjD,+DAA2D;AAO3D,MAAa,eAAe;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,gBAAgD,EAAE;QACxF,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;QAE7C,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAGnD,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACxE,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,CAAA;QACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,SAAS,CAAA;SAChB;QACD,OAAO,SAAS,CAAC,MAAM,CACtB,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CACzB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;eAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CACpD,CACD,CAAA;IACF,CAAC;CACD;AAtBD,0CAsBC"}
|
|
@@ -13,7 +13,7 @@ class ValidationValidator {
|
|
|
13
13
|
const entity = this.model.entities[entityName];
|
|
14
14
|
const entityErrorBuilder = errorBuilder.for(entityName);
|
|
15
15
|
if (!entity) {
|
|
16
|
-
entityErrorBuilder.add('Entity not found');
|
|
16
|
+
entityErrorBuilder.add('VALIDATION_UNDEFINED_ENTITY', 'Entity not found');
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
19
|
this.validateEntityRules(entityErrorBuilder, schema[entityName], entity);
|
|
@@ -26,7 +26,7 @@ class ValidationValidator {
|
|
|
26
26
|
const field = entity.fields[fieldName];
|
|
27
27
|
const fieldErrorBuilder = errorBuilder.for(fieldName);
|
|
28
28
|
if (!field) {
|
|
29
|
-
fieldErrorBuilder.add('Field not found');
|
|
29
|
+
fieldErrorBuilder.add('VALIDATION_UNDEFINED_FIELD', 'Field not found');
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
this.validateFieldRules(fieldErrorBuilder, entitySchema[fieldName], entity, field);
|
|
@@ -47,7 +47,7 @@ class ValidationValidator {
|
|
|
47
47
|
},
|
|
48
48
|
});
|
|
49
49
|
if (errorMessage) {
|
|
50
|
-
return errorBuilder.add(errorMessage);
|
|
50
|
+
return errorBuilder.add('VALIDATION_NOT_IMPLEMENTED', errorMessage);
|
|
51
51
|
}
|
|
52
52
|
this.validateValidator(errorBuilder.for('validator'), rule.validator, entity, field);
|
|
53
53
|
}
|
|
@@ -99,7 +99,7 @@ class ValidationValidator {
|
|
|
99
99
|
visitRelation: () => true,
|
|
100
100
|
});
|
|
101
101
|
if (isRelation) {
|
|
102
|
-
errorBuilder.add('Rules depending on relations are currently not supported.');
|
|
102
|
+
errorBuilder.add('VALIDATION_NOT_IMPLEMENTED', 'Rules depending on relations are currently not supported.');
|
|
103
103
|
return undefined;
|
|
104
104
|
}
|
|
105
105
|
return entity.fields[argument.path[0]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationValidator.js","sourceRoot":"","sources":["../../../src/validation/ValidationValidator.ts"],"names":[],"mappings":";;;AACA,qCAAwD;AACxD,oCAA6C;AAE7C,MAAa,mBAAmB;IAC/B,YAA6B,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IAE7C,QAAQ,CAAC,MAAyB;QACxC,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;QACzD,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC9C,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,EAAE;gBACZ,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ValidationValidator.js","sourceRoot":"","sources":["../../../src/validation/ValidationValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
export declare type ValidationErrorCode = 'MODEL_NAME_MISMATCH' | 'MODEL_UNDEFINED_FIELD' | 'MODEL_UNDEFINED_ENTITY' | 'MODEL_RELATION_REQUIRED' | 'MODEL_INVALID_RELATION_DEFINITION' | 'MODEL_INVALID_COLUMN_DEFINITION' | 'MODEL_INVALID_VIEW_USAGE' | 'MODEL_INVALID_IDENTIFIER' | 'MODEL_NAME_COLLISION' | 'ACL_INVALID_CONDITION' | 'ACL_UNDEFINED_VARIABLE' | 'ACL_UNDEFINED_FIELD' | 'ACL_UNDEFINED_PREDICATE' | 'ACL_UNDEFINED_ROLE' | 'ACL_UNDEFINED_ENTITY' | 'VALIDATION_UNDEFINED_ENTITY' | 'VALIDATION_UNDEFINED_FIELD' | 'VALIDATION_NOT_IMPLEMENTED';
|
|
1
2
|
export interface ValidationError {
|
|
2
3
|
path: (string | number)[];
|
|
3
4
|
message: string;
|
|
5
|
+
code: ValidationErrorCode;
|
|
4
6
|
}
|
|
5
7
|
export declare class ErrorBuilder {
|
|
6
8
|
readonly errors: ValidationError[];
|
|
7
9
|
private readonly path;
|
|
8
10
|
constructor(errors: ValidationError[], path?: string[]);
|
|
9
11
|
for(...path: string[]): ErrorBuilder;
|
|
10
|
-
add(message: string): void;
|
|
12
|
+
add(code: ValidationErrorCode, message: string): void;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAC5B,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,mCAAmC,GACnC,iCAAiC,GACjC,0BAA0B,GAC1B,0BAA0B,GAC1B,sBAAsB,GAEtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,oBAAoB,GACpB,sBAAsB,GAEtB,6BAA6B,GAC7B,4BAA4B,GAC5B,4BAA4B,CAAA;AAE/B,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,mBAAmB,CAAA;CACzB;AAED,qBAAa,YAAY;aACI,MAAM,EAAE,eAAe,EAAE;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAhD,MAAM,EAAE,eAAe,EAAE,EAAmB,IAAI,GAAE,MAAM,EAAO;IAE3F,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAIpC,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAGrD"}
|
|
@@ -9,8 +9,8 @@ class ErrorBuilder {
|
|
|
9
9
|
for(...path) {
|
|
10
10
|
return new ErrorBuilder(this.errors, [...this.path, ...path]);
|
|
11
11
|
}
|
|
12
|
-
add(message) {
|
|
13
|
-
this.errors.push({ path: this.path, message });
|
|
12
|
+
add(code, message) {
|
|
13
|
+
this.errors.push({ path: this.path, message, code });
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.ErrorBuilder = ErrorBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/validation/errors.ts"],"names":[],"mappings":";;;AA4BA,MAAa,YAAY;IACxB,YAA4B,MAAyB,EAAmB,OAAiB,EAAE;QAA/D,WAAM,GAAN,MAAM,CAAmB;QAAmB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAE/F,GAAG,CAAC,GAAG,IAAc;QACpB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,GAAG,CAAC,IAAyB,EAAE,OAAe;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;CACD;AAVD,oCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"laxSchemaConverter.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/unit/laxSchemaConverter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const src_1 = require("../../../src");
|
|
5
|
+
(0, vitest_1.test)('lax schema converter basic', () => {
|
|
6
|
+
const converter = new src_1.LaxSchemaConverter({
|
|
7
|
+
entities: {
|
|
8
|
+
Article: {
|
|
9
|
+
fields: {
|
|
10
|
+
title: { type: 'string', notNull: true },
|
|
11
|
+
content: { type: 'json' },
|
|
12
|
+
state: { type: 'enum', values: ['draft', 'published', 'archived'], enumName: 'ArticleState' },
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.expect)(converter.convert()).toMatchSnapshot();
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.test)('lax schema converter one-has-many', () => {
|
|
20
|
+
const converter = new src_1.LaxSchemaConverter({
|
|
21
|
+
entities: {
|
|
22
|
+
Article: {
|
|
23
|
+
fields: {
|
|
24
|
+
title: { type: 'string', notNull: true },
|
|
25
|
+
category: { type: 'manyHasOne', targetEntity: 'Category', targetField: 'articles' },
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
Category: {
|
|
29
|
+
fields: {
|
|
30
|
+
articles: { type: 'oneHasMany', targetEntity: 'Article', targetField: 'category' },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const schema1 = converter.convert();
|
|
36
|
+
(0, vitest_1.expect)(schema1).toMatchSnapshot();
|
|
37
|
+
const converter2 = new src_1.LaxSchemaConverter({
|
|
38
|
+
entities: {
|
|
39
|
+
Article: {
|
|
40
|
+
fields: {
|
|
41
|
+
title: { type: 'string', notNull: true },
|
|
42
|
+
category: { type: 'manyHasOne', targetEntity: 'Category', targetField: 'articles' },
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
Category: {
|
|
46
|
+
fields: {},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
(0, vitest_1.expect)(converter2.convert()).deep.eq(schema1);
|
|
51
|
+
});
|
|
52
|
+
(0, vitest_1.test)('lax schema converter many-has-many', () => {
|
|
53
|
+
const converter = new src_1.LaxSchemaConverter({
|
|
54
|
+
entities: {
|
|
55
|
+
Article: {
|
|
56
|
+
fields: {
|
|
57
|
+
title: { type: 'string', notNull: true },
|
|
58
|
+
tags: { type: 'manyHasMany', targetEntity: 'Tag', targetField: 'articles' },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
Tag: {
|
|
62
|
+
fields: {
|
|
63
|
+
articles: { type: 'manyHasManyInverse', targetEntity: 'Article', targetField: 'tags' },
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const schema1 = converter.convert();
|
|
69
|
+
(0, vitest_1.expect)(schema1).toMatchSnapshot();
|
|
70
|
+
const converter2 = new src_1.LaxSchemaConverter({
|
|
71
|
+
entities: {
|
|
72
|
+
Article: {
|
|
73
|
+
fields: {
|
|
74
|
+
title: { type: 'string', notNull: true },
|
|
75
|
+
tags: { type: 'manyHasMany', targetEntity: 'Tag', targetField: 'articles' },
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
Tag: {
|
|
79
|
+
fields: {},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
(0, vitest_1.expect)(converter2.convert()).deep.eq(schema1);
|
|
84
|
+
});
|
|
85
|
+
(0, vitest_1.test)('lax schema converter one-has-one', () => {
|
|
86
|
+
const converter = new src_1.LaxSchemaConverter({
|
|
87
|
+
entities: {
|
|
88
|
+
Article: {
|
|
89
|
+
fields: {
|
|
90
|
+
title: { type: 'string', notNull: true },
|
|
91
|
+
content: { type: 'oneHasOne', targetEntity: 'Content', targetField: 'article' },
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
Content: {
|
|
95
|
+
fields: {
|
|
96
|
+
article: { type: 'oneHasOneInverse', targetEntity: 'Article', targetField: 'content' },
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
const schema1 = converter.convert();
|
|
102
|
+
(0, vitest_1.expect)(schema1).toMatchSnapshot();
|
|
103
|
+
const converter2 = new src_1.LaxSchemaConverter({
|
|
104
|
+
entities: {
|
|
105
|
+
Article: {
|
|
106
|
+
fields: {
|
|
107
|
+
title: { type: 'string', notNull: true },
|
|
108
|
+
content: { type: 'oneHasOne', targetEntity: 'Content', targetField: 'article' },
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
Content: {
|
|
112
|
+
fields: {},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
(0, vitest_1.expect)(converter2.convert()).deep.eq(schema1);
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=laxSchemaConverter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"laxSchemaConverter.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/laxSchemaConverter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,4 +146,23 @@ const id1 = 'bff057b3-11f7-4bc7-abe3-1f2ef266824d';
|
|
|
146
146
|
{ role: 'editor', variables: [] },
|
|
147
147
|
]);
|
|
148
148
|
});
|
|
149
|
+
(0, vitest_1.test)('use fallback value', () => {
|
|
150
|
+
const reader = new src_1.MembershipResolver();
|
|
151
|
+
const result = reader.resolve({
|
|
152
|
+
roles: {
|
|
153
|
+
editor: {
|
|
154
|
+
variables: {
|
|
155
|
+
localeID: { type: schema_1.Acl.VariableType.condition, fallback: { always: true } },
|
|
156
|
+
},
|
|
157
|
+
entities: {},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
}, [
|
|
161
|
+
{ role: 'editor', variables: [] },
|
|
162
|
+
], src_1.MembershipResolver.UnknownIdentity);
|
|
163
|
+
vitest_1.assert.deepStrictEqual(result.errors, []);
|
|
164
|
+
vitest_1.assert.deepStrictEqual(result.memberships, [
|
|
165
|
+
{ role: 'editor', variables: [{ name: 'localeID', condition: { always: true } }] },
|
|
166
|
+
]);
|
|
167
|
+
});
|
|
149
168
|
//# sourceMappingURL=membershipResolver.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membershipResolver.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/membershipResolver.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"membershipResolver.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/membershipResolver.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelValidator.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/unit/modelValidator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const schema_1 = require("@contember/schema");
|
|
5
|
+
const src_1 = require("../../../src");
|
|
6
|
+
(0, vitest_1.test)('index name collision', () => {
|
|
7
|
+
const model = {
|
|
8
|
+
enums: {},
|
|
9
|
+
entities: {
|
|
10
|
+
Foo: {
|
|
11
|
+
fields: {
|
|
12
|
+
id: {
|
|
13
|
+
columnName: 'id',
|
|
14
|
+
name: 'id',
|
|
15
|
+
nullable: false,
|
|
16
|
+
type: schema_1.Model.ColumnType.Uuid,
|
|
17
|
+
columnType: 'uuid',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
name: 'Foo',
|
|
21
|
+
primary: 'id',
|
|
22
|
+
primaryColumn: 'id',
|
|
23
|
+
tableName: 'foo',
|
|
24
|
+
unique: {},
|
|
25
|
+
eventLog: {
|
|
26
|
+
enabled: true,
|
|
27
|
+
},
|
|
28
|
+
indexes: {
|
|
29
|
+
test: { fields: ['id'], name: 'test' },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
Bar: {
|
|
33
|
+
fields: {
|
|
34
|
+
id: {
|
|
35
|
+
columnName: 'id',
|
|
36
|
+
name: 'id',
|
|
37
|
+
nullable: false,
|
|
38
|
+
type: schema_1.Model.ColumnType.Uuid,
|
|
39
|
+
columnType: 'uuid',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
name: 'Bar',
|
|
43
|
+
primary: 'id',
|
|
44
|
+
primaryColumn: 'id',
|
|
45
|
+
tableName: 'bar',
|
|
46
|
+
unique: {
|
|
47
|
+
test: { fields: ['id'], name: 'test' },
|
|
48
|
+
},
|
|
49
|
+
eventLog: {
|
|
50
|
+
enabled: true,
|
|
51
|
+
},
|
|
52
|
+
indexes: {
|
|
53
|
+
foo: { fields: ['id'], name: 'foo' },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const validator = new src_1.ModelValidator(model);
|
|
59
|
+
vitest_1.assert.deepStrictEqual(validator.validate(), [
|
|
60
|
+
{
|
|
61
|
+
code: 'MODEL_NAME_COLLISION',
|
|
62
|
+
message: 'index name foo of entity Bar collides with table name foo of entity Foo',
|
|
63
|
+
path: ['entities', 'Bar'],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
code: 'MODEL_NAME_COLLISION',
|
|
67
|
+
message: 'unique index name test of entity Bar collides with index name test of entity Foo',
|
|
68
|
+
path: ['entities', 'Bar'],
|
|
69
|
+
},
|
|
70
|
+
]);
|
|
71
|
+
});
|
|
72
|
+
(0, vitest_1.test)('"meta" collision', () => {
|
|
73
|
+
const model = {
|
|
74
|
+
enums: {},
|
|
75
|
+
entities: {
|
|
76
|
+
Foo: {
|
|
77
|
+
fields: {
|
|
78
|
+
id: {
|
|
79
|
+
columnName: 'id',
|
|
80
|
+
name: 'id',
|
|
81
|
+
nullable: false,
|
|
82
|
+
type: schema_1.Model.ColumnType.Uuid,
|
|
83
|
+
columnType: 'uuid',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
name: 'Foo',
|
|
87
|
+
primary: 'id',
|
|
88
|
+
primaryColumn: 'id',
|
|
89
|
+
tableName: 'foo',
|
|
90
|
+
unique: {},
|
|
91
|
+
eventLog: { enabled: true },
|
|
92
|
+
indexes: {},
|
|
93
|
+
},
|
|
94
|
+
FooMeta: {
|
|
95
|
+
fields: {
|
|
96
|
+
id: {
|
|
97
|
+
columnName: 'id',
|
|
98
|
+
name: 'id',
|
|
99
|
+
nullable: false,
|
|
100
|
+
type: schema_1.Model.ColumnType.Uuid,
|
|
101
|
+
columnType: 'uuid',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
name: 'FooMeta',
|
|
105
|
+
primary: 'id',
|
|
106
|
+
primaryColumn: 'id',
|
|
107
|
+
tableName: 'foo_meta',
|
|
108
|
+
unique: {},
|
|
109
|
+
eventLog: { enabled: true },
|
|
110
|
+
indexes: {},
|
|
111
|
+
},
|
|
112
|
+
BarMeta: {
|
|
113
|
+
fields: {
|
|
114
|
+
id: {
|
|
115
|
+
columnName: 'id',
|
|
116
|
+
name: 'id',
|
|
117
|
+
nullable: false,
|
|
118
|
+
type: schema_1.Model.ColumnType.Uuid,
|
|
119
|
+
columnType: 'uuid',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
name: 'BarMeta',
|
|
123
|
+
primary: 'id',
|
|
124
|
+
primaryColumn: 'id',
|
|
125
|
+
tableName: 'bar',
|
|
126
|
+
unique: {},
|
|
127
|
+
eventLog: { enabled: true },
|
|
128
|
+
indexes: {},
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
const validator = new src_1.ModelValidator(model);
|
|
133
|
+
vitest_1.assert.deepStrictEqual(validator.validate(), [
|
|
134
|
+
{
|
|
135
|
+
code: 'MODEL_NAME_COLLISION',
|
|
136
|
+
message: 'entity FooMeta collides with entity Foo, because a GraphQL type with "Meta" suffix is created for every entity',
|
|
137
|
+
path: ['entities', 'FooMeta'],
|
|
138
|
+
},
|
|
139
|
+
]);
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=modelValidator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelValidator.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/modelValidator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/schemas/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAEtE,qBAAa,OAAO;IACnB,KAAK,uBAAqB;CAC1B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Article = void 0;
|
|
4
|
+
const schema_definition_1 = require("@contember/schema-definition");
|
|
5
|
+
class Article {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.title = schema_definition_1.SchemaDefinition.stringColumn();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.Article = Article;
|
|
11
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../tests/cases/unit/schemas/basic.ts"],"names":[],"mappings":";;;AAAA,oEAAsE;AAEtE,MAAa,OAAO;IAApB;QACC,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;IAC3B,CAAC;CAAA;AAFD,0BAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SchemaDefinition as def } from '@contember/schema-definition';
|
|
2
|
+
export declare const articleState: def.EnumDefinition<"draft" | "published">;
|
|
3
|
+
export declare class Article {
|
|
4
|
+
title: def.ColumnDefinition;
|
|
5
|
+
state: import("@contember/schema-definition/dist/src/model/definition/types").Interface<def.ColumnDefinition>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/schemas/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAEtE,eAAO,MAAM,YAAY,2CAAuC,CAAA;AAEhE,qBAAa,OAAO;IACnB,KAAK,uBAAqB;IAC1B,KAAK,yGAA0D;CAC/D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Article = exports.articleState = void 0;
|
|
4
|
+
const schema_definition_1 = require("@contember/schema-definition");
|
|
5
|
+
exports.articleState = schema_definition_1.SchemaDefinition.createEnum('draft', 'published');
|
|
6
|
+
class Article {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.title = schema_definition_1.SchemaDefinition.stringColumn();
|
|
9
|
+
this.state = schema_definition_1.SchemaDefinition.enumColumn(exports.articleState).notNull().default('draft');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Article = Article;
|
|
13
|
+
//# sourceMappingURL=enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../tests/cases/unit/schemas/enum.ts"],"names":[],"mappings":";;;AAAA,oEAAsE;AAEzD,QAAA,YAAY,GAAG,oCAAG,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;AAEhE,MAAa,OAAO;IAApB;QACC,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;QAC1B,UAAK,GAAG,oCAAG,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChE,CAAC;CAAA;AAHD,0BAGC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SchemaDefinition as def } from '@contember/schema-definition';
|
|
2
|
+
export declare class Article {
|
|
3
|
+
title: def.ColumnDefinition;
|
|
4
|
+
category: import("@contember/schema-definition/dist/src/model/definition/types").Interface<def.ManyHasOneDefinitionImpl>;
|
|
5
|
+
tags: import("@contember/schema-definition/dist/src/model/definition/types").Interface<def.ManyHasManyDefinitionImpl>;
|
|
6
|
+
}
|
|
7
|
+
export declare class Category {
|
|
8
|
+
name: def.ColumnDefinition;
|
|
9
|
+
articles: import("@contember/schema-definition/dist/src/model/definition/types").Interface<def.OneHasManyDefinitionImpl>;
|
|
10
|
+
}
|
|
11
|
+
export declare class Tag {
|
|
12
|
+
name: def.ColumnDefinition;
|
|
13
|
+
tags: import("@contember/schema-definition/dist/src/model/definition/types").Interface<def.ManyHasManyInverseDefinitionImpl>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=relations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/schemas/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAEtE,qBAAa,OAAO;IACnB,KAAK,uBAAqB;IAC1B,QAAQ,iHAAuC;IAC/C,IAAI,kHAAmC;CACvC;AAED,qBAAa,QAAQ;IACpB,IAAI,uBAAqB;IACzB,QAAQ,iHAAsC;CAC9C;AAED,qBAAa,GAAG;IACf,IAAI,uBAAqB;IACzB,IAAI,yHAA0C;CAC9C"}
|