@memberjunction/codegen-lib 5.22.0 → 5.24.0

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.
@@ -15,8 +15,14 @@ export type CheckConstraintParserResult = {
15
15
  ModelID: string;
16
16
  };
17
17
  export type SmartFieldIdentificationResult = {
18
- nameField: string;
19
- nameFieldReason: string;
18
+ /**
19
+ * One or more fields that together form the human-readable record name.
20
+ * For person entities: ["FirstName", "LastName"]
21
+ * For simple entities: ["Name"]
22
+ * Displayed concatenated with spaces in card titles, tooltips, etc.
23
+ */
24
+ nameFields: string[];
25
+ nameFieldsReason: string;
20
26
  defaultInView: string[];
21
27
  defaultInViewReason: string;
22
28
  searchableFields: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"advanced_generation.d.ts","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced_generation.d.ts","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
@@ -66,12 +66,17 @@ export class AdvancedGeneration {
66
66
  fields: entity.Fields.map((f) => ({
67
67
  Name: f.Name,
68
68
  Type: f.Type,
69
+ MaxLength: f.MaxLength ?? null,
69
70
  IsNullable: f.AllowsNull,
70
71
  IsPrimaryKey: f.IsPrimaryKey,
71
72
  IsUnique: f.IsUnique,
72
73
  IsForeignKey: f.EntityIDFieldName != null || (f.RelatedEntityID && f.RelatedEntityID.length > 0),
73
74
  RelatedEntity: f.RelatedEntity || null,
74
- Description: f.Description
75
+ Description: f.Description,
76
+ ExtendedType: f.ExtendedType || null,
77
+ ValueListType: f.ValueListType || null,
78
+ DefaultValue: f.DefaultValue || null,
79
+ Sequence: f.Sequence ?? null,
75
80
  })),
76
81
  relationships: entity.RelatedEntities?.map((r) => ({
77
82
  Name: r.Name,
@@ -1 +1 @@
1
- {"version":3,"file":"advanced_generation.js","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced_generation.js","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,21 @@ export declare class EntitySubClassGeneratorBase {
11
11
  * and template literal interpolation sequences.
12
12
  */
13
13
  protected static SanitizeDescription(text: string): string;
14
+ /**
15
+ * Validates that a JSONTypeDefinition string contains valid TypeScript and (optionally)
16
+ * exports the expected type name. Uses the TypeScript compiler API to parse without
17
+ * writing any files to disk.
18
+ *
19
+ * @param definition - The raw TypeScript code from EntityField.JSONTypeDefinition
20
+ * @param expectedTypeName - The JSONType name that should be defined/exported in the definition
21
+ * @param entityName - Entity name for error messages
22
+ * @param fieldName - Field name for error messages
23
+ * @returns An object with `valid` boolean and optional `errors` array of diagnostic messages
24
+ */
25
+ protected static ValidateJSONTypeDefinition(definition: string, expectedTypeName: string, entityName: string, fieldName: string): {
26
+ valid: boolean;
27
+ errors: string[];
28
+ };
14
29
  /**
15
30
  *
16
31
  * @param pool
@@ -38,6 +53,13 @@ export declare class EntitySubClassGeneratorBase {
38
53
  validators: ValidatorResult[];
39
54
  };
40
55
  GenerateSchemaAndType(entity: EntityInfo): string;
41
- GenerateZodDescription(entityField: EntityFieldInfo): string;
56
+ /**
57
+ * Generates the description string for a Zod schema field, including field metadata,
58
+ * value list documentation, and JSONType annotations with entity-prefixed type names.
59
+ * @param entityField - The entity field to generate a description for
60
+ * @param entity - Optional entity context, used to compute the entity-prefixed JSONType name
61
+ * @returns A formatted description string for the Zod `.describe()` call
62
+ */
63
+ GenerateZodDescription(entityField: EntityFieldInfo, entity?: EntityInfo): string;
42
64
  }
43
65
  //# sourceMappingURL=entity_subclasses_codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAK9I,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAiCxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB9I,gCAAgC,IAAI,MAAM;IAYjD;;;;OAIG;IACU,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA6LpK;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAaxE,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6DhI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyEpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAwDjD,sBAAsB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;CAiBpE"}
1
+ {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAM9I,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAiCxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA2DvC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB9I,gCAAgC,IAAI,MAAM;IAYjD;;;;OAIG;IACU,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA2RpK;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAaxE,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6DhI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyEpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IA6DxD;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;CAyBzF"}
@@ -1,6 +1,7 @@
1
1
  import { BaseEntity, EntityFieldValueListType, Metadata, TypeScriptTypeFromSQLType } from '@memberjunction/core';
2
2
  import fs from 'fs';
3
3
  import path from 'path';
4
+ import ts from 'typescript';
4
5
  import { makeDir, sortBySequenceAndCreatedAt } from '../Misc/util.js';
5
6
  import { logError, logStatus } from './status_logging.js';
6
7
  import { ManageMetadataBase } from '../Database/manage-metadata.js';
@@ -51,6 +52,56 @@ export class EntitySubClassGeneratorBase {
51
52
  return '';
52
53
  }
53
54
  }
55
+ /**
56
+ * Validates that a JSONTypeDefinition string contains valid TypeScript and (optionally)
57
+ * exports the expected type name. Uses the TypeScript compiler API to parse without
58
+ * writing any files to disk.
59
+ *
60
+ * @param definition - The raw TypeScript code from EntityField.JSONTypeDefinition
61
+ * @param expectedTypeName - The JSONType name that should be defined/exported in the definition
62
+ * @param entityName - Entity name for error messages
63
+ * @param fieldName - Field name for error messages
64
+ * @returns An object with `valid` boolean and optional `errors` array of diagnostic messages
65
+ */
66
+ static ValidateJSONTypeDefinition(definition, expectedTypeName, entityName, fieldName) {
67
+ const errors = [];
68
+ const prefix = `[JSONType] ${entityName}.${fieldName}`;
69
+ // Parse the definition as a TypeScript source file
70
+ const sourceFile = ts.createSourceFile('jsontype-validation.ts', definition, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
71
+ // Check for syntax errors using a minimal compiler program
72
+ const compilerHost = ts.createCompilerHost({});
73
+ const originalGetSourceFile = compilerHost.getSourceFile;
74
+ compilerHost.getSourceFile = (fileName, languageVersion) => {
75
+ if (fileName === 'jsontype-validation.ts')
76
+ return sourceFile;
77
+ return originalGetSourceFile.call(compilerHost, fileName, languageVersion);
78
+ };
79
+ const program = ts.createProgram(['jsontype-validation.ts'], { noEmit: true, strict: false, skipLibCheck: true }, compilerHost);
80
+ const syntacticDiagnostics = program.getSyntacticDiagnostics(sourceFile);
81
+ for (const diag of syntacticDiagnostics) {
82
+ const message = ts.flattenDiagnosticMessageText(diag.messageText, '\n');
83
+ errors.push(`${prefix}: Syntax error — ${message}`);
84
+ }
85
+ if (errors.length > 0) {
86
+ return { valid: false, errors };
87
+ }
88
+ // Check that the expected type name is defined in the source
89
+ const definedNames = new Set();
90
+ ts.forEachChild(sourceFile, (node) => {
91
+ if (ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node) ||
92
+ ts.isEnumDeclaration(node) || ts.isClassDeclaration(node)) {
93
+ if (node.name) {
94
+ definedNames.add(node.name.text);
95
+ }
96
+ }
97
+ });
98
+ if (!definedNames.has(expectedTypeName)) {
99
+ errors.push(`${prefix}: JSONType "${expectedTypeName}" is not defined in JSONTypeDefinition. ` +
100
+ `Found: ${definedNames.size > 0 ? Array.from(definedNames).join(', ') : '(none)'}`);
101
+ return { valid: false, errors };
102
+ }
103
+ return { valid: true, errors: [] };
104
+ }
54
105
  /**
55
106
  *
56
107
  * @param pool
@@ -101,6 +152,7 @@ export const loadModule = () => {
101
152
  else {
102
153
  // Sort fields by Sequence, then by __mj_CreatedAt for consistent ordering
103
154
  const sortedFields = sortBySequenceAndCreatedAt(entity.Fields);
155
+ const sClassName = `${entity.ClassName}Entity`;
104
156
  const fields = sortedFields.map((e) => {
105
157
  let values = '';
106
158
  let valueList = '';
@@ -110,8 +162,22 @@ export const loadModule = () => {
110
162
  values = sortedValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + EntitySubClassGeneratorBase.SanitizeDescription(v.Description) : ''}`).join('');
111
163
  valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
112
164
  }
165
+ // JSONType: when a field has JSONType metadata, we emit the standard string getter/setter
166
+ // unchanged, plus an additional typed "Object" accessor (e.g., DefaultNavItemsObject) that
167
+ // handles JSON.parse/stringify with caching. Interface names are entity-prefixed for safety.
168
+ const hasJSONType = e.JSONType && e.JSONType.trim().length > 0;
113
169
  let typeString = TypeScriptTypeFromSQLType(e.Type) + (e.AllowsNull ? ' | null' : '');
114
- if (e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
170
+ // Build the typed accessor info (used later for the Object suffix property)
171
+ let jsonTypeAccessorInfo = null;
172
+ if (hasJSONType) {
173
+ const originalTypeName = e.JSONType.trim();
174
+ const prefixedTypeName = `${sClassName}_${originalTypeName}`;
175
+ const isArray = e.JSONTypeIsArray === true;
176
+ const fullTypeString = isArray ? `Array<${prefixedTypeName}>` : prefixedTypeName;
177
+ jsonTypeAccessorInfo = { prefixedTypeName, fullTypeString: fullTypeString + (e.AllowsNull ? ' | null' : ''), isArray };
178
+ // typeString stays as the standard SQL-mapped type (string | null) for the base getter
179
+ }
180
+ if (!hasJSONType && e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
115
181
  // construct a typeString that is a union of the possible values
116
182
  const quotes = e.NeedsQuotes ? "'" : '';
117
183
  // Sort deterministically by Sequence, CreatedAt, then Value to prevent flip-flopping across runs
@@ -135,27 +201,60 @@ export const loadModule = () => {
135
201
  const isaSourceComment = isISAParentField
136
202
  ? `\n * * IS-A Source: Inherited from ${this.getISAFieldSourceEntity(entity, e)}`
137
203
  : '';
204
+ const jsonTypeComment = hasJSONType && jsonTypeAccessorInfo
205
+ ? `\n * * JSON Type: ${jsonTypeAccessorInfo.isArray ? `Array<${jsonTypeAccessorInfo.prefixedTypeName}>` : jsonTypeAccessorInfo.prefixedTypeName}`
206
+ : '';
138
207
  const safeName = SafeCodeName(e);
139
208
  const conflictNote = safeName !== e.CodeName
140
209
  ? `\n * * NOTE: Property renamed to \`${safeName}\` to avoid conflict with BaseEntity.${e.CodeName}`
141
210
  : '';
211
+ // Standard getter/setter (always uses raw string, even for JSONType fields)
212
+ const getterBody = `return this.Get('${e.Name}');`;
213
+ const setterBody = `this.Set('${e.Name}', value);`;
142
214
  let sRet = ` /**
143
215
  * * Field Name: ${e.Name}${e.DisplayName && e.DisplayName.length > 0 ? '\n * * Display Name: ' + e.DisplayName : ''}
144
- * * ${fieldDeprecatedFlag}${fieldDisabledFlag}SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + e.RelatedEntity + ' (' + e.RelatedEntityBaseView + '.' + e.RelatedEntityFieldName + ')' : ''}${e.DefaultValue && e.DefaultValue.length > 0 ? '\n * * Default Value: ' + e.DefaultValue : ''}${valueList}${e.Description && e.Description.length > 0 ? '\n * * Description: ' + EntitySubClassGeneratorBase.SanitizeDescription(e.Description) : ''}${isaSourceComment}${conflictNote}
216
+ * * ${fieldDeprecatedFlag}${fieldDisabledFlag}SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + e.RelatedEntity + ' (' + e.RelatedEntityBaseView + '.' + e.RelatedEntityFieldName + ')' : ''}${e.DefaultValue && e.DefaultValue.length > 0 ? '\n * * Default Value: ' + e.DefaultValue : ''}${valueList}${jsonTypeComment}${e.Description && e.Description.length > 0 ? '\n * * Description: ' + EntitySubClassGeneratorBase.SanitizeDescription(e.Description) : ''}${isaSourceComment}${conflictNote}
145
217
  */
146
218
  get ${safeName}(): ${typeString} {
147
- return this.Get('${e.Name}');
219
+ ${getterBody}
148
220
  }`;
149
221
  if (!e.ReadOnly || (e.IsPrimaryKey && !e.AutoIncrement) || isISAParentField) {
150
- // Generate setter for non-readonly fields, non-auto-increment PKs, or IS-A parent fields
151
222
  sRet += `
152
223
  set ${safeName}(value: ${typeString}) {
153
- this.Set('${e.Name}', value);
224
+ ${setterBody}
225
+ }`;
226
+ }
227
+ // JSONType: emit additional typed "Object" accessor with caching
228
+ if (hasJSONType && jsonTypeAccessorInfo) {
229
+ const objName = `${safeName}Object`;
230
+ const cachedField = `_${objName}_cached`;
231
+ const lastRawField = `_${objName}_lastRaw`;
232
+ const ft = jsonTypeAccessorInfo.fullTypeString;
233
+ sRet += `
234
+
235
+ private ${cachedField}: ${ft} | undefined = undefined;
236
+ private ${lastRawField}: string | null = null;
237
+ /**
238
+ * Typed accessor for ${e.Name} — returns parsed JSON as ${jsonTypeAccessorInfo.isArray ? `Array<${jsonTypeAccessorInfo.prefixedTypeName}>` : jsonTypeAccessorInfo.prefixedTypeName}.
239
+ * Uses lazy parsing with cache invalidation when the underlying raw value changes.
240
+ */
241
+ get ${objName}(): ${ft} {
242
+ const raw = this.${safeName};
243
+ if (raw !== this.${lastRawField}) {
244
+ this.${cachedField} = raw ? JSON.parse(raw) : null;
245
+ this.${lastRawField} = raw;
246
+ }
247
+ return this.${cachedField}!;
248
+ }
249
+ set ${objName}(value: ${ft}) {
250
+ const raw = value ? JSON.stringify(value) : null;
251
+ this.${safeName} = raw;
252
+ this.${cachedField} = value;
253
+ this.${lastRawField} = raw;
154
254
  }`;
155
255
  }
156
256
  return sRet;
157
257
  }).join('\n\n');
158
- const sClassName = `${entity.ClassName}Entity`;
159
258
  const subClass = entity.EntityObjectSubclassName ? entity.EntityObjectSubclassName : '';
160
259
  const subClassImport = entity.EntityObjectSubclassImport ? entity.EntityObjectSubclassImport : '';
161
260
  const sBaseClass = subClass.length > 0 && subClassImport.length > 0 ? `${subClass}` : 'BaseEntity';
@@ -248,8 +347,46 @@ export const loadModule = () => {
248
347
  `\n * @deprecated This entity is deprecated and will be removed in a future version. Using it will result in console warnings.` : '';
249
348
  const disabledFlag = status === 'disabled' ?
250
349
  `\n * @disabled This entity is disabled and will not be available in the application. Attempting to use it will result in exceptions being thrown` : '';
350
+ // Collect and deduplicate JSONTypeDefinitions for this entity.
351
+ // These are raw TypeScript interface/type definitions (from EntityField.JSONTypeDefinition)
352
+ // that get emitted above the entity class so the typed getters/setters can reference them.
353
+ // A Set is used because multiple fields may share the same definition (e.g., a shared config type).
354
+ // Each definition is validated via the TypeScript compiler API before inclusion.
355
+ const jsonTypeDefinitions = new Set();
356
+ for (const field of sortedFields) {
357
+ if (field.JSONTypeDefinition && field.JSONTypeDefinition.trim().length > 0) {
358
+ const definition = field.JSONTypeDefinition.trim();
359
+ if (field.JSONType && field.JSONType.trim().length > 0) {
360
+ const validation = EntitySubClassGeneratorBase.ValidateJSONTypeDefinition(definition, field.JSONType.trim(), entity.Name, field.Name);
361
+ if (!validation.valid) {
362
+ for (const err of validation.errors) {
363
+ logError(err);
364
+ }
365
+ logError(`[JSONType] Skipping JSONTypeDefinition for ${entity.Name}.${field.Name} due to validation errors. The field will use a plain string getter/setter instead.`);
366
+ field.JSONType = null;
367
+ continue;
368
+ }
369
+ }
370
+ // Prefix all type names defined in this definition block with the entity class name
371
+ // to avoid naming conflicts across entities. Uses AST to find all defined type names.
372
+ let rewrittenDef = definition;
373
+ const sourceFile = ts.createSourceFile('temp.ts', definition, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
374
+ ts.forEachChild(sourceFile, (node) => {
375
+ if ((ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node) ||
376
+ ts.isEnumDeclaration(node) || ts.isClassDeclaration(node)) && node.name) {
377
+ const originalName = node.name.text;
378
+ const prefixedName = `${sClassName}_${originalName}`;
379
+ rewrittenDef = rewrittenDef.replace(new RegExp('\\b' + originalName + '\\b', 'g'), prefixedName);
380
+ }
381
+ });
382
+ jsonTypeDefinitions.add(rewrittenDef);
383
+ }
384
+ }
385
+ const jsonTypeBlock = jsonTypeDefinitions.size > 0
386
+ ? '\n' + Array.from(jsonTypeDefinitions).join('\n\n') + '\n'
387
+ : '';
251
388
  let sRet = `
252
-
389
+ ${jsonTypeBlock}
253
390
  /**
254
391
  * ${entity.Name} - strongly typed entity sub-class
255
392
  * * Schema: ${entity.SchemaName}
@@ -432,8 +569,14 @@ ${validationFunctions}`;
432
569
  values = sortedValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
433
570
  valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
434
571
  }
572
+ // JSONType fields use z.any() in the Zod schema since the actual validation is
573
+ // handled by the TypeScript interface (full Zod schema generation is a future phase).
574
+ const hasJSONType = e.JSONType && e.JSONType.trim().length > 0;
435
575
  let typeString = `${TypeScriptTypeFromSQLType(e.Type).toLowerCase()}()` + (e.AllowsNull ? '.nullable()' : '');
436
- if (e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
576
+ if (hasJSONType) {
577
+ typeString = `any()${e.AllowsNull ? '.nullable()' : ''}`;
578
+ }
579
+ else if (e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
437
580
  // construct a typeString that is a union of the possible values
438
581
  const quotes = e.NeedsQuotes ? "'" : '';
439
582
  // Sort deterministically by Sequence, CreatedAt, then Value to prevent flip-flopping across runs
@@ -448,7 +591,7 @@ ${validationFunctions}`;
448
591
  typeString += '.nullable()';
449
592
  }
450
593
  }
451
- let sRet = ` ${SafeCodeName(e)}: z.${typeString}.describe(\`\n${this.GenerateZodDescription(e)}\`),`;
594
+ let sRet = ` ${SafeCodeName(e)}: z.${typeString}.describe(\`\n${this.GenerateZodDescription(e, entity)}\`),`;
452
595
  return sRet;
453
596
  }).join('\n');
454
597
  const schemaName = `${entity.ClassName}Schema`;
@@ -465,7 +608,14 @@ export type ${entity.ClassName}EntityType = z.infer<typeof ${schemaName}>;
465
608
  }
466
609
  return content;
467
610
  }
468
- GenerateZodDescription(entityField) {
611
+ /**
612
+ * Generates the description string for a Zod schema field, including field metadata,
613
+ * value list documentation, and JSONType annotations with entity-prefixed type names.
614
+ * @param entityField - The entity field to generate a description for
615
+ * @param entity - Optional entity context, used to compute the entity-prefixed JSONType name
616
+ * @returns A formatted description string for the Zod `.describe()` call
617
+ */
618
+ GenerateZodDescription(entityField, entity) {
469
619
  let result = '';
470
620
  let valueList = '';
471
621
  if (entityField.ValueListType && entityField.ValueListType.length > 0 && entityField.ValueListType.trim().toLowerCase() !== 'none') {
@@ -475,7 +625,15 @@ export type ${entity.ClassName}EntityType = z.infer<typeof ${schemaName}>;
475
625
  valueList = `\n * * Value List Type: ${entityField.ValueListType}\n * * Possible Values ` + values;
476
626
  }
477
627
  result += ` * * Field Name: ${entityField.Name}${entityField.DisplayName && entityField.DisplayName.length > 0 ? '\n * * Display Name: ' + entityField.DisplayName : ''}\n`;
478
- result += ` * * SQL Data Type: ${entityField.SQLFullType}${entityField.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + entityField.RelatedEntity + ' (' + entityField.RelatedEntityBaseView + '.' + entityField.RelatedEntityFieldName + ')' : ''}${entityField.DefaultValue && entityField.DefaultValue.length > 0 ? '\n * * Default Value: ' + entityField.DefaultValue : ''}${valueList}${entityField.Description && entityField.Description.length > 0 ? '\n * * Description: ' + EntitySubClassGeneratorBase.SanitizeDescription(entityField.Description) : ''}`;
628
+ let jsonTypeAnnotation = '';
629
+ if (entityField.JSONType && entityField.JSONType.trim().length > 0) {
630
+ const prefix = entity ? `${entity.ClassName}Entity_` : '';
631
+ const prefixedName = `${prefix}${entityField.JSONType.trim()}`;
632
+ jsonTypeAnnotation = entityField.JSONTypeIsArray
633
+ ? `\n * * JSON Type: Array<${prefixedName}>`
634
+ : `\n * * JSON Type: ${prefixedName}`;
635
+ }
636
+ result += ` * * SQL Data Type: ${entityField.SQLFullType}${entityField.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + entityField.RelatedEntity + ' (' + entityField.RelatedEntityBaseView + '.' + entityField.RelatedEntityFieldName + ')' : ''}${entityField.DefaultValue && entityField.DefaultValue.length > 0 ? '\n * * Default Value: ' + entityField.DefaultValue : ''}${jsonTypeAnnotation}${valueList}${entityField.Description && entityField.Description.length > 0 ? '\n * * Description: ' + EntitySubClassGeneratorBase.SanitizeDescription(entityField.Description) : ''}`;
479
637
  return result;
480
638
  }
481
639
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,16 @@ export declare class SQLLogging {
17
17
  * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
18
18
  * @returns
19
19
  */
20
- static appendToSQLLogFile(contents: string, description?: string, isRecurringScript?: boolean): Promise<void>;
20
+ /**
21
+ * Adds the provided SQL to the log file for the run
22
+ * @param contents - the executable SQL to log
23
+ * @param description - a description of what is being logged that will be emitted and wrapped in comments
24
+ * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
25
+ * @param includeBatchSeparator - if true, appends a batch separator (e.g., GO for SQL Server) after the SQL. Use this when the next statement in the migration needs to reference schema changes made by this statement (e.g., ALTER TABLE ADD column followed by UPDATE referencing that column). Defaults to false.
26
+ * @param batchSeparator - the batch separator string to use (e.g., 'GO' for SQL Server). Only used when includeBatchSeparator is true.
27
+ * @returns
28
+ */
29
+ static appendToSQLLogFile(contents: string, description?: string, isRecurringScript?: boolean, includeBatchSeparator?: boolean, batchSeparator?: string): Promise<void>;
21
30
  /**
22
31
  * Executes the given SQL query using the given DataSource object.
23
32
  * If the appendToLogFile parameter is true, the query will also be appended to the log file.
@@ -28,7 +37,7 @@ export declare class SQLLogging {
28
37
  * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
29
38
  * @returns - The result of the query execution.
30
39
  */
31
- static LogSQLAndExecute(ds: CodeGenConnection, query: string, description?: string, isRecurringScript?: boolean): Promise<any>;
40
+ static LogSQLAndExecute(ds: CodeGenConnection, query: string, description?: string, isRecurringScript?: boolean, includeBatchSeparator?: boolean, batchSeparator?: string): Promise<any>;
32
41
  protected static getFileLength(filePath: string): number;
33
42
  protected static convertSQLLogToFlywaySchema(): void;
34
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAMxE;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAkB;IAE7D,WAAkB,kBAAkB,IAAI,MAAM,CAE7C;IACD,WAAkB,2BAA2B,IAAI,OAAO,CAEvD;WACa,cAAc;WAoCb,gBAAgB;IAa9B,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;IAe1C;;;;;;OAMG;WACiB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjI;;;;;;;;;MASE;WACkB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAMlJ,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUxD,SAAS,CAAC,MAAM,CAAC,2BAA2B,IAAI,IAAI;IAyBnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG9B"}
1
+ {"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAMxE;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAkB;IAE7D,WAAkB,kBAAkB,IAAI,MAAM,CAE7C;IACD,WAAkB,2BAA2B,IAAI,OAAO,CAEvD;WACa,cAAc;WAoCb,gBAAgB;IAa9B,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;IAe1C;;;;;;OAMG;IACH;;;;;;;;OAQG;WACiB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxM;;;;;;;;;MASE;WACkB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAMzN,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUxD,SAAS,CAAC,MAAM,CAAC,2BAA2B,IAAI,IAAI;IAyBnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG9B"}
@@ -74,7 +74,16 @@ export class SQLLogging {
74
74
  * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
75
75
  * @returns
76
76
  */
77
- static async appendToSQLLogFile(contents, description, isRecurringScript = false) {
77
+ /**
78
+ * Adds the provided SQL to the log file for the run
79
+ * @param contents - the executable SQL to log
80
+ * @param description - a description of what is being logged that will be emitted and wrapped in comments
81
+ * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
82
+ * @param includeBatchSeparator - if true, appends a batch separator (e.g., GO for SQL Server) after the SQL. Use this when the next statement in the migration needs to reference schema changes made by this statement (e.g., ALTER TABLE ADD column followed by UPDATE referencing that column). Defaults to false.
83
+ * @param batchSeparator - the batch separator string to use (e.g., 'GO' for SQL Server). Only used when includeBatchSeparator is true.
84
+ * @returns
85
+ */
86
+ static async appendToSQLLogFile(contents, description, isRecurringScript = false, includeBatchSeparator = false, batchSeparator = 'GO') {
78
87
  try {
79
88
  if (isRecurringScript && SQLLogging.OmitRecurringScriptsFromLog) {
80
89
  return; // is a recurring script and the flag to omit recurring scripts is set
@@ -86,7 +95,9 @@ export class SQLLogging {
86
95
  const comment = `/* ${description} */\n`;
87
96
  contents = `${comment}${contents}`;
88
97
  }
89
- contents = `${contents}\n\n`;
98
+ contents = includeBatchSeparator
99
+ ? `${contents}\n${batchSeparator}\n\n`
100
+ : `${contents}\n\n`;
90
101
  fs.appendFileSync(SQLLogging.SQLLoggingFilePath, contents);
91
102
  }
92
103
  catch (ex) {
@@ -103,8 +114,8 @@ export class SQLLogging {
103
114
  * @param isRecurringScript - if set to true tells the logger that the provided SQL represents a recurring script meaning it is something that is executed, generally, for all CodeGen runs. In these cases, the Config settings can result in omitting these recurring scripts from being logged because the configuration environment may have those recurring scripts already set to run after all run-specific migrations get run.
104
115
  * @returns - The result of the query execution.
105
116
  */
106
- static async LogSQLAndExecute(ds, query, description, isRecurringScript = false) {
107
- SQLLogging.appendToSQLLogFile(query, description, isRecurringScript);
117
+ static async LogSQLAndExecute(ds, query, description, isRecurringScript = false, includeBatchSeparator = false, batchSeparator = 'GO') {
118
+ SQLLogging.appendToSQLLogFile(query, description, isRecurringScript, includeBatchSeparator, batchSeparator);
108
119
  const result = await ds.query(query);
109
120
  return result.recordset;
110
121
  }