@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.
Files changed (71) hide show
  1. package/dist/src/acl/PredicateDefinitionProcessor.js +2 -2
  2. package/dist/src/acl/PredicateDefinitionProcessor.js.map +1 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +2 -0
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/model/NamingHelper.d.ts +2 -0
  7. package/dist/src/model/NamingHelper.d.ts.map +1 -1
  8. package/dist/src/model/NamingHelper.js +10 -2
  9. package/dist/src/model/NamingHelper.js.map +1 -1
  10. package/dist/src/model/modelUtils.d.ts +1 -0
  11. package/dist/src/model/modelUtils.d.ts.map +1 -1
  12. package/dist/src/model/modelUtils.js +69 -46
  13. package/dist/src/model/modelUtils.js.map +1 -1
  14. package/dist/src/schemaNormalizer.d.ts.map +1 -1
  15. package/dist/src/schemaNormalizer.js +1 -0
  16. package/dist/src/schemaNormalizer.js.map +1 -1
  17. package/dist/src/tsconfig.tsbuildinfo +1 -1
  18. package/dist/src/type-schema/acl.d.ts.map +1 -1
  19. package/dist/src/type-schema/acl.js +15 -4
  20. package/dist/src/type-schema/acl.js.map +1 -1
  21. package/dist/src/type-schema/index.d.ts +1 -0
  22. package/dist/src/type-schema/index.d.ts.map +1 -1
  23. package/dist/src/type-schema/index.js +1 -0
  24. package/dist/src/type-schema/index.js.map +1 -1
  25. package/dist/src/type-schema/settings.d.ts +10 -0
  26. package/dist/src/type-schema/settings.d.ts.map +1 -0
  27. package/dist/src/type-schema/settings.js +32 -0
  28. package/dist/src/type-schema/settings.js.map +1 -0
  29. package/dist/src/validation/AclValidator.d.ts.map +1 -1
  30. package/dist/src/validation/AclValidator.js +11 -11
  31. package/dist/src/validation/AclValidator.js.map +1 -1
  32. package/dist/src/validation/MembershipResolver.d.ts.map +1 -1
  33. package/dist/src/validation/MembershipResolver.js +12 -3
  34. package/dist/src/validation/MembershipResolver.js.map +1 -1
  35. package/dist/src/validation/ModelValidator.d.ts.map +1 -1
  36. package/dist/src/validation/ModelValidator.js +77 -43
  37. package/dist/src/validation/ModelValidator.js.map +1 -1
  38. package/dist/src/validation/SchemaValidator.d.ts +6 -2
  39. package/dist/src/validation/SchemaValidator.d.ts.map +1 -1
  40. package/dist/src/validation/SchemaValidator.js +7 -2
  41. package/dist/src/validation/SchemaValidator.js.map +1 -1
  42. package/dist/src/validation/ValidationValidator.js +4 -4
  43. package/dist/src/validation/ValidationValidator.js.map +1 -1
  44. package/dist/src/validation/errors.d.ts +3 -1
  45. package/dist/src/validation/errors.d.ts.map +1 -1
  46. package/dist/src/validation/errors.js +2 -2
  47. package/dist/src/validation/errors.js.map +1 -1
  48. package/dist/tests/cases/unit/membershipResolver.test.js +19 -0
  49. package/dist/tests/cases/unit/membershipResolver.test.js.map +1 -1
  50. package/dist/tests/cases/unit/modelValidator.test.d.ts +2 -0
  51. package/dist/tests/cases/unit/modelValidator.test.d.ts.map +1 -0
  52. package/dist/tests/cases/unit/modelValidator.test.js +141 -0
  53. package/dist/tests/cases/unit/modelValidator.test.js.map +1 -0
  54. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +3 -3
  56. package/src/acl/PredicateDefinitionProcessor.ts +2 -2
  57. package/src/index.ts +3 -1
  58. package/src/model/NamingHelper.ts +11 -1
  59. package/src/model/modelUtils.ts +76 -71
  60. package/src/schemaNormalizer.ts +1 -0
  61. package/src/type-schema/acl.ts +30 -11
  62. package/src/type-schema/index.ts +1 -0
  63. package/src/type-schema/settings.ts +8 -0
  64. package/src/validation/AclValidator.ts +10 -11
  65. package/src/validation/MembershipResolver.ts +10 -3
  66. package/src/validation/ModelValidator.ts +77 -45
  67. package/src/validation/SchemaValidator.ts +17 -4
  68. package/src/validation/ValidationValidator.ts +4 -4
  69. package/src/validation/errors.ts +25 -2
  70. package/tests/cases/unit/membershipResolver.test.ts +22 -0
  71. 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 tableNames = {};
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 (tableNames[entity.tableName]) {
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(`Table name ${entity.tableName} of ${description} collides with a table name of ${tableNames[entity.tableName]}`);
206
+ .add('MODEL_NAME_COLLISION', `${description} collides with a ${relationNames[entity.tableName]}`);
201
207
  }
202
208
  else {
203
- tableNames[entity.tableName] = description;
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 (tableNames[joiningTable.tableName]) {
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(`Joining table name ${joiningTable.tableName} of ${description} collides with a table name of ${tableNames[joiningTable.tableName]}.` +
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
- tableNames[joiningTable.tableName] = description;
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;AAK1C,qBAAa,eAAe;WACb,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE;CAazD"}
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
- return [...aclErrors, ...modelErrors, ...validationErrors];
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;AAE3D,MAAa,eAAe;IACpB,MAAM,CAAC,QAAQ,CAAC,MAAc;QACpC,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;QAExE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,CAAA;IAC3D,CAAC;CACD;AAdD,0CAcC"}
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":"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"}
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;CACf;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,OAAO,EAAE,MAAM,GAAG,IAAI;CAG1B"}
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":";;;AAKA,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,OAAe;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC;CACD;AAVD,oCAUC"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=modelValidator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelValidator.test.d.ts","sourceRoot":"","sources":["../../../../tests/cases/unit/modelValidator.test.ts"],"names":[],"mappings":""}