@postxl/generators 1.11.3 → 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.
Files changed (20) hide show
  1. package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js +70 -43
  2. package/dist/backend-import/generators/detect-delta/detect-delta-all-models.generator.js.map +1 -1
  3. package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js +241 -4
  4. package/dist/backend-import/generators/detect-delta/detect-delta-functions.generator.js.map +1 -1
  5. package/dist/backend-import/generators/detect-delta/model-function.generator.js +113 -9
  6. package/dist/backend-import/generators/detect-delta/model-function.generator.js.map +1 -1
  7. package/dist/backend-import/import.generator.d.ts +4 -0
  8. package/dist/backend-import/import.generator.js +2 -0
  9. package/dist/backend-import/import.generator.js.map +1 -1
  10. package/dist/decoders/datamodel-decoder.generator.js +80 -1
  11. package/dist/decoders/datamodel-decoder.generator.js.map +1 -1
  12. package/dist/decoders/discriminated-union.decoder.generator.js +76 -9
  13. package/dist/decoders/discriminated-union.decoder.generator.js.map +1 -1
  14. package/dist/decoders/model-decoder.generator.js +120 -17
  15. package/dist/decoders/model-decoder.generator.js.map +1 -1
  16. package/dist/e2e/generators/docker-sh.generator.js +13 -5
  17. package/dist/e2e/generators/docker-sh.generator.js.map +1 -1
  18. package/dist/e2e/template/e2e/specs/example.spec.ts-snapshots/Navigate-to-homepage-and-take-snapshot-1-chromium-linux.png +0 -0
  19. package/dist/frontend-core/template/src/pages/dashboard/dashboard.page.tsx +1 -1
  20. package/package.json +2 -2
@@ -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":"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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":"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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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"}
@@ -35,6 +35,41 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generateDataModelDecoder = generateDataModelDecoder;
37
37
  const Generator = __importStar(require("@postxl/generator"));
38
+ /**
39
+ * Checks if a discriminated union has any relation fields (in common fields or any member).
40
+ */
41
+ function discriminatedUnionHasRelationFields(field) {
42
+ // Check common fields
43
+ for (const f of field.commonFields.values()) {
44
+ if (f.kind === 'relation') {
45
+ return true;
46
+ }
47
+ }
48
+ // Check member fields
49
+ for (const member of field.members.values()) {
50
+ for (const f of member.fields.values()) {
51
+ if (f.kind === 'relation') {
52
+ return true;
53
+ }
54
+ }
55
+ }
56
+ return false;
57
+ }
58
+ /**
59
+ * Checks if a model needs lookup maps for Excel encoding.
60
+ * This is true if the model has direct relation fields OR discriminated unions with relation fields.
61
+ */
62
+ function modelNeedsLookupMaps(model) {
63
+ for (const field of model.fields.values()) {
64
+ if (field.kind === 'relation') {
65
+ return true;
66
+ }
67
+ if (field.kind === 'discriminatedUnion' && discriminatedUnionHasRelationFields(field)) {
68
+ return true;
69
+ }
70
+ }
71
+ return false;
72
+ }
38
73
  /**
39
74
  * Generates the data decoder, aggregating all the models.
40
75
  */
@@ -49,23 +84,40 @@ function generateDataModelDecoder({ context: { decoders, models } }) {
49
84
  const encoderExcelEntries = [];
50
85
  const decoderExcelEntries = [];
51
86
  const transformerExcelEntries = [];
87
+ // Build lookup map type entries for all models (map ID to keyField value)
88
+ const lookupMapTypeEntries = [];
89
+ const lookupMapBuilderEntries = [];
52
90
  for (const model of models.values()) {
53
91
  imports.addType(model.decoder.flattened.encodedType);
54
92
  encodedTypeEntries.push(`${model.decoder.dataModelEntry}: ${model.decoder.flattened.encodedType.name}[] | undefined`);
55
93
  imports.addType(model.decoder.excel.encodedType);
56
94
  encodedExcelTypeEntries.push(`${model.excelName}: ${model.decoder.excel.encodedType.name}[] | undefined`);
57
95
  imports.addType(model.types);
96
+ imports.addType(model.types.id);
58
97
  decodedTypeEntries.push(`${model.decoder.dataModelEntry}?: ${model.types.name}[]`);
59
98
  imports.add(model.decoder.flattened.encoder);
60
99
  encoderEntries.push(`${model.decoder.dataModelEntry}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.flattened.encoder.name}) ?? undefined`);
61
100
  imports.add(model.decoder.excel.encoder);
62
- encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.excel.encoder.name}) ?? undefined`);
101
+ // Build lookup map type entry (maps ID to keyField value for this model)
102
+ lookupMapTypeEntries.push(`${model.decoder.dataModelEntry}: Map<${model.types.id.name}, string>`);
103
+ // Build lookup map builder entry
104
+ const keyFieldName = model.keyField.name;
105
+ lookupMapBuilderEntries.push(`${model.decoder.dataModelEntry}: new Map((input.${model.decoder.dataModelEntry} ?? []).map(item => [item.id, String(item.${keyFieldName})]))`);
63
106
  imports.add(model.decoder.flattened.decoder.zodDecoder);
64
107
  decoderEntries.push(`${model.decoder.dataModelEntry}: z.array(${model.decoder.flattened.decoder.zodDecoder.name}).optional()`);
65
108
  imports.add(model.decoder.excel.decoder.zodDecoder);
66
109
  decoderExcelEntries.push(`${model.excelName}: z.array(${model.decoder.excel.decoder.zodDecoder.name}).optional()`);
67
110
  transformerExcelEntries.push(`${model.decoder.dataModelEntry}: v.${model.excelName} ?? []`);
68
111
  }
112
+ // Generate encoder entries for Excel - models with relations (direct or via DU) need lookup maps
113
+ for (const model of models.values()) {
114
+ if (modelNeedsLookupMaps(model)) {
115
+ encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(item => ${model.decoder.excel.encoder.name}(item, lookupMaps)) ?? undefined`);
116
+ }
117
+ else {
118
+ encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.excel.encoder.name}) ?? undefined`);
119
+ }
120
+ }
69
121
  return `
