@contember/schema-utils 1.2.0-alpha.9 → 1.2.0-beta.1
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/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- 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/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/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/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/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/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/acl/PredicateDefinitionProcessor.ts +2 -2
- package/src/index.ts +3 -1
- package/src/model/NamingHelper.ts +11 -1
- package/src/model/modelUtils.ts +76 -71
- 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/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/membershipResolver.test.ts +22 -0
- package/tests/cases/unit/modelValidator.test.ts +143 -0
|
@@ -29,7 +29,7 @@ class ModelValidator {
|
|
|
29
29
|
for (const [entityName, entity] of Object.entries(entities)) {
|
|
30
30
|
const entityErrors = errors.for(entityName);
|
|
31
31
|
if (entity.name !== entityName) {
|
|
32
|
-
entityErrors.add(`Entity name "${entity.name}" does not match the name in a map "${entityName}"`);
|
|
32
|
+
entityErrors.add('MODEL_NAME_MISMATCH', `Entity name "${entity.name}" does not match the name in a map "${entityName}"`);
|
|
33
33
|
}
|
|
34
34
|
this.validateEntity(entity, entityErrors);
|
|
35
35
|
}
|
|
@@ -40,7 +40,7 @@ class ModelValidator {
|
|
|
40
40
|
const fieldErrors = errors.for(fieldName);
|
|
41
41
|
this.validateField(entity, field, fieldErrors);
|
|
42
42
|
if (field.name !== fieldName) {
|
|
43
|
-
fieldErrors.add(`Field name "${field.name}" does not match the name in a map "${fieldName}"`);
|
|
43
|
+
fieldErrors.add('MODEL_NAME_MISMATCH', `Field name "${field.name}" does not match the name in a map "${fieldName}"`);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
this.validateUniqueConstraints(entity.unique, new Set(Object.keys(entity.fields)), errors.for('unique'));
|
|
@@ -49,12 +49,12 @@ class ModelValidator {
|
|
|
49
49
|
for (const [constraintName, constraint] of Object.entries(uniqueConstraints)) {
|
|
50
50
|
const uniqueErrors = errors.for(constraintName);
|
|
51
51
|
if (constraint.name !== constraintName) {
|
|
52
|
-
uniqueErrors.add(`Constraint name ${constraint.name} does not match the name in a map "${constraintName}"`);
|
|
52
|
+
uniqueErrors.add('MODEL_NAME_MISMATCH', `Constraint name ${constraint.name} does not match the name in a map "${constraintName}"`);
|
|
53
53
|
continue;
|
|
54
54
|
}
|
|
55
55
|
for (const field of constraint.fields) {
|
|
56
56
|
if (!fields.has(field)) {
|
|
57
|
-
uniqueErrors.add(`Referenced field ${field} in a constraint does not exists`);
|
|
57
|
+
uniqueErrors.add('MODEL_UNDEFINED_FIELD', `Referenced field ${field} in a constraint does not exists`);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -64,6 +64,11 @@ class ModelValidator {
|
|
|
64
64
|
if (isRelation(field)) {
|
|
65
65
|
this.validateRelation(partialEntity, field, errors);
|
|
66
66
|
}
|
|
67
|
+
else {
|
|
68
|
+
if (field.sequence && field.nullable) {
|
|
69
|
+
errors.add('MODEL_INVALID_COLUMN_DEFINITION', 'Column with sequence cannot be nullable.');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
67
72
|
}
|
|
68
73
|
validateRelation(partialEntity, field, errors) {
|
|
69
74
|
var _a;
|
|
@@ -71,7 +76,7 @@ class ModelValidator {
|
|
|
71
76
|
const targetEntityName = field.target;
|
|
72
77
|
const targetEntity = this.model.entities[targetEntityName] || undefined;
|
|
73
78
|
if (!targetEntity) {
|
|
74
|
-
return errors.add(`Target entity ${targetEntityName} not found`);
|
|
79
|
+
return errors.add('MODEL_UNDEFINED_ENTITY', `Target entity ${targetEntityName} not found`);
|
|
75
80
|
}
|
|
76
81
|
if (((it) => 'orderBy' in it)(field)) {
|
|
77
82
|
(_a = field.orderBy) === null || _a === void 0 ? void 0 : _a.forEach(it => {
|
|
@@ -80,13 +85,13 @@ class ModelValidator {
|
|
|
80
85
|
const orderByField = entity.fields[it.path[i]];
|
|
81
86
|
const pathStr = it.path.slice(0, i + 1).join('.');
|
|
82
87
|
if (!orderByField) {
|
|
83
|
-
errors.add(`Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not defined`);
|
|
88
|
+
errors.add('ACL_UNDEFINED_FIELD', `Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not defined`);
|
|
84
89
|
return;
|
|
85
90
|
}
|
|
86
91
|
if (i + 1 < it.path.length) {
|
|
87
92
|
const targetEntity = (0, model_1.getTargetEntity)(this.model, entity, orderByField.name);
|
|
88
93
|
if (!targetEntity) {
|
|
89
|
-
errors.add(`Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not a relation`);
|
|
94
|
+
errors.add('MODEL_RELATION_REQUIRED', `Invalid orderBy of ${entityName}::${field.name}: field ${pathStr} is not a relation`);
|
|
90
95
|
return;
|
|
91
96
|
}
|
|
92
97
|
entity = targetEntity;
|
|
@@ -96,16 +101,16 @@ class ModelValidator {
|
|
|
96
101
|
}
|
|
97
102
|
if (partialEntity.view) {
|
|
98
103
|
if (field.type === schema_1.Model.RelationType.ManyHasMany) {
|
|
99
|
-
return errors.add('Many-has-many relation is not allowed on a view entity.');
|
|
104
|
+
return errors.add('MODEL_INVALID_VIEW_USAGE', 'Many-has-many relation is not allowed on a view entity.');
|
|
100
105
|
}
|
|
101
106
|
if (!targetEntity.view &&
|
|
102
107
|
field.type === schema_1.Model.RelationType.OneHasMany) {
|
|
103
|
-
return errors.add('One-has-many relation fields on views must point to a view entity.');
|
|
108
|
+
return errors.add('MODEL_INVALID_VIEW_USAGE', 'One-has-many relation fields on views must point to a view entity.');
|
|
104
109
|
}
|
|
105
110
|
if (!targetEntity.view &&
|
|
106
111
|
field.type === schema_1.Model.RelationType.OneHasOne &&
|
|
107
112
|
!('joiningColumn' in field)) {
|
|
108
|
-
return errors.add('One-has-one relation fields on views must be owning or point to a view entity.');
|
|
113
|
+
return errors.add('MODEL_INVALID_VIEW_USAGE', 'One-has-one relation fields on views must be owning or point to a view entity.');
|
|
109
114
|
}
|
|
110
115
|
}
|
|
111
116
|
if ((0, model_1.isInverseRelation)(field)) {
|
|
@@ -113,120 +118,128 @@ class ModelValidator {
|
|
|
113
118
|
const targetField = targetEntity.fields[ownedBy];
|
|
114
119
|
const relationDescription = `Target relation ${targetEntityName}::${ownedBy}:`;
|
|
115
120
|
if (!targetField) {
|
|
116
|
-
return errors.add(`${relationDescription} not exists`);
|
|
121
|
+
return errors.add('MODEL_UNDEFINED_FIELD', `${relationDescription} not exists`);
|
|
117
122
|
}
|
|
118
123
|
if (!isRelation(targetField)) {
|
|
119
|
-
return errors.add(`${relationDescription} not a relation`);
|
|
124
|
+
return errors.add('MODEL_RELATION_REQUIRED', `${relationDescription} not a relation`);
|
|
120
125
|
}
|
|
121
126
|
if (targetField.target !== entityName) {
|
|
122
|
-
return errors.add(`${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`);
|
|
127
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`);
|
|
123
128
|
}
|
|
124
129
|
if (!(0, model_1.isOwningRelation)(targetField)) {
|
|
125
|
-
errors.add(`${relationDescription} not an owning relation`);
|
|
130
|
+
errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} not an owning relation`);
|
|
126
131
|
return;
|
|
127
132
|
}
|
|
128
133
|
if (!targetField.inversedBy) {
|
|
129
|
-
return errors.add(`${relationDescription} inverse relation is not set`);
|
|
134
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} inverse relation is not set`);
|
|
130
135
|
}
|
|
131
136
|
if (targetField.inversedBy !== field.name) {
|
|
132
|
-
return errors.add(`${relationDescription} back reference ${entityName}::${field.name} exepcted, ${targetField.target}::${targetField.inversedBy} given`);
|
|
137
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} exepcted, ${targetField.target}::${targetField.inversedBy} given`);
|
|
133
138
|
}
|
|
134
139
|
if (field.type === schema_1.Model.RelationType.OneHasOne && targetField.type !== schema_1.Model.RelationType.OneHasOne) {
|
|
135
|
-
return errors.add(`${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
140
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
136
141
|
}
|
|
137
142
|
if (field.type === schema_1.Model.RelationType.OneHasMany && targetField.type !== schema_1.Model.RelationType.ManyHasOne) {
|
|
138
|
-
return errors.add(`${relationDescription} "ManyHasOne" type expected, "${targetField.type}" given`);
|
|
143
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "ManyHasOne" type expected, "${targetField.type}" given`);
|
|
139
144
|
}
|
|
140
145
|
if (field.type === schema_1.Model.RelationType.ManyHasMany && targetField.type !== schema_1.Model.RelationType.ManyHasMany) {
|
|
141
|
-
return errors.add(`${relationDescription} "ManyHasMany" type expected, "${targetField.type}" given`);
|
|
146
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "ManyHasMany" type expected, "${targetField.type}" given`);
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
149
|
else {
|
|
145
150
|
const inversedBy = field.inversedBy;
|
|
146
151
|
if (targetEntity.view) {
|
|
147
152
|
if ('joiningColumn' in field) {
|
|
148
|
-
return errors.add(`View entity ${targetEntity.name} cannot be referenced from an owning relation. Try switching the owning side.`);
|
|
153
|
+
return errors.add('MODEL_INVALID_VIEW_USAGE', `View entity ${targetEntity.name} cannot be referenced from an owning relation. Try switching the owning side.`);
|
|
149
154
|
}
|
|
150
155
|
}
|
|
151
156
|
if (inversedBy) {
|
|
152
157
|
const targetField = targetEntity.fields[inversedBy];
|
|
153
158
|
const relationDescription = `Target relation ${targetEntityName}::${inversedBy}:`;
|
|
154
159
|
if (!targetField) {
|
|
155
|
-
return errors.add(`${relationDescription} not exists`);
|
|
160
|
+
return errors.add('MODEL_UNDEFINED_FIELD', `${relationDescription} not exists`);
|
|
156
161
|
}
|
|
157
162
|
if (!isRelation(targetField)) {
|
|
158
|
-
return errors.add(`${relationDescription} not a relation`);
|
|
163
|
+
return errors.add('MODEL_RELATION_REQUIRED', `${relationDescription} not a relation`);
|
|
159
164
|
}
|
|
160
165
|
if (targetField.target !== entityName) {
|
|
161
|
-
return errors.add(`${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`);
|
|
166
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference to entity ${entityName} expected, but ${targetField.target} given`);
|
|
162
167
|
}
|
|
163
168
|
if (!(0, model_1.isInverseRelation)(targetField)) {
|
|
164
|
-
return errors.add(`${relationDescription} not an inverse relation`);
|
|
169
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} not an inverse relation`);
|
|
165
170
|
}
|
|
166
171
|
if (!targetField.ownedBy) {
|
|
167
|
-
return errors.add(`${relationDescription} owning relation is not set`);
|
|
172
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} owning relation is not set`);
|
|
168
173
|
}
|
|
169
174
|
if (targetField.ownedBy !== field.name) {
|
|
170
|
-
return errors.add(`${relationDescription} back reference ${entityName}::${field.name} exepcted, ${targetField.target}::${targetField.ownedBy} given`);
|
|
175
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} back reference ${entityName}::${field.name} exepcted, ${targetField.target}::${targetField.ownedBy} given`);
|
|
171
176
|
}
|
|
172
177
|
if (field.type === schema_1.Model.RelationType.OneHasOne && targetField.type !== schema_1.Model.RelationType.OneHasOne) {
|
|
173
|
-
return errors.add(`${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
178
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "OneHasOne" type expected, "${targetField.type}" given`);
|
|
174
179
|
}
|
|
175
180
|
if (field.type === schema_1.Model.RelationType.ManyHasOne && targetField.type !== schema_1.Model.RelationType.OneHasMany) {
|
|
176
|
-
return errors.add(`${relationDescription} "ManyHasOne" type expected, "${targetField.type}" given`);
|
|
181
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "ManyHasOne" type expected, "${targetField.type}" given`);
|
|
177
182
|
}
|
|
178
183
|
if (field.type === schema_1.Model.RelationType.ManyHasMany && targetField.type !== schema_1.Model.RelationType.ManyHasMany) {
|
|
179
|
-
return errors.add(`${relationDescription} "ManyHasMany" type expected, "${targetField.type}" given`);
|
|
184
|
+
return errors.add('MODEL_INVALID_RELATION_DEFINITION', `${relationDescription} "ManyHasMany" type expected, "${targetField.type}" given`);
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
}
|
|
183
188
|
}
|
|
184
189
|
validateIdentifier(value, errorBuilder) {
|
|
185
190
|
if (!value.match(IDENTIFIER_PATTERN)) {
|
|
186
|
-
return errorBuilder.add(`${value} must match pattern ${IDENTIFIER_PATTERN.source}`);
|
|
191
|
+
return errorBuilder.add('MODEL_INVALID_IDENTIFIER', `${value} must match pattern ${IDENTIFIER_PATTERN.source}`);
|
|
187
192
|
}
|
|
188
193
|
if (RESERVED_WORDS.includes(value)) {
|
|
189
|
-
errorBuilder.add(`${value} is reserved word`);
|
|
194
|
+
errorBuilder.add('MODEL_INVALID_IDENTIFIER', `${value} is reserved word`);
|
|
190
195
|
}
|
|
191
196
|
}
|
|
192
197
|
validateCollisions(entities, errorBuilder) {
|
|
193
|
-
const
|
|
198
|
+
const relationNames = {};
|
|
194
199
|
const aliasedTypes = new Map();
|
|
200
|
+
const entityNames = new Set(entities.map(it => it.name));
|
|
195
201
|
for (const entity of entities) {
|
|
196
|
-
const description = `entity ${entity.name}`;
|
|
197
|
-
if (
|
|
202
|
+
const description = `table name ${entity.tableName} of entity ${entity.name}`;
|
|
203
|
+
if (relationNames[entity.tableName]) {
|
|
198
204
|
errorBuilder
|
|
199
205
|
.for(entity.name)
|
|
200
|
-
.add(
|
|
206
|
+
.add('MODEL_NAME_COLLISION', `${description} collides with a ${relationNames[entity.tableName]}`);
|
|
201
207
|
}
|
|
202
208
|
else {
|
|
203
|
-
|
|
209
|
+
relationNames[entity.tableName] = description;
|
|
210
|
+
}
|
|
211
|
+
if (entity.name.endsWith('Meta')) {
|
|
212
|
+
const baseName = entity.name.substring(0, entity.name.length - 4);
|
|
213
|
+
if (entityNames.has(baseName)) {
|
|
214
|
+
errorBuilder.for(entity.name)
|
|
215
|
+
.add('MODEL_NAME_COLLISION', `entity ${entity.name} collides with entity ${baseName}, because a GraphQL type with "Meta" suffix is created for every entity`);
|
|
216
|
+
}
|
|
204
217
|
}
|
|
205
218
|
}
|
|
206
219
|
for (const entity of entities) {
|
|
207
220
|
const entityErrorBuilder = errorBuilder.for(entity.name);
|
|
208
221
|
(0, model_1.acceptEveryFieldVisitor)(this.model, entity, {
|
|
209
|
-
visitManyHasManyOwning: (entity, relation) => {
|
|
222
|
+
visitManyHasManyOwning: ({ entity, relation }) => {
|
|
210
223
|
const joiningTable = relation.joiningTable;
|
|
211
|
-
const description = `relation ${entity.name}::${relation.name}`;
|
|
212
|
-
if (
|
|
224
|
+
const description = `joining table name ${joiningTable.tableName} of relation ${entity.name}::${relation.name}`;
|
|
225
|
+
if (relationNames[joiningTable.tableName]) {
|
|
213
226
|
entityErrorBuilder
|
|
214
227
|
.for(relation.name)
|
|
215
|
-
.add(
|
|
228
|
+
.add('MODEL_NAME_COLLISION', `${description} collides with a ${relationNames[joiningTable.tableName]}.` +
|
|
216
229
|
'Consider using plural for a relation name or change the joining table name using .joiningTable(...) in schema definition.');
|
|
217
230
|
}
|
|
218
231
|
else {
|
|
219
|
-
|
|
232
|
+
relationNames[joiningTable.tableName] = description;
|
|
220
233
|
}
|
|
221
234
|
},
|
|
222
|
-
visitColumn: (entity, column) => {
|
|
235
|
+
visitColumn: ({ entity, column }) => {
|
|
223
236
|
if (!column.typeAlias) {
|
|
224
237
|
return;
|
|
225
238
|
}
|
|
226
239
|
if (aliasedTypes.has(column.typeAlias) && aliasedTypes.get(column.typeAlias) !== column.type) {
|
|
227
240
|
errorBuilder
|
|
228
241
|
.for(column.name)
|
|
229
|
-
.add(`Type alias ${column.typeAlias} already exists for base type ${column.type}`);
|
|
242
|
+
.add('MODEL_NAME_COLLISION', `Type alias ${column.typeAlias} already exists for base type ${column.type}`);
|
|
230
243
|
}
|
|
231
244
|
aliasedTypes.set(column.typeAlias, column.type);
|
|
232
245
|
},
|
|
@@ -237,6 +250,27 @@ class ModelValidator {
|
|
|
237
250
|
visitManyHasOne: () => { },
|
|
238
251
|
});
|
|
239
252
|
}
|
|
253
|
+
for (const entity of entities) {
|
|
254
|
+
const entityErrorBuilder = errorBuilder.for(entity.name);
|
|
255
|
+
for (const index of Object.values(entity.indexes)) {
|
|
256
|
+
const description = `index name ${index.name} of entity ${entity.name}`;
|
|
257
|
+
if (relationNames[index.name]) {
|
|
258
|
+
entityErrorBuilder.add('MODEL_NAME_COLLISION', `${description} collides with ${relationNames[index.name]}`);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
relationNames[index.name] = description;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
for (const unique of Object.values(entity.unique)) {
|
|
265
|
+
const description = `unique index name ${unique.name} of entity ${entity.name}`;
|
|
266
|
+
if (relationNames[unique.name]) {
|
|
267
|
+
entityErrorBuilder.add('MODEL_NAME_COLLISION', `${description} collides with ${relationNames[unique.name]}`);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
relationNames[unique.name] = description;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
240
274
|
}
|
|
241
275
|
}
|
|
242
276
|
exports.ModelValidator = ModelValidator;
|
|
@@ -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"}
|
|
@@ -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":""}
|