@bairock/lenz 0.0.15 → 0.0.17

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 (134) hide show
  1. package/README.md +195 -19
  2. package/dist/cli/commands/generate/crud.d.ts +3 -0
  3. package/dist/cli/commands/generate/crud.d.ts.map +1 -0
  4. package/dist/cli/commands/generate/crud.js +123 -0
  5. package/dist/cli/commands/generate/crud.js.map +1 -0
  6. package/dist/cli/commands/generate/index.d.ts +3 -0
  7. package/dist/cli/commands/generate/index.d.ts.map +1 -0
  8. package/dist/cli/commands/generate/index.js +8 -0
  9. package/dist/cli/commands/generate/index.js.map +1 -0
  10. package/dist/cli/commands/generate/orm.d.ts +3 -0
  11. package/dist/cli/commands/generate/orm.d.ts.map +1 -0
  12. package/dist/cli/commands/generate/orm.js +107 -0
  13. package/dist/cli/commands/generate/orm.js.map +1 -0
  14. package/dist/cli/commands/generate.d.ts.map +1 -1
  15. package/dist/cli/commands/generate.js +34 -8
  16. package/dist/cli/commands/generate.js.map +1 -1
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js +0 -2
  19. package/dist/cli/commands/init.js.map +1 -1
  20. package/dist/cli/index.js +1 -3
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/config/index.d.ts +4 -6
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js +24 -3
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/engine/CodeGenerator.d.ts +8 -28
  27. package/dist/engine/CodeGenerator.d.ts.map +1 -1
  28. package/dist/engine/CodeGenerator.js +28 -1969
  29. package/dist/engine/CodeGenerator.js.map +1 -1
  30. package/dist/engine/GraphQLParseHelpers.d.ts +25 -0
  31. package/dist/engine/GraphQLParseHelpers.d.ts.map +1 -0
  32. package/dist/engine/GraphQLParseHelpers.js +128 -0
  33. package/dist/engine/GraphQLParseHelpers.js.map +1 -0
  34. package/dist/engine/GraphQLParser.d.ts +23 -10
  35. package/dist/engine/GraphQLParser.d.ts.map +1 -1
  36. package/dist/engine/GraphQLParser.js +154 -240
  37. package/dist/engine/GraphQLParser.js.map +1 -1
  38. package/dist/engine/GraphQLRelationAnalyzer.d.ts +10 -0
  39. package/dist/engine/GraphQLRelationAnalyzer.d.ts.map +1 -0
  40. package/dist/engine/GraphQLRelationAnalyzer.js +117 -0
  41. package/dist/engine/GraphQLRelationAnalyzer.js.map +1 -0
  42. package/dist/engine/LenzEngine.d.ts +1 -1
  43. package/dist/engine/LenzEngine.d.ts.map +1 -1
  44. package/dist/engine/LenzEngine.js +33 -13
  45. package/dist/engine/LenzEngine.js.map +1 -1
  46. package/dist/engine/SchemaRelationValidator.d.ts +15 -0
  47. package/dist/engine/SchemaRelationValidator.d.ts.map +1 -0
  48. package/dist/engine/SchemaRelationValidator.js +133 -0
  49. package/dist/engine/SchemaRelationValidator.js.map +1 -0
  50. package/dist/engine/SchemaValidator.d.ts +11 -10
  51. package/dist/engine/SchemaValidator.d.ts.map +1 -1
  52. package/dist/engine/SchemaValidator.js +151 -169
  53. package/dist/engine/SchemaValidator.js.map +1 -1
  54. package/dist/engine/directives.d.ts +10 -0
  55. package/dist/engine/directives.d.ts.map +1 -1
  56. package/dist/engine/directives.js +152 -6
  57. package/dist/engine/directives.js.map +1 -1
  58. package/dist/engine/generators/ClientGenerator.d.ts +7 -0
  59. package/dist/engine/generators/ClientGenerator.d.ts.map +1 -0
  60. package/dist/engine/generators/ClientGenerator.js +386 -0
  61. package/dist/engine/generators/ClientGenerator.js.map +1 -0
  62. package/dist/engine/generators/CrudModuleGenerator.d.ts +10 -0
  63. package/dist/engine/generators/CrudModuleGenerator.d.ts.map +1 -0
  64. package/dist/engine/generators/CrudModuleGenerator.js +141 -0
  65. package/dist/engine/generators/CrudModuleGenerator.js.map +1 -0
  66. package/dist/engine/generators/DelegateGenerator.d.ts +9 -0
  67. package/dist/engine/generators/DelegateGenerator.d.ts.map +1 -0
  68. package/dist/engine/generators/DelegateGenerator.js +453 -0
  69. package/dist/engine/generators/DelegateGenerator.js.map +1 -0
  70. package/dist/engine/generators/DelegateHelpers.d.ts +7 -0
  71. package/dist/engine/generators/DelegateHelpers.d.ts.map +1 -0
  72. package/dist/engine/generators/DelegateHelpers.js +144 -0
  73. package/dist/engine/generators/DelegateHelpers.js.map +1 -0
  74. package/dist/engine/generators/DelegateRelations.d.ts +11 -0
  75. package/dist/engine/generators/DelegateRelations.d.ts.map +1 -0
  76. package/dist/engine/generators/DelegateRelations.js +794 -0
  77. package/dist/engine/generators/DelegateRelations.js.map +1 -0
  78. package/dist/engine/generators/DelegateTemplateBody.d.ts +8 -0
  79. package/dist/engine/generators/DelegateTemplateBody.d.ts.map +1 -0
  80. package/dist/engine/generators/DelegateTemplateBody.js +776 -0
  81. package/dist/engine/generators/DelegateTemplateBody.js.map +1 -0
  82. package/dist/engine/generators/GenerateRuntimeErrors.d.ts +2 -0
  83. package/dist/engine/generators/GenerateRuntimeErrors.d.ts.map +1 -0
  84. package/dist/engine/generators/GenerateRuntimeErrors.js +140 -0
  85. package/dist/engine/generators/GenerateRuntimeErrors.js.map +1 -0
  86. package/dist/engine/generators/GenerateRuntimeIndex.d.ts +2 -0
  87. package/dist/engine/generators/GenerateRuntimeIndex.d.ts.map +1 -0
  88. package/dist/engine/generators/GenerateRuntimeIndex.js +21 -0
  89. package/dist/engine/generators/GenerateRuntimeIndex.js.map +1 -0
  90. package/dist/engine/generators/GenerateRuntimeLogger.d.ts +2 -0
  91. package/dist/engine/generators/GenerateRuntimeLogger.d.ts.map +1 -0
  92. package/dist/engine/generators/GenerateRuntimeLogger.js +125 -0
  93. package/dist/engine/generators/GenerateRuntimeLogger.js.map +1 -0
  94. package/dist/engine/generators/GenerateRuntimePagination.d.ts +2 -0
  95. package/dist/engine/generators/GenerateRuntimePagination.d.ts.map +1 -0
  96. package/dist/engine/generators/GenerateRuntimePagination.js +159 -0
  97. package/dist/engine/generators/GenerateRuntimePagination.js.map +1 -0
  98. package/dist/engine/generators/GenerateRuntimeQuery.d.ts +2 -0
  99. package/dist/engine/generators/GenerateRuntimeQuery.d.ts.map +1 -0
  100. package/dist/engine/generators/GenerateRuntimeQuery.js +427 -0
  101. package/dist/engine/generators/GenerateRuntimeQuery.js.map +1 -0
  102. package/dist/engine/generators/GenerateRuntimeRelations.d.ts +2 -0
  103. package/dist/engine/generators/GenerateRuntimeRelations.d.ts.map +1 -0
  104. package/dist/engine/generators/GenerateRuntimeRelations.js +130 -0
  105. package/dist/engine/generators/GenerateRuntimeRelations.js.map +1 -0
  106. package/dist/engine/generators/RuntimeGenerator.d.ts +16 -0
  107. package/dist/engine/generators/RuntimeGenerator.d.ts.map +1 -0
  108. package/dist/engine/generators/RuntimeGenerator.js +16 -0
  109. package/dist/engine/generators/RuntimeGenerator.js.map +1 -0
  110. package/dist/engine/generators/SDLInputTypesGenerator.d.ts +6 -0
  111. package/dist/engine/generators/SDLInputTypesGenerator.d.ts.map +1 -0
  112. package/dist/engine/generators/SDLInputTypesGenerator.js +763 -0
  113. package/dist/engine/generators/SDLInputTypesGenerator.js.map +1 -0
  114. package/dist/engine/generators/TypeFilterTypes.d.ts +2 -0
  115. package/dist/engine/generators/TypeFilterTypes.d.ts.map +1 -0
  116. package/dist/engine/generators/TypeFilterTypes.js +220 -0
  117. package/dist/engine/generators/TypeFilterTypes.js.map +1 -0
  118. package/dist/engine/generators/TypeGenerator.d.ts +16 -0
  119. package/dist/engine/generators/TypeGenerator.d.ts.map +1 -0
  120. package/dist/engine/generators/TypeGenerator.js +493 -0
  121. package/dist/engine/generators/TypeGenerator.js.map +1 -0
  122. package/dist/engine/generators/helpers.d.ts +13 -0
  123. package/dist/engine/generators/helpers.d.ts.map +1 -0
  124. package/dist/engine/generators/helpers.js +316 -0
  125. package/dist/engine/generators/helpers.js.map +1 -0
  126. package/dist/errors/index.d.ts +3 -0
  127. package/dist/errors/index.d.ts.map +1 -1
  128. package/dist/errors/index.js +11 -1
  129. package/dist/errors/index.js.map +1 -1
  130. package/dist/index.d.ts +0 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +2 -4
  133. package/dist/index.js.map +1 -1
  134. package/package.json +10 -4