70
122
  import * as z from 'zod'
71
123
  ${imports.generate()}
@@ -84,6 +136,25 @@ export type ${dataModel.decodedType.name} = {
84
136
  ${decodedTypeEntries.join(',\n')}
85
137
  }
86
138
 
139
+ /**
140
+ * Lookup maps for resolving IDs to keyField values during Excel export.
141
+ * Each map contains ID -> keyField value mappings for a specific model.
142
+ * This is used to export human-readable keys instead of UUIDs in relation fields.
143
+ */
144
+ export type IdToKeyLookupMaps = {
145
+ ${lookupMapTypeEntries.join(',\n')}
146
+ }
147
+
148
+ /**
149
+ * Builds lookup maps from the DataModel for ID-to-key resolution during export.
150
+ * These maps allow the Excel encoder to output keyField values instead of IDs for relation fields.
151
+ */
152
+ function buildIdToKeyLookupMaps(input: ${dataModel.decodedType.name}): IdToKeyLookupMaps {
153
+ return {
154
+ ${lookupMapBuilderEntries.join(',\n')}
155
+ }
156
+ }
157
+
87
158
  export function ${dataModel.encoder.name}(input: ${dataModel.decodedType.name}): ${dataModel.encodedType.name} {
88
159
  return {
89
160
  ${encoderEntries.join(',\n')}
@@ -109,7 +180,15 @@ export type ${excelDataModel.encodedType.name} = {
109
180
  ${encodedExcelTypeEntries.join(',\n')}
110
181
  }
111
182
 
183
+ /**
184
+ * Encodes a DataModel to Excel format, converting relation IDs to human-readable keys.
185
+ * This allows exported Excel files to contain the same format as imported Excel files,
186
+ * making round-trip import/export consistent.
187
+ */
112
188
  export function ${excelDataModel.encoder.name}(input: ${dataModel.decodedType.name}): ${excelDataModel.encodedType.name} {
189
+ // Build lookup maps for ID-to-key resolution
190
+ const lookupMaps = buildIdToKeyLookupMaps(input)
191
+
113
192
  return {
114
193
  ${encoderExcelEntries.join(',\n')}
115
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/datamodel-decoder.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datamodel-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/datamodel-decoder.generator.ts"],"names":[],"mappings":"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"}
@@ -37,11 +37,33 @@ exports.generateDiscriminatedUnionDecoder = generateDiscriminatedUnionDecoder;
37
37
  const Generator = __importStar(require("@postxl/generator"));
38
38
  const FlattenedFieldHelper = __importStar(require("./excel-field-decoder.helper"));
39
39
  const FieldDecoder = __importStar(require("./field-decoder.helper"));
40
+ /**
41
+ * Checks if a discriminated union has any relation fields (in common fields or any member).
42
+ */
43
+ function hasRelationFields(field) {
44
+ // Check common fields
45
+ for (const f of field.commonFields.values()) {
46
+ if (f.kind === 'relation') {
47
+ return true;
48
+ }
49
+ }
50
+ // Check member fields
51
+ for (const member of field.members.values()) {
52
+ for (const f of member.fields.values()) {
53
+ if (f.kind === 'relation') {
54
+ return true;
55
+ }
56
+ }
57
+ }
58
+ return false;
59
+ }
40
60
  function generateDiscriminatedUnionDecoder({ context, model, discriminatedUnion, }) {
41
61
  const imports = Generator.ImportGenerator.from(model.decoder.decoder.zodDecoder.location);
42
62
  const params = { context, model, discriminatedUnion, field: discriminatedUnion.field, imports };
43
63
  // We cannot inline below definitions, as we need to add the imports before
44
64
  const decoder = getDecoder(params);
65
+ const flattenedType = getFlattenedType({ discriminatedUnion });
66
+ const flattenedEncoder = getFlattenedEncoder(params);
45
67
  const flattenedDecoder = getFlattenedDecoder(params);
46
68
  return /* ts */ `
47
69
  import * as z from 'zod'
@@ -49,9 +71,9 @@ ${imports.generate()}
49
71
 
50
72
  ${decoder}
51
73
 
52
- ${getFlattenedType({ discriminatedUnion })}
74
+ ${flattenedType}
53
75
 
54
- ${getFlattenedEncoder({ discriminatedUnion })}
76
+ ${flattenedEncoder}
55
77
 
56
78
  ${flattenedDecoder}`;
57
79
  }
@@ -89,32 +111,77 @@ function getFlattenedType({ discriminatedUnion }) {
89
111
  export type ${discriminatedUnion.flattened.decoder.rawInputType.name} = z.infer<typeof ${discriminatedUnion.flattened.decoder.rawInputValidation.name}>
90
112
  `;
91
113
  }
92
- function getFlattenedEncoder({ discriminatedUnion, }) {
114
+ function getFlattenedEncoder({ context, discriminatedUnion, field, imports }) {
115
+ const hasRelations = hasRelationFields(field);
116
+ // If there are relation fields, we need the lookup maps type
117
+ if (hasRelations) {
118
+ imports.addTypeImport({
119
+ from: Generator.toBackendModuleLocation('@decoders/data-model.decoder'),
120
+ items: [Generator.toTypeName('IdToKeyLookupMaps')],
121
+ });
122
+ }
123
+ const encoderFields = getEncoderFields({ field, context, hasRelations });
124
+ if (hasRelations) {
125
+ return `
126
+ /**
127
+ * Encodes a ${field.type} discriminated union to a flattened object.
128
+ * When lookupMaps is provided, relation IDs are resolved to human-readable keyField values.
129
+ * When lookupMaps is not provided, IDs are output directly.
130
+ */
131
+ export function ${discriminatedUnion.flattened.encoder.name}(item: ${field.type}, lookupMaps?: IdToKeyLookupMaps) {
132
+ return {
133
+ ${encoderFields.join(',\n')}
134
+ }
135
+ }
136
+ `;
137
+ }
93
138
  return `
94
139
  /**
95
- * Encodes a ${discriminatedUnion.field.type} discriminated union to a flattened object, where each
140
+ * Encodes a ${field.type} discriminated union to a flattened object, where each
96
141
  * nested field is mapped to a top-level field. This allows serialization to a column structure.
97
142
  */
98
- export function ${discriminatedUnion.flattened.encoder.name}(item: ${discriminatedUnion.field.type}) {
143
+ export function ${discriminatedUnion.flattened.encoder.name}(item: ${field.type}) {
99
144
  return {
100
- ${getEncoderFields({ field: discriminatedUnion.field }).join(',\n')}
145
+ ${encoderFields.join(',\n')}
101
146
  }
102
147
  }
103
148
  `;
104
149
  }
105
- function getEncoderFields({ field }) {
150
+ function getEncoderFields({ field, context, hasRelations, }) {
106
151
  const result = [];
107
152
  result.push(`${field.databaseName}: item.type`);
108
153
  for (const f of field.commonFields.values()) {
109
- result.push(`${f.databaseName}: item.${f.name}`);
154
+ result.push(getEncoderFieldValue({ f, context, hasRelations, memberType: null }));
110
155
  }
111
156
  for (const member of field.members.values()) {
112
157
  for (const f of member.fields.values()) {
113
- result.push(`${f.databaseName}: item.type === '${member.type}' ? item.${f.name} : null`);
158
+ result.push(getEncoderFieldValue({ f, context, hasRelations, memberType: member.type }));
114
159
  }
115
160
  }
116
161
  return result;
117
162
  }
163
+ function getEncoderFieldValue({ f, context, hasRelations, memberType, }) {
164
+ const valueExpr = memberType ? `item.type === '${memberType}' ? item.${f.name} : null` : `item.${f.name}`;
165
+ if (f.kind === 'relation' && hasRelations) {
166
+ const referencedModel = context.models.get(f.referencedModelName);
167
+ const lookupExpr = `lookupMaps?.${referencedModel.decoder.dataModelEntry}.get(item.${f.name})`;
168
+ if (memberType) {
169
+ // Member-specific field: check type first, then resolve ID to key
170
+ if (f.isRequired) {
171
+ return `${f.databaseName}: item.type === '${memberType}' ? (${lookupExpr} ?? item.${f.name}) : null`;
172
+ }
173
+ return `${f.databaseName}: item.type === '${memberType}' ? (item.${f.name} === null ? null : (${lookupExpr} ?? item.${f.name})) : null`;
174
+ }
175
+ else {
176
+ // Common field: always present
177
+ if (f.isRequired) {
178
+ return `${f.databaseName}: ${lookupExpr} ?? item.${f.name}`;
179
+ }
180
+ return `${f.databaseName}: item.${f.name} === null ? null : (${lookupExpr} ?? item.${f.name})`;
181
+ }
182
+ }
183
+ return `${f.databaseName}: ${valueExpr}`;
184
+ }
118
185
  function getFlattenedDecoder({ context, model, discriminatedUnion, field, imports }) {
119
186
  imports.addTypeImport({ from: context.types.location, items: [field.type] });
120
187
  const fieldRawDecoders = [