@postxl/generators 1.11.4 → 1.11.5

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.
@@ -13,11 +13,16 @@ function generateDetectDeltaAllModels(context) {
13
13
  .add(context.import.detectDelta.types.generic.modelType)
14
14
  .addType(context.import.detectDelta.types.generic.errors.type)
15
15
  .add(context.import.detectDelta.types.generic.errors.typeGuard)
16
+ .add(context.import.detectDelta._utils.ensureItemsHaveIds)
16
17
  .addImport({
17
18
  from: (0, generator_1.toPackageName)('@postxl/utils'),
18
19
  items: [(0, generator_1.toFunctionName)('red'), (0, generator_1.toFunctionName)('format'), (0, generator_1.toFunctionName)('pluralize')],
20
+ })
21
+ .addImport({
22
+ from: (0, generator_1.toPackageName)('node:crypto'),
23
+ items: [(0, generator_1.toFunctionName)('randomUUID')],
19
24
  });
20
- const { resultAssignments, idMapTypes, idMapInit, keyMapTypes, keyMapInit, deltaTypes } = prepareModelDeltaTypes({
25
+ const { resultAssignments, idMapTypes, keyMapTypes, deltaTypes, prepareImportMapsAssignments, prepareImportMapsIdMapResult, prepareImportMapsKeyMapResult, } = prepareModelDeltaTypes({
21
26
  context,
22
27
  imports,
23
28
  });
@@ -45,39 +50,25 @@ export type KeyMap = {
45
50
  ${keyMapTypes.join('\n')}
46
51
  }
47
52
 
48
- function getIdMap(data: DataModel): ${context.import.detectDelta.allModels.idMapType.name} {
49
- const result: IdMap = {
50
- ${idMapInit.join(',\n')}
51
- }
52
- return result
53
- }
54
-
55
- function getKeyMap(data: DataModel): KeyMap {
56
- const result: KeyMap = {
57
- ${keyMapInit.join(',\n')}
58
- }
59
- return result
60
- }
61
-
62
- function toIdMap<Model extends {id: ID}, ID extends string>(items?: Model[]): Map<ID, Model> {
63
- const result = new Map<ID, Model>()
64
- if (!items) return result
65
- for (const item of items) {
66
- result.set(item.id, item)
67
- }
68
- return result
69
- }
53
+ /**
54
+ * Pass 1: Ensure all items have IDs assigned.
55
+ * For items without an ID, check database by key or generate a new UUID.
56
+ * This populates idMap and keyMap with items that have proper IDs.
57
+ */
58
+ async function prepareImportMaps(
59
+ dataService: ${context.repositories.dataService.name},
60
+ data: ${decoders.dataModel.decodedType.name},
61
+ ): Promise<{ idMap: ${context.import.detectDelta.allModels.idMapType.name}; keyMap: KeyMap }> {
62
+ ${prepareImportMapsAssignments.join('\n')}
70
63
 
71
- function toKeyMap<Model, Key extends string | number>(items: Model[] | undefined, keyField: keyof Model): Map<Key, Model> {
72
- const result = new Map<Key, Model>()
73
- if (!items) return result
74
- for (const item of items) {
75
- const key = item[keyField] as Key
76
- if (key !== undefined && key !== null) {
77
- result.set(key, item)
78
- }
64
+ return {
65
+ idMap: {
66
+ ${prepareImportMapsIdMapResult.join(',\n')}
67
+ },
68
+ keyMap: {
69
+ ${prepareImportMapsKeyMapResult.join(',\n')}
70
+ },
79
71
  }
80
- return result
81
72
  }
82
73
 
83
74
  export async function detectDelta(
@@ -85,11 +76,18 @@ export async function detectDelta(
85
76
  data: ${decoders.dataModel.decodedType.name},
86
77
  throwInCaseOfError = true,
87
78
  ): Promise<${allModels.type.name}> {
88
- const idMap = getIdMap(data)
89
- const keyMap = getKeyMap(data)
79
+ // Pass 1: Ensure all items have IDs and build lookup maps
80
+ // This must happen FIRST so that when resolving relation keys,
81
+ // referenced items already have their IDs assigned.
82
+ const { idMap, keyMap } = await prepareImportMaps(dataService, data)
83
+
84
+ // Pass 2 & 3: Run delta detection (which includes relation key resolution)
85
+ // The resolveRelationKeys callback in each model's detectDelta will use
86
+ // idMap and keyMap to resolve relation field keys to proper IDs.
90
87
  const result: ${allModels.type.name} = {
91
88
  ${resultAssignments.join(',\n')}
92
89
  }
90
+
93
91
  const errors = ${allModels.extractErrors.name}(result)
94
92
  if (Object.keys(errors).length > 0 && throwInCaseOfError) {
95
93
  throw new Error(${allModels.summarizeErrors.name}(errors))
@@ -139,9 +137,11 @@ function prepareModelDeltaTypes({ context, imports }) {
139
137
  const deltaTypes = [];
140
138
  const resultAssignments = [];
141
139
  const idMapTypes = [];
142
- const idMapInit = [];
143
140
  const keyMapTypes = [];
144
- const keyMapInit = [];
141
+ const prepareImportMapsAssignments = [];
142
+ const prepareImportMapsIdMapResult = [];
143
+ const prepareImportMapsKeyMapResult = [];
144
+ const ensureItemsHaveIdsFn = context.import.detectDelta._utils.ensureItemsHaveIds.name;
145
145
  for (const model of context.models.values()) {
146
146
  imports
147
147
  //
@@ -150,18 +150,45 @@ function prepareModelDeltaTypes({ context, imports }) {
150
150
  .add(model.import.delta.errors)
151
151
  .add(model.import.delta.detect);
152
152
  const keyFieldName = model.keyField.name;
153
- deltaTypes.push(`${model.decoder.dataModelEntry}?: ${context.import.detectDelta.types.generic.modelType.name}<
153
+ const dataEntry = model.decoder.dataModelEntry;
154
+ deltaTypes.push(`${dataEntry}?: ${context.import.detectDelta.types.generic.modelType.name}<
154
155
  ${model.types.name},
155
156
  ${model.types.id.name},
156
157
  ${model.import.delta.errors.name}
157
158
  >[]`);
158
- idMapTypes.push(`'${model.decoder.dataModelEntry}': Map<${model.types.id.name}, ${model.types.name}>`);
159
- idMapInit.push(`${model.decoder.dataModelEntry}: toIdMap(data.${model.decoder.dataModelEntry})`);
159
+ idMapTypes.push(`'${dataEntry}': Map<${model.types.id.name}, ${model.types.name}>`);
160
160
  // KeyMap uses the keyField for lookups (supports string or number keys)
161
- keyMapTypes.push(`'${model.decoder.dataModelEntry}': Map<string | number, ${model.types.name}>`);
162
- keyMapInit.push(`${model.decoder.dataModelEntry}: toKeyMap(data.${model.decoder.dataModelEntry}, '${keyFieldName}')`);
163
- resultAssignments.push(`${model.decoder.dataModelEntry}: await ${model.import.delta.detect.name}(dataService, data.${model.decoder.dataModelEntry} ?? [], idMap, keyMap)`);
161
+ keyMapTypes.push(`'${dataEntry}': Map<string | number, ${model.types.name}>`);
162
+ // Generate the prepareImportMaps call for this model
163
+ // For models with NoRepository, we can't look up by key from database - just generate new IDs
164
+ if (model.repository.kind === 'NoRepository') {
165
+ prepareImportMapsAssignments.push(`const ${dataEntry}Result = await ${ensureItemsHaveIdsFn}({
166
+ items: data.${dataEntry},
167
+ keyFieldName: '${keyFieldName}',
168
+ getByKey: async () => null, // NoRepository - can't look up from database
169
+ generateId: () => randomUUID() as ${model.types.id.name},
170
+ })`);
171
+ }
172
+ else {
173
+ prepareImportMapsAssignments.push(`const ${dataEntry}Result = await ${ensureItemsHaveIdsFn}({
174
+ items: data.${dataEntry},
175
+ keyFieldName: '${keyFieldName}',
176
+ getByKey: (key) => dataService.${model.repository.dataServiceVariable}.getByKey(key),
177
+ generateId: () => randomUUID() as ${model.types.id.name},
178
+ })`);
179
+ }
180
+ prepareImportMapsIdMapResult.push(`${dataEntry}: ${dataEntry}Result.idMap`);
181
+ prepareImportMapsKeyMapResult.push(`${dataEntry}: ${dataEntry}Result.keyMap`);
182
+ resultAssignments.push(`${dataEntry}: await ${model.import.delta.detect.name}(dataService, data.${dataEntry} ?? [], idMap, keyMap)`);
164
183
  }
165
- return { resultAssignments, deltaTypes, idMapTypes, idMapInit, keyMapTypes, keyMapInit };
184
+ return {
185
+ resultAssignments,
186
+ deltaTypes,
187
+ idMapTypes,
188
+ keyMapTypes,
189
+ prepareImportMapsAssignments,
190
+ prepareImportMapsIdMapResult,
191
+ prepareImportMapsKeyMapResult,
192
+ };
166
193
  }
167
194
  //# sourceMappingURL=detect-delta-all-models.generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-delta-all-models.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-all-models.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-delta-all-models.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-all-models.generator.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,11 @@ export type ${detectDelta._utils.validation.params.name}<Model extends ${dto.gen
82
82
  * Detects changes for a model and returns the result as a Delta_Model object.
83
83
  * When both id and keyField are provided, id takes precedence for looking up existing records.
84
84
  * Falls back to keyField when id is not provided.
85
+ *
86
+ * IMPORTANT: For correct delta detection, relation field keys must be resolved to IDs
87
+ * BEFORE calling this function. Use the resolveRelationKeys callback to do this.
88
+ * Otherwise, the delta calculation will incorrectly show changes for relation fields
89
+ * when comparing keys against IDs.
85
90
  */
86
91
  export async function ${detectDelta._utils.detectModelDelta.name}<Model extends ${dto.genericModel.name}<ID>, ID extends ${dto.idType.name}, ModelErrors, KeyFieldName extends keyof Model>({
87
92
  items,
@@ -89,6 +94,7 @@ export async function ${detectDelta._utils.detectModelDelta.name}<Model extends
89
94
  getById,
90
95
  getByKey,
91
96
  getDelta,
97
+ resolveRelationKeys,
92
98
  validate
93
99
  }: {
94
100
  items?: Model[]
@@ -99,6 +105,12 @@ export async function ${detectDelta._utils.detectModelDelta.name}<Model extends
99
105
  /** Function to look up an existing record by its key value (fallback when id is not provided) */
100
106
  getByKey: (key: Model[KeyFieldName]) => Promise<Model | null>
101
107
  getDelta: (args: { item: Model; existingItem: Model }) => ${delta_Fields.name}<Model, ID>
108
+ /**
109
+ * Function to resolve relation field keys to IDs in the item.
110
+ * This MUST be called before delta calculation to ensure correct comparison.
111
+ * Returns the resolved item and any errors encountered during resolution.
112
+ */
113
+ resolveRelationKeys: (item: Model) => Promise<{ item: Model; errors: ModelErrors[] }>
102
114
  validate: ${detectDelta._utils.validation.params.name}<Model, ID, ModelErrors>
103
115
  }): Promise<${modelType.name}<Model, ID, ModelErrors>[]> {
104
116
  const upsertResult: ${modelType.name}<Model, ID, ModelErrors>[] = []
@@ -108,7 +120,18 @@ export async function ${detectDelta._utils.detectModelDelta.name}<Model extends
108
120
  }
109
121
 
110
122
  for (const item of items) {
111
- const deltaResult = await determineDeltaResult({ item, keyFieldName, getById, getByKey, getDelta })
123
+ // IMPORTANT: Resolve relation field keys to IDs BEFORE delta calculation.
124
+ // This ensures that when we compare the item against existing records,
125
+ // relation fields contain actual IDs (not keys), enabling correct delta detection.
126
+ const { item: resolvedItem, errors: resolutionErrors } = await resolveRelationKeys(item)
127
+
128
+ // If key resolution failed, report errors and skip this item
129
+ if (resolutionErrors.length > 0) {
130
+ upsertResult.push({ type: 'errors', input: item, errors: resolutionErrors })
131
+ continue
132
+ }
133
+
134
+ const deltaResult = await determineDeltaResult({ item: resolvedItem, keyFieldName, getById, getByKey, getDelta })
112
135
  const errors = deltaResult.type === 'unchanged' ? [] : await validate[deltaResult.type](deltaResult as any)
113
136
 
114
137
  if (errors.length !== 0) {
@@ -117,7 +140,7 @@ export async function ${detectDelta._utils.detectModelDelta.name}<Model extends
117
140
  }
118
141
  switch (deltaResult.type) {
119
142
  case '${create.discriminant}':
120
- upsertResult.push({ type: '${create.discriminant}', input: item, createDto: item })
143
+ upsertResult.push({ type: '${create.discriminant}', input: item, createDto: resolvedItem })
121
144
  break
122
145
 
123
146
  case '${update.discriminant}':
@@ -281,6 +304,137 @@ export function ${detectDelta._utils.keepErrors.name}<O, I extends O | undefined
281
304
  return errors.filter((error) => error !== undefined) as O[]
282
305
  }
283
306
 
307
+ /**
308
+ * Checks if the item needs an ID assigned
309
+ */
310
+ function needsIdAssignment<ID extends ${dto.idType.name}>(id: ID | undefined): boolean {
311
+ return !id || id === ('' as unknown as ID)
312
+ }
313
+
314
+ /**
315
+ * Extracts and validates the key value from an item
316
+ */
317
+ function getValidKeyValue<Model, KeyFieldName extends keyof Model>(
318
+ item: Model,
319
+ keyFieldName: KeyFieldName,
320
+ ): string | number | null {
321
+ const keyValue = item[keyFieldName] as string | number | undefined | null
322
+
323
+ if (keyValue === undefined || keyValue === null || keyValue === '') {
324
+ return null
325
+ }
326
+
327
+ return keyValue
328
+ }
329
+
330
+ /**
331
+ * Assigns an ID to an item by either finding existing entity or generating new ID
332
+ */
333
+ async function assignIdToItem<Model extends ${dto.genericModel.name}<ID>, ID extends ${dto.idType.name}>({
334
+ item,
335
+ keyValue,
336
+ getByKey,
337
+ generateId,
338
+ }: {
339
+ item: Model
340
+ keyValue: string | number | null
341
+ getByKey: (key: string) => Promise<Model | null>
342
+ generateId: () => ID
343
+ }): Promise<void> {
344
+ // If no valid key, generate new ID
345
+ if (keyValue === null) {
346
+ item.id = generateId()
347
+ return
348
+ }
349
+
350
+ // Try to find existing entity by key
351
+ const existingItem = await getByKey(String(keyValue))
352
+ item.id = existingItem ? existingItem.id : generateId()
353
+ }
354
+
355
+ /**
356
+ * Adds an item to the ID and key lookup maps
357
+ */
358
+ function addItemToMaps<
359
+ Model extends ${dto.genericModel.name}<ID>,
360
+ ID extends ${dto.idType.name},
361
+ KeyFieldName extends keyof Model,
362
+ >({
363
+ item,
364
+ keyFieldName,
365
+ idMap,
366
+ keyMap,
367
+ }: {
368
+ item: Model
369
+ keyFieldName: KeyFieldName
370
+ idMap: Map<ID, Model>
371
+ keyMap: Map<string | number, Model>
372
+ }): void {
373
+ idMap.set(item.id, item)
374
+
375
+ const keyValue = getValidKeyValue(item, keyFieldName)
376
+ if (keyValue !== null) {
377
+ keyMap.set(keyValue, item)
378
+ }
379
+ }
380
+
381
+ /**
382
+ * Ensures all items have IDs assigned.
383
+ * For items without an ID (undefined, null, or empty string):
384
+ * 1. If keyField value is provided, check database for existing entity with that key -> use its ID
385
+ * 2. Otherwise, generate a new UUID
386
+ *
387
+ * This must be called BEFORE building idMap/keyMap to ensure all items have proper IDs
388
+ * that can be referenced by other models during relation key resolution.
389
+ *
390
+ * @returns Object containing:
391
+ * - items: The items with IDs assigned
392
+ * - idMap: Map of ID -> item (for items with IDs)
393
+ * - keyMap: Map of keyField -> item (for all items with keyField values)
394
+ */
395
+ export async function ${detectDelta._utils.ensureItemsHaveIds.name}<
396
+ Model extends ${dto.genericModel.name}<ID>,
397
+ ID extends ${dto.idType.name},
398
+ KeyFieldName extends keyof Model,
399
+ >({
400
+ items,
401
+ keyFieldName,
402
+ getByKey,
403
+ generateId,
404
+ }: {
405
+ items?: Model[]
406
+ /** The name of the keyField for this model */
407
+ keyFieldName: KeyFieldName
408
+ /** Function to look up an existing entity by keyField value from the database */
409
+ getByKey: (key: string) => Promise<Model | null>
410
+ /** Function to generate a new ID (e.g., crypto.randomUUID() with brand) */
411
+ generateId: () => ID
412
+ }): Promise<{
413
+ items: Model[]
414
+ idMap: Map<ID, Model>
415
+ keyMap: Map<string | number, Model>
416
+ }> {
417
+ const idMap = new Map<ID, Model>()
418
+ const keyMap = new Map<string | number, Model>()
419
+
420
+ if (!items || items.length === 0) {
421
+ return { items: [], idMap, keyMap }
422
+ }
423
+
424
+ for (const item of items) {
425
+ // Assign ID if needed
426
+ if (needsIdAssignment(item.id)) {
427
+ const keyValue = getValidKeyValue(item, keyFieldName)
428
+ await assignIdToItem({ item, keyValue, getByKey, generateId })
429
+ }
430
+
431
+ // Add item to lookup maps
432
+ addItemToMaps({ item, keyFieldName, idMap, keyMap })
433
+ }
434
+
435
+ return { items, idMap, keyMap }
436
+ }
437
+
284
438
  /**
285
439
  * Validates that the model has all required fields.
286
440
  */
@@ -308,6 +462,76 @@ export function ${detectDelta._utils.validation.requiredFields.name}<
308
462
  }
309
463
  }
310
464
 
465
+ /**
466
+ * Resolves a relation field value (which could be an ID or a key) to the actual ID.
467
+ * This is used before delta calculation to ensure relation fields contain IDs, not keys.
468
+ *
469
+ * Resolution order:
470
+ * 1. Check idMap (if value is already an ID in the current import batch)
471
+ * 2. Check keyMap (if value is a keyField value from imported data)
472
+ * 3. Database lookup by ID
473
+ * 4. Database lookup by keyField
474
+ *
475
+ * @returns The resolved ID if found, or an error if the reference is invalid
476
+ */
477
+ export async function ${detectDelta._utils.resolveRelationKey.name}<
478
+ ID extends ${dto.idType.name},
479
+ RelatedModel extends ${dto.genericModel.name}<ID>,
480
+ FieldName extends string,
481
+ RelatedModelName extends string,
482
+ KeyType extends string | number = string | number,
483
+ >({
484
+ value,
485
+ fieldName,
486
+ relatedModel,
487
+ idMapEntry,
488
+ keyMapEntry,
489
+ getById,
490
+ getByKey,
491
+ }: {
492
+ /** The value to resolve - could be an ID or a keyField value */
493
+ value: ID
494
+ /** The name of the field being resolved (for error reporting) */
495
+ fieldName: FieldName
496
+ /** The name of the related model (for error reporting) */
497
+ relatedModel: RelatedModelName
498
+ /** Map of IDs to items from the current import batch */
499
+ idMapEntry: Map<ID, RelatedModel>
500
+ /** Map of keyField values to items from the current import batch */
501
+ keyMapEntry: Map<KeyType, RelatedModel>
502
+ /** Function to look up an item by ID from the database */
503
+ getById: (id: ID) => Promise<RelatedModel | null>
504
+ /** Function to look up an item by keyField from the database */
505
+ getByKey: (key: string) => Promise<RelatedModel | null>
506
+ }): Promise<{ id: ID } | { error: ${errors.invalidReference.type.name}<RelatedModelName, FieldName, ID> }> {
507
+ // 1. Try idMap (if value is an id from the current import batch)
508
+ const byId = idMapEntry.get(value)
509
+ if (byId) {
510
+ return { id: byId.id }
511
+ }
512
+
513
+ // 2. Try keyMap (if value is a keyField value from imported data)
514
+ const byKey = keyMapEntry.get(value as unknown as KeyType)
515
+ if (byKey) {
516
+ return { id: byKey.id }
517
+ }
518
+
519
+ // 3. Try database lookup by ID
520
+ const fromDbById = await getById(value)
521
+ if (fromDbById) {
522
+ return { id: fromDbById.id }
523
+ }
524
+
525
+ // 4. Try database lookup by keyField
526
+ const fromDbByKey = await getByKey(String(value))
527
+ if (fromDbByKey) {
528
+ return { id: fromDbByKey.id }
529
+ }
530
+
531
+ // Not found - return error
532
+ return { error: { error: '${errors.invalidReference.discriminant}', relatedModel, fieldName, value } }
533
+ }
534
+
311
535
  /**
312
536
  * Validates that the field is a reference to an existing item.
313
537
  * If the value is a key (not an ID), it resolves the key to the actual ID and updates the item.
@@ -1 +1 @@
1
- {"version":3,"file":"detect-delta-functions.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-functions.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-delta-functions.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-functions.generator.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,7 @@ function prepareDetectDeltaFunction({ model, context, imports, }) {
180
180
  requiredFields: [],
181
181
  fieldNames: [],
182
182
  deleteValidations: [],
183
+ relationKeyResolutions: [],
183
184
  };
184
185
  for (const field of model.fields.values()) {
185
186
  handleField({ field, blocks, model, context, imports });
@@ -201,7 +202,15 @@ function prepareDetectDeltaFunction({ model, context, imports, }) {
201
202
  // Get the keyField name for this model - used to identify existing records during import
202
203
  const keyFieldName = model.keyField.name;
203
204
  // Check if this model uses keyMap (has relation fields that need key-based lookup)
204
- const usesKeyMap = blocks.sharedValidations.some((v) => v.includes('keyMap'));
205
+ const usesKeyMap = blocks.sharedValidations.some((v) => v.includes('keyMap')) || blocks.relationKeyResolutions.length > 0;
206
+ // Generate the resolveRelationKeys function that resolves keys to IDs before delta calculation
207
+ const resolveRelationKeysFunction = blocks.relationKeyResolutions.length > 0
208
+ ? `async (item: ${model.types.name}): Promise<{ item: ${model.types.name}; errors: ${model.import.delta.errors.name}[] }> => {
209
+ const errors: ${model.import.delta.errors.name}[] = []
210
+ ${blocks.relationKeyResolutions.join('\n')}
211
+ return { item, errors }
212
+ }`
213
+ : `(item: ${model.types.name}): Promise<{ item: ${model.types.name}; errors: ${model.import.delta.errors.name}[] }> => Promise.resolve({ item, errors: [] })`;
205
214
  return `
206
215
  /**
207
216
  * Detects changes for a ${model.userFriendlyName} item and returns the result as a ${generic.modelType.name} object.
@@ -229,6 +238,7 @@ export async function detect${model.internalSingularNameCapitalized}Delta(
229
238
  existingItem,
230
239
  properties: [${blocks.fieldNames.join(',')}],
231
240
  }),
241
+ resolveRelationKeys: ${resolveRelationKeysFunction},
232
242
  validate: {
233
243
  create: async ({ newItem: item }): Promise<${model.import.delta.errors.name}[]> =>
234
244
  ${context.import.detectDelta._utils.keepErrors.name}([
@@ -242,7 +252,7 @@ export async function detect${model.internalSingularNameCapitalized}Delta(
242
252
  })
243
253
  }`;
244
254
  }
245
- function handleField({ field, blocks: { sharedValidations, fieldNames, requiredFields }, model, context, imports, }) {
255
+ function handleField({ field, blocks, model, context, imports, }) {
246
256
  if (field.isReadonly) {
247
257
  return;
248
258
  }
@@ -250,22 +260,23 @@ function handleField({ field, blocks: { sharedValidations, fieldNames, requiredF
250
260
  case 'id':
251
261
  return;
252
262
  case 'scalar':
253
- handleScalarField({ field, model, context, imports, sharedValidations });
263
+ handleScalarField({ field, model, context, imports, sharedValidations: blocks.sharedValidations });
254
264
  break;
255
265
  case 'relation':
256
- handleRelationField({ field, model, context, imports, sharedValidations });
266
+ handleRelationField({ field, model, context, imports, blocks });
257
267
  break;
258
268
  case 'enum':
259
269
  break;
260
270
  case 'discriminatedUnion':
271
+ handleDiscriminatedUnionField({ field, model, context, imports, blocks });
261
272
  break;
262
273
  default:
263
274
  throw new utils_1.ExhaustiveSwitchCheck(field);
264
275
  }
265
276
  const fieldName = field.name;
266
- fieldNames.push(`'${fieldName}'`);
277
+ blocks.fieldNames.push(`'${fieldName}'`);
267
278
  if (field.isRequired) {
268
- requiredFields.push(`'${fieldName}'`);
279
+ blocks.requiredFields.push(`'${fieldName}'`);
269
280
  }
270
281
  }
271
282
  function handleScalarField({ field, model, context, imports, sharedValidations, }) {
@@ -288,16 +299,38 @@ function handleScalarField({ field, model, context, imports, sharedValidations,
288
299
  sharedValidations.push(`${context.import.detectDelta._utils.validation.int.name}({item, fieldName: '${field.name}'})`);
289
300
  }
290
301
  }
291
- function handleRelationField({ field, context, imports, sharedValidations, }) {
302
+ function handleRelationField({ field, model, context, imports, blocks, }) {
292
303
  const relatedModel = context.models.get(field.referencedModelName);
293
304
  if (relatedModel.repository.kind === 'NoRepository') {
294
305
  return;
295
306
  }
296
307
  imports.addType(relatedModel.types.id);
297
308
  imports.add(context.import.detectDelta._utils.validation.referenceField);
309
+ imports.add(context.import.detectDelta._utils.resolveRelationKey);
310
+ const resolveRelationKeyFn = context.import.detectDelta._utils.resolveRelationKey.name;
311
+ // Generate key resolution code for this relation field using the shared utility
312
+ // This resolves keyField values to IDs BEFORE delta calculation
313
+ const nullCheck = field.isRequired ? '' : `if (item.${field.name} !== null && item.${field.name} !== undefined) `;
314
+ blocks.relationKeyResolutions.push(`${nullCheck}{
315
+ const result = await ${resolveRelationKeyFn}({
316
+ value: item.${field.name},
317
+ fieldName: '${field.name}',
318
+ relatedModel: '${field.referencedModelName}',
319
+ idMapEntry: idMap.${relatedModel.decoder.dataModelEntry},
320
+ keyMapEntry: keyMap.${relatedModel.decoder.dataModelEntry},
321
+ getById: (id) => data.${relatedModel.repository.dataServiceVariable}.get(id),
322
+ getByKey: (key) => data.${relatedModel.repository.dataServiceVariable}.getByKey(key),
323
+ })
324
+ if ('error' in result) {
325
+ errors.push(result.error as ${model.import.delta.errors.name})
326
+ } else {
327
+ item.${field.name} = result.id
328
+ }
329
+ }`);
298
330
  // Foreign key value could be either an id OR a keyField value of the related model.
299
- // Try to resolve in this order: idMap (by id), keyMap (by keyField), then getByKey (from database).
300
- sharedValidations.push(` ${context.import.detectDelta._utils.validation.referenceField.name}({
331
+ // This validation runs AFTER key resolution, so it now validates that the resolved ID exists.
332
+ // We keep validation as a safety check but the key resolution already handled the lookup.
333
+ blocks.sharedValidations.push(` ${context.import.detectDelta._utils.validation.referenceField.name}({
301
334
  item,
302
335
  fieldName: '${field.name}',
303
336
  relatedModel: '${field.referencedModelName}',
@@ -316,6 +349,77 @@ function handleRelationField({ field, context, imports, sharedValidations, }) {
316
349
  },
317
350
  })`);
318
351
  }
352
+ function handleDiscriminatedUnionField({ field, model, context, imports, blocks, }) {
353
+ // Handle relation fields in common fields
354
+ for (const f of field.commonFields.values()) {
355
+ if (f.kind === 'relation') {
356
+ handleDiscriminatedUnionRelationField({
357
+ duField: field,
358
+ relationField: f,
359
+ model,
360
+ context,
361
+ imports,
362
+ blocks,
363
+ memberType: null,
364
+ });
365
+ }
366
+ }
367
+ // Handle relation fields in member-specific fields
368
+ for (const member of field.members.values()) {
369
+ for (const f of member.fields.values()) {
370
+ if (f.kind === 'relation') {
371
+ handleDiscriminatedUnionRelationField({
372
+ duField: field,
373
+ relationField: f,
374
+ model,
375
+ context,
376
+ imports,
377
+ blocks,
378
+ memberType: member.type,
379
+ });
380
+ }
381
+ }
382
+ }
383
+ }
384
+ function handleDiscriminatedUnionRelationField({ duField, relationField, model, context, imports, blocks, memberType, }) {
385
+ const relatedModel = context.models.get(relationField.referencedModelName);
386
+ if (relatedModel.repository.kind === 'NoRepository') {
387
+ return;
388
+ }
389
+ imports.addType(relatedModel.types.id);
390
+ imports.add(context.import.detectDelta._utils.validation.referenceField);
391
+ imports.add(context.import.detectDelta._utils.resolveRelationKey);
392
+ const resolveRelationKeyFn = context.import.detectDelta._utils.resolveRelationKey.name;
393
+ // Generate key resolution code for this relation field inside a discriminated union
394
+ // This resolves keyField values to IDs BEFORE delta calculation
395
+ const duAccess = `item.${duField.name}`;
396
+ const fieldAccess = `${duAccess}.${relationField.name}`;
397
+ // Build condition parts
398
+ const conditions = [];
399
+ if (memberType) {
400
+ conditions.push(`${duAccess}.type === '${memberType}'`);
401
+ }
402
+ if (!relationField.isRequired) {
403
+ conditions.push(`${fieldAccess} !== null && ${fieldAccess} !== undefined`);
404
+ }
405
+ const conditionStr = conditions.length > 0 ? `if (${conditions.join(' && ')}) ` : '';
406
+ blocks.relationKeyResolutions.push(`${conditionStr}{
407
+ const result = await ${resolveRelationKeyFn}({
408
+ value: ${fieldAccess},
409
+ fieldName: '${relationField.name}',
410
+ relatedModel: '${relationField.referencedModelName}',
411
+ idMapEntry: idMap.${relatedModel.decoder.dataModelEntry},
412
+ keyMapEntry: keyMap.${relatedModel.decoder.dataModelEntry},
413
+ getById: (id) => data.${relatedModel.repository.dataServiceVariable}.get(id),
414
+ getByKey: (key) => data.${relatedModel.repository.dataServiceVariable}.getByKey(key),
415
+ })
416
+ if ('error' in result) {
417
+ errors.push(result.error as ${model.import.delta.errors.name})
418
+ } else {
419
+ (${duAccess} as Record<string, unknown>).${relationField.name} = result.id
420
+ }
421
+ }`);
422
+ }
319
423
  function checkRelatedModel({ relatedModel, blocks: { deleteValidations }, model, context, imports, }) {
320
424
  if (relatedModel.name === model.name) {
321
425
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"model-function.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/model-function.generator.ts"],"names":[],"mappings":";;AAMA,4EAkBC;AAxBD,iDAA6D;AAE7D,yCAAmE;AAInE,SAAgB,gCAAgC,CAAC,OAAsB,EAAE,KAAkB;IACzF,MAAM,OAAO,GAAG,2BAAe;QAC7B,EAAE;SACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;SACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;SACvB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC/C,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;SACjD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAE1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/D,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACnF,OAAO,QAAQ,CAAC;EAChB,OAAO,CAAC,QAAQ,EAAE;;EAElB,SAAS;;EAET,mBAAmB,EAAE,CAAA;AACvB,CAAC;AAUD,SAAS,gBAAgB,CAAC,EACxB,OAAO,EACP,KAAK,EACL,OAAO,GAKR;IACC,MAAM,WAAW,GAAgB;QAC/B,aAAa,EAAE,EAAE;QACjB,2BAA2B,EAAE,EAAE;QAC/B,oBAAoB,EAAE,EAAE;QACxB,sBAAsB,EAAE,EAAE;QAC1B,0BAA0B,EAAE,EAAE;KAC/B,CAAA;IAED,qCAAqC;IACrC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,qBAAqB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GACrB,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAClC,CAAC,CAAC;YACE,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;SACvH;QACH,CAAC,CAAC,EAAE,CAAA;IAER,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,WAAW,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,WAAW,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,WAAW,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,WAAW,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,eAAe,GAAG;QACtB,GAAG,iBAAiB;QACpB,GAAG,WAAW,CAAC,2BAA2B;QAC1C,GAAG,WAAW,CAAC,oBAAoB;QACnC,GAAG,WAAW,CAAC,sBAAsB;QACrC,GAAG,WAAW,CAAC,0BAA0B;KAC1C,CAAA;IAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,eAAe,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;AAC1F,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,GAOR;IACC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,+BAA+B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QACzF,KAAK,oBAAoB;YACvB,OAAO,mCAAmC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7F;YACE,MAAM,IAAI,6BAAqB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,EACvC,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,GAOR;IACC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAE,CAAA;QAEtE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEzC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC;UACvC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;OACvH,CAAC,CAAA;IACN,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QACxG,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAA;QAC/G,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3D,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC;UAClC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,YAAY,MAAM,KAAK,CAAC,IAAI;OACvF,CAAC,CAAA;IACN,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAAC,EAC3C,OAAO,EACP,KAAK,EACL,KAAK,EACL,WAAW,EACX,OAAO,GAOR;IACC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,+BAA+B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,+BAA+B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,OAAO,EACP,WAAW,GAMZ;IACC,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACnD,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,oCAAoC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;QACrG,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,YAAY,EACZ,KAAK,EACL,OAAO,EACP,WAAW,GAQZ;IACC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,OAAM;QACR,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,mBAAmB,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACjE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAElE,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI;iBACzE,YAAY,CAAC,IAAI;iBACjB,KAAK,CAAC,IAAI;gBACX,YAAY,CAAC,KAAK,CAAC,IAAI;gBACvB,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;;WAE/B,CAAC,CAAA;YACN,CAAC;YACD,OAAM;QACR,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,oCAAoC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;YACxG,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvC,oCAAoC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;gBACxG,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD;YACE,MAAM,IAAI,6BAAqB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC;AASD,SAAS,0BAA0B,CAAC,EAClC,KAAK,EACL,OAAO,EACP,OAAO,GAKR;IACC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAA;IACxD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;SAClC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;SACvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;SACxD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IAExC,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;IAEhI,MAAM,MAAM,GAAsB;QAChC,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;KACtB,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACnD,iBAAiB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IACpH,CAAC;IAED,MAAM,wBAAwB,GAC5B,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9B,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,wBAAwB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK;QAC5K,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,IAAI,QAAQ,IAAA,oBAAQ,EAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAA;IAErJ,MAAM,SAAS,GAAG,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE7D,MAAM,cAAc,GAClB,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QACjC,CAAC,CAAC,+BAA+B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC/H,CAAC,CAAC,yGAAyG,CAAA;IAE/G,yFAAyF;IACzF,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAA;IAExC,mFAAmF;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE7E,OAAO;;2BAEkB,KAAK,CAAC,gBAAgB,qCAAqC,OAAO,CAAC,SAAS,CAAC,IAAI;;oBAExF,YAAY;;8BAEF,KAAK,CAAC,+BAA+B;UACzD,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI;WACpC,KAAK,CAAC,KAAK,CAAC,IAAI;IACvB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI;IACtF,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACxB,UAAU;oCACa,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;;MAEvF,yBAAyB;;aAElB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI;;uBAE7C,YAAY;sBACb,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,aAAa,KAAK,CAAC,UAAU,CAAC,mBAAmB;wCAClD,KAAK,CAAC,UAAU,CAAC,mBAAmB;mDACzB,KAAK,CAAC,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,KAAK,CAAC,IAAI;UAC5F,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;;;yBAGhC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;;;qDAGC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;YACvE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;cAC/C,wBAAwB;;;yDAGmB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;YAC3E,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;kBAC3C,cAAc;;;EAG9B,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,MAAM,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,EACzD,KAAK,EACL,OAAO,EACP,OAAO,GAOR;IACC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,IAAI;YACP,OAAM;QACR,KAAK,QAAQ;YACX,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;YACxE,MAAK;QACP,KAAK,UAAU;YACb,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;YAC1E,MAAK;QACP,KAAK,MAAM;YACT,MAAK;QACP,KAAK,oBAAoB;YACvB,MAAK;QACP;YACE,MAAM,IAAI,6BAAqB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,iBAAiB,GAOlB;IACC,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAM;IACR,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,QAAQ,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAA;QACpD,iBAAiB,CAAC,IAAI,CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI;;sBAEhD,KAAK,CAAC,IAAI;2CACW,KAAK,CAAC,UAAU,CAAC,mBAAmB,IAAI,SAAS;SACnF,CACJ,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC7D,iBAAiB,CAAC,IAAI,CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,uBAAuB,KAAK,CAAC,IAAI,KAAK,CAC/F,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,OAAO,EACP,iBAAiB,GAOlB;IACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAE,CAAA;IACnE,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpD,OAAM;IACR,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAExE,oFAAoF;IACpF,oGAAoG;IACpG,iBAAiB,CAAC,IAAI,CACpB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI;;uBAEjD,KAAK,CAAC,IAAI;0BACP,KAAK,CAAC,mBAAmB;0CACT,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;;gCAEpC,YAAY,CAAC,OAAO,CAAC,cAAc;;;kCAGjC,YAAY,CAAC,OAAO,CAAC,cAAc;;;2CAG1B,YAAY,CAAC,UAAU,CAAC,mBAAmB;;4CAE1C,YAAY,CAAC,UAAU,CAAC,mBAAmB;;;UAG7E,CACP,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,YAAY,EACZ,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EACL,OAAO,EACP,OAAO,GAOR;IACC,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACrC,OAAM;IACR,CAAC;IACD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpD,OAAM;IACR,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACxD,IACE,YAAY,CAAC,IAAI,KAAK,UAAU;YAChC,YAAY,CAAC,mBAAmB,KAAK,KAAK,CAAC,IAAI;YAC/C,CAAC,YAAY,CAAC,UAAU,EACxB,CAAC;YACD,SAAQ;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QAE5E,MAAM,gBAAgB,GAAG,IAAA,oBAAY,EAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxD,iBAAiB,CAAC,IAAI,CAAC;;;yBAGF,YAAY,CAAC,IAAI;yBACjB,YAAY,CAAC,IAAI;yCACD,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI;2BACjC,YAAY,CAAC,UAAU,CAAC,mBAAmB,eAAe,gBAAgB;;SAE5F,CAAC,CAAA;IACR,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"model-function.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/model-function.generator.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,10 @@ export type BackendImportContext = ActionProvider<ImportActions> & {
48
48
  /** Shared functions, used by detectDelta model functions */
49
49
  _utils: {
50
50
  detectModelDelta: Generator.ImportableFunction;
51
+ /** Resolves a relation field key to an ID using lookup maps and database */
52
+ resolveRelationKey: Generator.ImportableFunction;
53
+ /** Ensures all items have IDs - checks DB by key or generates new UUID */
54
+ ensureItemsHaveIds: Generator.ImportableFunction;
51
55
  validation: {
52
56
  params: Generator.ImportableType;
53
57
  referenceField: Generator.ImportableFunction;
@@ -137,6 +137,8 @@ exports.generator = {
137
137
  },
138
138
  _utils: {
139
139
  detectModelDelta: { name: Generator.toFunctionName(`detectModelDelta`), location: utilsLocation },
140
+ resolveRelationKey: { name: Generator.toFunctionName(`resolveRelationKey`), location: utilsLocation },
141
+ ensureItemsHaveIds: { name: Generator.toFunctionName(`ensureItemsHaveIds`), location: utilsLocation },
140
142
  validation: {
141
143
  params: { name: Generator.toTypeName(`ValidationFunctions`), location: utilsLocation },
142
144
  referenceField: { name: Generator.toFunctionName(`validateReferenceField`), location: utilsLocation },
@@ -1 +1 @@
1
- {"version":3,"file":"import.generator.js","sourceRoot":"","sources":["../../src/backend-import/import.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.generator.js","sourceRoot":"","sources":["../../src/backend-import/import.generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/generators",
3
- "version": "1.11.4",
3
+ "version": "1.11.5",
4
4
  "description": "Code generators for PXL - generates backend, frontend, Prisma schemas, and more",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",