@@ -1,14 +1,17 @@
1
- import { SchemaValidationError, CircularDependencyError, DuplicateModelError, DuplicateFieldError, InvalidFieldTypeError, InvalidDirectiveError, RelationValidationError } from '../errors/index.js';
2
- import { isLenzDirective, getDirectiveDefinition } from './directives.js';
1
+ import { SchemaValidationError, CircularDependencyError, DuplicateModelError, DuplicateFieldError, InvalidFieldTypeError, InvalidDirectiveError } from '../errors/index.js';
2
+ import { isLenzDirective } from './directives.js';
3
+ import { SchemaRelationValidator } from './SchemaRelationValidator.js';
3
4
  export class SchemaValidator {
4
5
  constructor(models, enums, relations) {
5
6
  this.supportedScalarTypes = new Set([
6
7
  'String', 'Int', 'Float', 'Boolean', 'ID',
7
- 'DateTime', 'Date', 'Json', 'ObjectId'
8
+ 'DateTime', 'Date', 'Json', 'ObjectId',
9
+ 'Bytes', 'BigInt'
8
10
  ]);
9
11
  this.models = models;
10
12
  this.enums = enums;
11
13
  this.relations = relations;
14
+ this.relationValidator = new SchemaRelationValidator(this.models, this.relations);
12
15
  }
13
16
  /**
14
17
  * Check if a field is a foreign key field (referenced by a relation)
@@ -17,10 +20,15 @@ export class SchemaValidator {
17
20
  for (const model of this.models) {
18
21
  for (const relation of model.relations) {
19
22
  if (relation.foreignKey === fieldName) {
20
- // Check if this relation belongs to the specified model
21
- // The relation is stored in the model's relations array, so model is the source
22
- if (model.name === modelName) {
23
- return true;
23
+ // oneToMany stores FK in the TARGET model (e.g., Post.userId)
24
+ if (relation.type === 'oneToMany') {
25
+ if (relation.target === modelName)
26
+ return true;
27
+ }
28
+ else {
29
+ // manyToOne, oneToOne, manyToMany store FK in the SOURCE model
30
+ if (model.name === modelName)
31
+ return true;
24
32
  }
25
33
  }
26
34
  }
@@ -42,15 +50,17 @@ export class SchemaValidator {
42
50
  this.validateFieldTypes();
43
51
  }
44
52
  if (validateRelations) {
45
- this.validateRelations();
46
- this.validateRelationStrategies();
53
+ this.relationValidator.validateRelations();
54
+ this.relationValidator.validateRelationStrategies();
47
55
  }
48
56
  if (checkCircularDependencies) {
49
57
  this.checkCircularDependencies();
50
58
  }
51
59
  // Additional validations
52
- this.validateRequiredFields();
53
60
  this.validateEnumValues();
61
+ this.validateEmbeddedModels();
62
+ this.validateIndexes();
63
+ this.validateDefaultValues();
54
64
  }
55
65
  /**
56
66
  * Check for duplicate model names
@@ -89,6 +99,9 @@ export class SchemaValidator {
89
99
  ]);
90
100
  for (const model of this.models) {
91
101
  for (const field of model.fields) {
102
+ // Skip @ignore fields — they are excluded from generated code
103
+ if (field.directives.includes('ignore'))
104
+ continue;
92
105
  // Check if type exists (scalar, model, or enum)
93
106
  if (!validTypes.has(field.type)) {
94
107
  throw new InvalidFieldTypeError(model.name, field.name, field.type, { validTypes: Array.from(validTypes) });
@@ -108,19 +121,29 @@ export class SchemaValidator {
108
121
  validateDirectives() {
109
122
  for (const model of this.models) {
110
123
  // Check model-level directives
124
+ for (const directiveName of model.directives) {
125
+ if (isLenzDirective(directiveName)) {
126
+ if (directiveName !== 'model' && directiveName !== 'embedded' && directiveName !== 'modelMap' && directiveName !== 'fulltext') {
127
+ console.warn(`⚠️ Lenz directive '@${directiveName}' is not a model-level directive but used on model '${model.name}'.`);
128
+ }
129
+ }
130
+ else {
131
+ console.warn(`⚠️ Custom directive '@${directiveName}' detected on model '${model.name}'. ` +
132
+ 'Lenz does not validate custom directives.');
133
+ }
134
+ }
135
+ // Check field-level directives (excluding model-level)
111
136
  for (const directive of model.fields.flatMap(f => f.directives)) {
112
137
  const directiveName = directive.replace(/^@/, '');
113
138
  if (isLenzDirective(directiveName)) {
114
- // Директива Lenz - проверяем соответствие ожидаемым местам применения
115
- const directiveDef = getDirectiveDefinition(directiveName);
116
- if (directiveDef) {
117
- // TODO: В будущем можно добавить проверку мест применения (DirectiveLocation)
118
- // Например, проверить что @model применяется только на уровне OBJECT
119
- // а @id только на FIELD_DEFINITION
139
+ // Validate field-level directive location restrictions
140
+ const fieldLevelOnly = ['id', 'unique', 'index', 'default', 'hide', 'email', 'url', 'regex',
141
+ 'map', 'createdAt', 'updatedAt', 'ignore', 'fulltext'];
142
+ if (fieldLevelOnly.includes(directiveName)) {
143
+ continue; // These are field-level only, already validated per-field
120
144
  }
121
145
  }
122
146
  else {
123
- // Пользовательская директива - выводим предупреждение
124
147
  console.warn(`⚠️ Custom directive '@${directiveName}' detected in model '${model.name}'. ` +
125
148
  'Lenz does not validate custom directives.');
126
149
  }
@@ -136,10 +159,6 @@ export class SchemaValidator {
136
159
  */
137
160
  validateFieldDirectives(modelName, field) {
138
161
  const directives = field.directives;
139
- // Check for conflicting directives
140
- if (directives.includes('id') && directives.includes('unique')) {
141
- throw new InvalidDirectiveError('unique', `field '${field.name}' in model '${modelName}'`, { reason: 'Cannot have both @id and @unique directives on the same field' });
142
- }
143
162
  // Validate @hide directive
144
163
  if (directives.includes('hide')) {
145
164
  if (directives.includes('id')) {
@@ -154,91 +173,6 @@ export class SchemaValidator {
154
173
  // Note: @default directive arguments are now preserved and parsed via AST
155
174
  // in GraphQLParser.getDefaultValue() method.
156
175
  }
157
- /**
158
- * Validate relations between models
159
- */
160
- validateRelations() {
161
- for (const relation of this.relations) {
162
- // Find source model that contains this relation
163
- const sourceModel = this.models.find(m => m.relations.some(r => r.field === relation.field && r.target === relation.target));
164
- const targetModel = this.models.find(m => m.name === relation.target);
165
- if (!sourceModel) {
166
- throw new RelationValidationError(`Source model for relation '${relation.field}' -> '${relation.target}' not found`, { relation });
167
- }
168
- if (!targetModel) {
169
- throw new RelationValidationError(`Target model '${relation.target}' not found for relation`, { relation });
170
- }
171
- // Check if foreign key field exists for certain relation types
172
- if (relation.foreignKey) {
173
- // For oneToMany, foreign key must be in source (array of IDs)
174
- // For manyToOne and oneToOne, foreign key must be in source (single ID)
175
- let modelWithForeignKey;
176
- let fieldInSource = sourceModel.fields.find(f => f.name === relation.foreignKey || f.name === `${relation.foreignKey}Id`);
177
- // Always check source model for all relation types
178
- if (fieldInSource) {
179
- modelWithForeignKey = sourceModel;
180
- }
181
- if (!modelWithForeignKey) {
182
- throw new RelationValidationError(`Foreign key field '${relation.foreignKey}' not found in source model '${sourceModel.name}'`, { relation });
183
- }
184
- // Validate field type
185
- if (fieldInSource) {
186
- if (relation.type === 'oneToMany') {
187
- // For oneToMany: foreign key must be array of IDs in source
188
- if (!fieldInSource.isArray || fieldInSource.type !== 'ID') {
189
- throw new RelationValidationError(`Foreign key field '${relation.foreignKey}' in source model '${sourceModel.name}' must be an array of IDs (type: [ID!]!) for one-to-many relation`, { relation });
190
- }
191
- }
192
- else if (relation.type === 'manyToOne' || relation.type === 'oneToOne') {
193
- // For manyToOne and oneToOne: foreign key must be single ID in source
194
- if (fieldInSource.isArray || fieldInSource.type !== 'ID') {
195
- throw new RelationValidationError(`Foreign key field '${relation.foreignKey}' in source model '${sourceModel.name}' must be a single ID (type: ID!) for ${relation.type} relation`, { relation });
196
- }
197
- }
198
- // manyToMany doesn't use foreign key field
199
- }
200
- }
201
- // Check that relation field references correct ID field
202
- const relationField = sourceModel.fields.find(f => f.name === relation.field);
203
- if (!relationField) {
204
- throw new RelationValidationError(`Relation field '${relation.field}' not found in source model '${sourceModel.name}'`, { relation });
205
- }
206
- // Get the referenced field name from the relation field's foreignKey property
207
- const referencedFieldName = relationField.foreignKey;
208
- if (referencedFieldName) {
209
- // Find referenced field in source or target model
210
- let modelWithRefField;
211
- let referencedField;
212
- // For all relation types, check source model only
213
- referencedField = sourceModel.fields.find(f => f.name === referencedFieldName);
214
- if (referencedField) {
215
- modelWithRefField = sourceModel;
216
- }
217
- if (!referencedField || !modelWithRefField) {
218
- throw new RelationValidationError(`Field '${referencedFieldName}' referenced by @relation(field: "...") not found in source model '${sourceModel.name}'`, { relation, referencedFieldName });
219
- }
220
- // Validate field type based on relation type
221
- if (relation.type === 'manyToMany') {
222
- // For many-to-many, referenced field should be an array of IDs
223
- if (!referencedField.isArray || referencedField.type !== 'ID') {
224
- throw new RelationValidationError(`Field '${referencedFieldName}' in model '${modelWithRefField.name}' must be an array of IDs (type: [ID!]!) for many-to-many relation`, { relation, referencedFieldName });
225
- }
226
- }
227
- else if (relation.type === 'oneToMany') {
228
- // For oneToMany: referenced field must be array of IDs in source model
229
- if (!referencedField.isArray || referencedField.type !== 'ID') {
230
- throw new RelationValidationError(`Field '${referencedFieldName}' in source model '${sourceModel.name}' must be an array of IDs (type: [ID!]!) for one-to-many relation`, { relation, referencedFieldName });
231
- }
232
- }
233
- else {
234
- // For manyToOne and oneToOne: referenced field must be single ID
235
- if (referencedField.isArray || referencedField.type !== 'ID') {
236
- throw new RelationValidationError(`Field '${referencedFieldName}' in model '${modelWithRefField.name}' must be a single ID (type: ID!) for ${relation.type} relation`, { relation, referencedFieldName });
237
- }
238
- }
239
- }
240
- }
241
- }
242
176
  /**
243
177
  * Check for circular dependencies between models
244
178
  */
@@ -261,12 +195,16 @@ export class SchemaValidator {
261
195
  path.push(node);
262
196
  const neighbors = graph.get(node) || [];
263
197
  for (const neighbor of neighbors) {
198
+ if (neighbor === node) {
199
+ cycles.push([node]); // self-reference cycle
200
+ continue;
201
+ }
264
202
  if (!visited.has(neighbor)) {
265
203
  dfs(neighbor, [...path]);
266
204
  }
267
205
  else if (recursionStack.has(neighbor)) {
268
206
  // Found a cycle
269
- const cycleStart = path.indexOf(neighbor);
207
+ const cycleStart = path.lastIndexOf(neighbor);
270
208
  const cycle = path.slice(cycleStart);
271
209
  cycles.push(cycle);
272
210
  }
@@ -278,29 +216,15 @@ export class SchemaValidator {
278
216
  dfs(node, []);
279
217
  }
280
218
  }
281
- // Report cycles
219
+ // Report cycles — collect all unique cycles before throwing
282
220
  if (cycles.length > 0) {
283
- // Deduplicate cycles (same cycle may be found multiple times)
284
221
  const uniqueCycles = cycles.map(cycle => cycle.join(' -> '))
285
222
  .filter((value, index, self) => self.indexOf(value) === index);
286
- for (const cycle of uniqueCycles) {
287
- throw new CircularDependencyError(cycle.split(' -> '), { cycle });
223
+ if (uniqueCycles.length === 1) {
224
+ throw new CircularDependencyError(uniqueCycles[0].split(' -> '), { cycle: uniqueCycles[0] });
288
225
  }
289
- }
290
- }
291
- /**
292
- * Validate that required fields have values
293
- */
294
- validateRequiredFields() {
295
- for (const model of this.models) {
296
- for (const field of model.fields) {
297
- if (field.isRequired && !field.isId && !field.defaultValue) {
298
- // Check if it's a relation field (relations can be required but handled differently)
299
- if (!field.isRelation && !this.isForeignKeyField(model.name, field.name) &&
300
- !field.directives.includes('createdAt') && !field.directives.includes('updatedAt')) {
301
- console.warn(`⚠️ Required field '${field.name}' in model '${model.name}' has no default value`);
302
- }
303
- }
226
+ else {
227
+ throw new CircularDependencyError(uniqueCycles[0].split(' -> '), { cycle: uniqueCycles.join('; '), cycles: uniqueCycles });
304
228
  }
305
229
  }
306
230
  }
@@ -323,55 +247,110 @@ export class SchemaValidator {
323
247
  }
324
248
  }
325
249
  /**
326
- * Validate relation strategies and indexes
250
+ * Validate embedded model usage
327
251
  */
328
- validateRelationStrategies() {
329
- for (const relation of this.relations) {
330
- // Validate strategy
331
- if (relation.strategy !== 'populate' && relation.strategy !== 'lookup') {
332
- throw new SchemaValidationError(`Invalid relation strategy '${relation.strategy}' for relation '${relation.field}' -> '${relation.target}'. ` +
333
- `Must be either 'populate' or 'lookup'.`);
334
- }
335
- // Validate index boolean
336
- if (typeof relation.index !== 'boolean') {
337
- throw new SchemaValidationError(`Invalid index value '${relation.index}' for relation '${relation.field}' -> '${relation.target}'. ` +
338
- `Must be a boolean.`);
252
+ validateEmbeddedModels() {
253
+ for (const model of this.models) {
254
+ if (!model.isEmbedded)
255
+ continue;
256
+ // Check embedded model has at least one field
257
+ if (model.fields.length === 0) {
258
+ console.warn(`⚠️ Embedded model '${model.name}' has no fields`);
339
259
  }
340
- // Validate onDelete
341
- if (relation.onDelete && !['Cascade', 'SetNull', 'NoAction'].includes(relation.onDelete)) {
342
- throw new SchemaValidationError(`Invalid onDelete value '${relation.onDelete}' for relation '${relation.field}' -> '${relation.target}'. ` +
343
- `Must be 'Cascade', 'SetNull', or 'NoAction'.`);
260
+ }
261
+ // Verify embedded model references don't have @relation directive
262
+ for (const model of this.models) {
263
+ if (model.isEmbedded)
264
+ continue;
265
+ for (const field of model.fields) {
266
+ if (field.isRelation) {
267
+ const targetModel = this.models.find(m => m.name === field.type);
268
+ if (targetModel?.isEmbedded && field.directives.includes('relation')) {
269
+ console.warn(`⚠️ Field '${field.name}' in model '${model.name}' references embedded model ` +
270
+ `'${field.type}' with @relation directive. Embedded models are nested documents, not separate collections.`);
271
+ }
272
+ }
344
273
  }
345
- // Validate SetNull requires nullable FK
346
- if (relation.onDelete === 'SetNull' && relation.foreignKey) {
347
- const sourceModel = this.models.find(m => m.relations.some(r => r.field === relation.field && r.target === relation.target));
348
- if (sourceModel) {
349
- const fkField = sourceModel.fields.find(f => f.name === relation.foreignKey);
350
- if (fkField && fkField.isRequired) {
351
- throw new SchemaValidationError(`onDelete: SetNull on relation '${relation.field}' -> '${relation.target}' requires a nullable foreign key field. ` +
352
- `Field '${relation.foreignKey}' in '${sourceModel.name}' is required.`);
274
+ }
275
+ }
276
+ /**
277
+ * Validate model indexes (compound directive fields must exist)
278
+ */
279
+ validateIndexes() {
280
+ for (const model of this.models) {
281
+ if (model.isEmbedded)
282
+ continue;
283
+ for (const index of model.indexes) {
284
+ // Check for duplicate field names in compound index
285
+ if (index.fields.length !== new Set(index.fields).size) {
286
+ const dupes = index.fields.filter((f, i) => index.fields.indexOf(f) !== i);
287
+ throw new SchemaValidationError(`Compound index on model '${model.name}' contains duplicate fields: ${[...new Set(dupes)].join(', ')}`);
288
+ }
289
+ if (index.fields.length > 1) {
290
+ // Compound index — verify all referenced fields exist
291
+ for (const fieldName of index.fields) {
292
+ const fieldExists = model.fields.some(f => f.name === fieldName);
293
+ if (!fieldExists) {
294
+ throw new SchemaValidationError(`Compound index on model '${model.name}' references field '${fieldName}' which does not exist. ` +
295
+ `Available fields: ${model.fields.map(f => f.name).join(', ')}`);
296
+ }
353
297
  }
354
298
  }
355
299
  }
356
- // Validate lookup strategy requirements
357
- if (relation.strategy === 'lookup') {
358
- if (relation.type === 'manyToMany') {
359
- // For manyToMany, foreign key or join collection is required for lookup
360
- if (!relation.foreignKey && !relation.joinCollection) {
361
- throw new SchemaValidationError(`Lookup strategy for manyToMany relation '${relation.field}' -> '${relation.target}' requires either a foreign key field or join collection. ` +
362
- `Add @relation(field: "...") directive with a foreign key field.`);
300
+ }
301
+ }
302
+ /**
303
+ * Validate @default value types match the field type
304
+ */
305
+ validateDefaultValues() {
306
+ const typeMap = {
307
+ String: 'string',
308
+ ID: 'string',
309
+ Int: 'number',
310
+ Float: 'number',
311
+ Boolean: 'boolean',
312
+ DateTime: 'string',
313
+ Date: 'string',
314
+ Json: 'any',
315
+ Bytes: 'object',
316
+ ObjectId: 'string',
317
+ BigInt: 'bigint'
318
+ };
319
+ const stringGenerators = new Set(['uuid', 'cuid', 'cuid2', 'ulid']);
320
+ const allGenerators = new Set(['uuid', 'now', 'cuid', 'cuid2', 'ulid']);
321
+ for (const model of this.models) {
322
+ for (const field of model.fields) {
323
+ if (field.defaultGenerator) {
324
+ // Validate generator is known
325
+ if (!allGenerators.has(field.defaultGenerator)) {
326
+ console.warn(`⚠️ Unknown default generator '@default(${field.defaultGenerator}())' on field '${field.name}' in model '${model.name}'. ` +
327
+ `Supported generators: ${[...allGenerators].join(', ')}`);
328
+ }
329
+ // Validate generator compatibility
330
+ if (stringGenerators.has(field.defaultGenerator) && field.type !== 'String' && field.type !== 'ID') {
331
+ console.warn(`⚠️ @default(${field.defaultGenerator}()) on field '${field.name}' in model '${model.name}' ` +
332
+ `produces a string, but the field type is '${field.type}'.`);
333
+ }
334
+ if (field.defaultGenerator === 'now' && field.type !== 'DateTime' && field.type !== 'Date') {
335
+ console.warn(`⚠️ @default(now()) on field '${field.name}' in model '${model.name}' ` +
336
+ `produces a Date, but the field type is '${field.type}'.`);
363
337
  }
364
- // lookup is now implemented for manyToMany with foreign key (array of IDs)
365
- // and for join collection via RelationResolver
366
338
  }
367
- else if (!relation.foreignKey) {
368
- // For other relation types (oneToMany, manyToOne, oneToOne), foreign key is required
369
- throw new SchemaValidationError(`Lookup strategy requires a foreign key field for relation '${relation.field}' -> '${relation.target}'. ` +
370
- `Add @relation(field: "...") directive with a foreign key field.`);
339
+ if (field.defaultValue !== undefined && field.defaultValue !== null && !field.defaultGenerator) {
340
+ const expectedType = typeMap[field.type];
341
+ if (expectedType && expectedType !== 'any') {
342
+ const valueType = typeof field.defaultValue;
343
+ if (valueType !== expectedType) {
344
+ const strictTypes = ['string', 'number', 'boolean'];
345
+ const msg = `@default(value: ${JSON.stringify(field.defaultValue)}) on field '${field.name}' ` +
346
+ `in model '${model.name}' has type '${valueType}', but field type '${field.type}' expects '${expectedType}'.`;
347
+ if (strictTypes.includes(expectedType)) {
348
+ throw new SchemaValidationError(msg);
349
+ }
350
+ console.warn(`⚠️ ${msg}`);
351
+ }
352
+ }
371
353
  }
372
- // Warn about manual array synchronization requirement
373
- console.warn(`⚠️ Lookup strategy selected for relation '${relation.field}' -> '${relation.target}'. ` +
374
- `Note: You must manually synchronize ID arrays (e.g., ${relation.foreignKey}) when creating/updating/deleting related documents.`);
375
354
  }
376
355
  }
377
356
  }
@@ -381,16 +360,19 @@ export class SchemaValidator {
381
360
  getWarnings() {
382
361
  const warnings = [];
383
362
  for (const model of this.models) {
363
+ if (model.isEmbedded)
364
+ continue;
384
365
  // Warn about models without @id field
385
366
  const hasIdField = model.fields.some(f => f.isId);
386
367
  if (!hasIdField) {
387
368
  warnings.push(`Model '${model.name}' has no @id field`);
388
369
  }
389
- // Warn about required fields without defaults
370
+ // Warn about required fields without defaults (skip @ignore, relation, FK, and timestamp fields)
390
371
  for (const field of model.fields) {
391
- if (field.isRequired && !field.isId && !field.defaultValue && !field.isRelation &&
372
+ if (field.isRequired && !field.isId && field.defaultValue === undefined && !field.isRelation &&
392
373
  !this.isForeignKeyField(model.name, field.name) &&
393
- !field.directives.includes('createdAt') && !field.directives.includes('updatedAt')) {
374
+ !field.directives.includes('createdAt') && !field.directives.includes('updatedAt') &&
375
+ !field.directives.includes('ignore')) {
394
376
  warnings.push(`Required field '${field.name}' in model '${model.name}' has no default value`);
395
377
  }
396
378
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../src/engine/SchemaValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../src/engine/SchemaValidator.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ export declare const createdAtDirective: GraphQLDirective;
9
9
  export declare const updatedAtDirective: GraphQLDirective;
10
10
  export declare const embeddedDirective: GraphQLDirective;
11
11
  export declare const hideDirective: GraphQLDirective;
12
+ export declare const mapDirective: GraphQLDirective;
13
+ export declare const modelMapDirective: GraphQLDirective;
14
+ export declare const ignoreDirective: GraphQLDirective;
15
+ export declare const compoundUniqueDirective: GraphQLDirective;
16
+ export declare const compoundIndexDirective: GraphQLDirective;
17
+ export declare const compoundIdDirective: GraphQLDirective;
18
+ export declare const fulltextDirective: GraphQLDirective;
19
+ export declare const emailDirective: GraphQLDirective;
20
+ export declare const urlDirective: GraphQLDirective;
21
+ export declare const regexDirective: GraphQLDirective;
12
22
  export declare const lenzDirectives: GraphQLDirective[];
13
23
  export declare function isLenzDirective(directiveName: string): boolean;
14
24
  export declare function getDirectiveDefinition(directiveName: string): GraphQLDirective | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/engine/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoE,MAAM,SAAS,CAAC;AAG7G,eAAO,MAAM,cAAc,kBAIzB,CAAC;AAEH,eAAO,MAAM,WAAW,kBAItB,CAAC;AAEH,eAAO,MAAM,eAAe,kBAI1B,CAAC;AAEH,eAAO,MAAM,cAAc,kBAIzB,CAAC;AAEH,eAAO,MAAM,gBAAgB,kBAU3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBAsB5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,kBAI7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,kBAI7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBAI5B,CAAC;AAEH,eAAO,MAAM,aAAa,kBAIxB,CAAC;AAGH,eAAO,MAAM,cAAc,oBAW1B,CAAC;AAGF,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAE9D;AAGD,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE1F"}
1
+ {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../src/engine/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiF,MAAM,SAAS,CAAC;AAG1H,eAAO,MAAM,cAAc,kBAIzB,CAAC;AAEH,eAAO,MAAM,WAAW,kBActB,CAAC;AAEH,eAAO,MAAM,eAAe,kBAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,kBAIzB,CAAC;AAEH,eAAO,MAAM,gBAAgB,kBAc3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBA8B5B,CAAC;AAEH,eAAO,MAAM,kBAAkB,kBAI7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,kBAI7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBAI5B,CAAC;AAEH,eAAO,MAAM,aAAa,kBAIxB,CAAC;AAEH,eAAO,MAAM,YAAY,kBAUvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBAU5B,CAAC;AAEH,eAAO,MAAM,eAAe,kBAI1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,kBAclC,CAAC;AAEH,eAAO,MAAM,sBAAsB,kBAcjC,CAAC;AAEH,eAAO,MAAM,mBAAmB,kBAc9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,kBAU5B,CAAC;AAEH,eAAO,MAAM,cAAc,kBAIzB,CAAC;AAEH,eAAO,MAAM,YAAY,kBAIvB,CAAC;AAEH,eAAO,MAAM,cAAc,kBAUzB,CAAC;AAGH,eAAO,MAAM,cAAc,oBAqB1B,CAAC;AAGF,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAE9D;AAGD,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE1F"}