@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.
- package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js +70 -43
- package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js.map +1 -1
- package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js +226 -2
- package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js.map +1 -1
- package/dist/backend-import/generators/detect-delta/model-function.generator.js +113 -9
- package/dist/backend-import/generators/detect-delta/model-function.generator.js.map +1 -1
- package/dist/backend-import/import.generator.d.ts +4 -0
- package/dist/backend-import/import.generator.js +2 -0
- package/dist/backend-import/import.generator.js.map +1 -1
- package/dist/e2e/template/e2e/specs/example.spec.ts-snapshots/Navigate-to-homepage-and-take-snapshot-1-chromium-linux.png +0 -0
- package/package.json +1 -1
|
@@ -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,
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
89
|
-
|
|
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
|
|
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
|
-
|
|
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(`'${
|
|
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(`'${
|
|
162
|
-
|
|
163
|
-
|
|
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 {
|
|
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
|
package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js.map
CHANGED
|
@@ -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":";;AAIA,
|
|
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
|
-
|
|
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:
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
-
//
|
|
300
|
-
|
|
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":"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"}
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmC;AAEnC,6DAA8C;AAE9C,wDAO2B;AAC3B,kDAA+E;AAC/E,kEAA0F;AAC1F,sDAAyE;AACzE,kCAAmD;AACnD,0CAA+D;AAC/D,oCAAsD;AAEtD,0FAAyF;AACzF,mHAA0G;AAC1G,iHAAyG;AACzG,iGAAqG;AACrG,+EAAoF;AACpF,kFAA2E;AAC3E,oFAA6E;
|
|
1
|
+
{"version":3,"file":"import.generator.js","sourceRoot":"","sources":["../../src/backend-import/import.generator.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED