@simitgroup/simpleapp-generator 2.0.3-c-alpha → 2.0.3-d-alpha

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.
@@ -0,0 +1,10 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(grep -n '$ref\\\\|dereference\\\\|resolve\\\\|allOf' /Users/sky/dev/simpleapp-generator/src/processors/jsonschemabuilder.ts)",
5
+ "Bash(grep -n '$ref\\\\|dereference\\\\|resolve' /Users/sky/dev/simpleapp-generator/src/generate.ts)",
6
+ "WebSearch",
7
+ "WebFetch(domain:marketplace.visualstudio.com)"
8
+ ]
9
+ }
10
+ }
package/ReleaseNote.md CHANGED
@@ -1,3 +1,7 @@
1
+ [2.0.3d-alpha]
2
+ 1. Fix generator no generate sub level enum
3
+ 2. Fix schema no use enum
4
+
1
5
  [2.0.3c-alpha]
2
6
  1. Remove profile service default data
3
7
  2. Fix simple app intercepter cannot capture correct error message
package/dist/generate.js CHANGED
@@ -802,6 +802,10 @@ const getCodeGenHelper = () => 'const capitalizeFirstLetter = (str) => !str ? `O
802
802
  "const camelCaseToWords = (s) => {const result = s.replace(/([A-Z])/g, ' $1');return result.charAt(0).toUpperCase() + result.slice(1);};" +
803
803
  'const upperFirstCase = (value) => { return value.charAt(0).toUpperCase() + value.slice(1); };' +
804
804
  'const camelToKebab = (value) => { return value.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); };' +
805
+ // Converts camelCase/PascalCase to SCREAMING_SNAKE_CASE for use as TypeScript enum keys.
806
+ // Two-pass regex: first inserts _ at camelCase boundaries (e.g. upgradeStudent → upgrade_Student),
807
+ // then handles acronym-to-word transitions (e.g. SIMITFoo → SIMIT_Foo) before uppercasing.
808
+ 'const camelToScreamingSnake = (value) => { return value.replace(/([a-z\\d])([A-Z])/g, "$1_$2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").toUpperCase(); };' +
805
809
  'const removeSuffix = (input, suffix) => { return input.endsWith(suffix) ? input.slice(0, -suffix.length) : input };' +
806
810
  'const isWhitelistedMiniApp = (actionName, it) => { return it.miniApp.whitelistApis?.[actionName] === true };' +
807
811
  'const titleCase = (value) => { return value.replace(/([a-z])([A-Z])/g, "$1 $2"); }; ' +
@@ -811,5 +815,27 @@ const getCodeGenHelper = () => 'const capitalizeFirstLetter = (str) => !str ? `O
811
815
  JSON.stringify(skipIsolationDocument) +
812
816
  ';' +
813
817
  'const getSystemResources = () => ' +
814
- JSON.stringify(systemResources);
818
+ JSON.stringify(systemResources) +
819
+ ';' +
820
+ // Builds a Map from enum-value fingerprint → base enum name (without "Enum" suffix).
821
+ // Reads $defs/$definitions from the schema and prefixes with resourceName || documentName.
822
+ // Used by enum.ts.eta and schema.ts.eta so the logic lives in one place.
823
+ 'const buildDefEnumMap = (jsonschema) => {' +
824
+ ' const defs = jsonschema?.$defs || jsonschema?.definitions || {};' +
825
+ ' const xconfig = jsonschema?.[\'x-simpleapp-config\'] || {};' +
826
+ ' const prefix = upperFirstCase(xconfig.resourceName || xconfig.documentName || \'\');' +
827
+ ' const map = new Map();' +
828
+ ' for (const [defName, defObj] of Object.entries(defs)) {' +
829
+ ' if (defObj.type === \'string\' && Array.isArray(defObj.enum) && defObj.enum.length > 0) {' +
830
+ ' map.set(defObj.enum.slice().sort().join(\'|\'), prefix + upperFirstCase(defName));' +
831
+ ' }' +
832
+ ' }' +
833
+ ' return map;' +
834
+ '};' +
835
+ // Resolves the base enum name (without "Enum" suffix) for a given property.
836
+ // Checks defEnumMap first (shared $defs enum), falls back to modelName + fieldName (inline enum).
837
+ 'const resolveEnumBaseName = (enumValues, defEnumMap, modelName, fieldName) => {' +
838
+ ' const sig = enumValues.slice().sort().join(\'|\');' +
839
+ ' return defEnumMap.has(sig) ? defEnumMap.get(sig) : modelName + upperFirstCase(fieldName);' +
840
+ '};';
815
841
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -298,6 +298,8 @@ const getField = (fieldname, obj, isrequired) => {
298
298
  f.format = obj.format;
299
299
  if (obj.examples)
300
300
  f.example = obj.examples;
301
+ if (obj.enum)
302
+ f.enum = obj.enum;
301
303
  if (obj.default) {
302
304
  f.default = obj.default;
303
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonschemabuilder.js","sourceRoot":"","sources":["../../src/processors/jsonschemabuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonschemabuilder.js","sourceRoot":"","sources":["../../src/processors/jsonschemabuilder.ts"],"names":[],"mappings":"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"}
package/dist/type.d.ts CHANGED
@@ -30,6 +30,7 @@ export type FieldModel = {
30
30
  format?: string;
31
31
  required?: boolean;
32
32
  example?: any;
33
+ enum?: any[];
33
34
  };
34
35
  export type SchemaModel = {
35
36
  [key: string]: string | string[] | FieldModel | SchemaModel | SchemaModel[];
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
package/dist/type.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":";;;AAuBA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;AACrB,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AA4GD,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAWD,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":";;;AAuBA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;AACrB,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AA6GD,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAWD,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simitgroup/simpleapp-generator",
3
- "version": "2.0.3c-alpha",
3
+ "version": "2.0.3d-alpha",
4
4
  "description": "frontend nuxtjs and backend nests code generator using jsonschema.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
package/src/generate.ts CHANGED
@@ -922,6 +922,10 @@ const getCodeGenHelper = () =>
922
922
  "const camelCaseToWords = (s) => {const result = s.replace(/([A-Z])/g, ' $1');return result.charAt(0).toUpperCase() + result.slice(1);};" +
923
923
  'const upperFirstCase = (value) => { return value.charAt(0).toUpperCase() + value.slice(1); };' +
924
924
  'const camelToKebab = (value) => { return value.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); };' +
925
+ // Converts camelCase/PascalCase to SCREAMING_SNAKE_CASE for use as TypeScript enum keys.
926
+ // Two-pass regex: first inserts _ at camelCase boundaries (e.g. upgradeStudent → upgrade_Student),
927
+ // then handles acronym-to-word transitions (e.g. SIMITFoo → SIMIT_Foo) before uppercasing.
928
+ 'const camelToScreamingSnake = (value) => { return value.replace(/([a-z\\d])([A-Z])/g, "$1_$2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").toUpperCase(); };' +
925
929
  'const removeSuffix = (input, suffix) => { return input.endsWith(suffix) ? input.slice(0, -suffix.length) : input };' +
926
930
  'const isWhitelistedMiniApp = (actionName, it) => { return it.miniApp.whitelistApis?.[actionName] === true };' +
927
931
  'const titleCase = (value) => { return value.replace(/([a-z])([A-Z])/g, "$1 $2"); }; ' +
@@ -931,4 +935,26 @@ const getCodeGenHelper = () =>
931
935
  JSON.stringify(skipIsolationDocument) +
932
936
  ';' +
933
937
  'const getSystemResources = () => ' +
934
- JSON.stringify(systemResources);
938
+ JSON.stringify(systemResources) +
939
+ ';' +
940
+ // Builds a Map from enum-value fingerprint → base enum name (without "Enum" suffix).
941
+ // Reads $defs/$definitions from the schema and prefixes with resourceName || documentName.
942
+ // Used by enum.ts.eta and schema.ts.eta so the logic lives in one place.
943
+ 'const buildDefEnumMap = (jsonschema) => {' +
944
+ ' const defs = jsonschema?.$defs || jsonschema?.definitions || {};' +
945
+ ' const xconfig = jsonschema?.[\'x-simpleapp-config\'] || {};' +
946
+ ' const prefix = upperFirstCase(xconfig.resourceName || xconfig.documentName || \'\');' +
947
+ ' const map = new Map();' +
948
+ ' for (const [defName, defObj] of Object.entries(defs)) {' +
949
+ ' if (defObj.type === \'string\' && Array.isArray(defObj.enum) && defObj.enum.length > 0) {' +
950
+ ' map.set(defObj.enum.slice().sort().join(\'|\'), prefix + upperFirstCase(defName));' +
951
+ ' }' +
952
+ ' }' +
953
+ ' return map;' +
954
+ '};' +
955
+ // Resolves the base enum name (without "Enum" suffix) for a given property.
956
+ // Checks defEnumMap first (shared $defs enum), falls back to modelName + fieldName (inline enum).
957
+ 'const resolveEnumBaseName = (enumValues, defEnumMap, modelName, fieldName) => {' +
958
+ ' const sig = enumValues.slice().sort().join(\'|\');' +
959
+ ' return defEnumMap.has(sig) ? defEnumMap.get(sig) : modelName + upperFirstCase(fieldName);' +
960
+ '};';
@@ -384,6 +384,7 @@ const getField = (
384
384
  if (obj.description) f.description = obj.description;
385
385
  if (obj.format) f.format = obj.format;
386
386
  if (obj.examples) f.example = obj.examples;
387
+ if (obj.enum) f.enum = obj.enum as any[];
387
388
  if (obj.default) {
388
389
  f.default = obj.default;
389
390
  } else {
package/src/type.ts CHANGED
@@ -39,6 +39,7 @@ export type FieldModel = {
39
39
  required?: boolean;
40
40
  example?: any;
41
41
  // examples?: any;
42
+ enum?: any[]; // allowed values — preserved so templates can render enum props correctly
42
43
  };
43
44
 
44
45
  // export type SchemaCategoryModel = {
@@ -6,6 +6,36 @@
6
6
  */
7
7
  import * as schema from './<%= camelToKebab(it.resourceName) %>.schema'
8
8
 
9
+ <%
10
+ /**
11
+ * PRE-PASS: collect every enum class name used across all models.
12
+ *
13
+ * WHY: enum fields are typed as their enum class (e.g. TenantLicenseTypeEnum),
14
+ * so any default value must be written as EnumClass.KEY — not a raw string.
15
+ * We need to import those classes at the top of the generated file.
16
+ *
17
+ * buildDefEnumMap / resolveEnumBaseName / toTypeName are helpers injected by
18
+ * getCodeGenHelper() in generate.ts and available in every template context.
19
+ *
20
+ * We use toTypeName(it.resourceName, modelName) so that a raw model key like
21
+ * "Tuitionclass" is normalized to the correct typename "TuitionClass" before
22
+ * being used as an enum name prefix — matching what enum.ts.eta generates.
23
+ */
24
+ const defEnumMap = buildDefEnumMap(it.jsonschema);
25
+ const usedEnumNames = new Set();
26
+ for (const [modelName, modelData] of Object.entries(it.models)) {
27
+ for (const [fieldName, fieldObj] of Object.entries(modelData.model)) {
28
+ if (fieldObj && typeof fieldObj === 'object' && !Array.isArray(fieldObj) &&
29
+ fieldObj.type === 'string' && Array.isArray(fieldObj.enum) && fieldObj.enum.length > 0) {
30
+ usedEnumNames.add(resolveEnumBaseName(fieldObj.enum, defEnumMap, toTypeName(it.resourceName, modelName), fieldName) + 'Enum');
31
+ }
32
+ }
33
+ }
34
+ %>
35
+ <% if (usedEnumNames.size > 0) { %>
36
+ import { <%~ [...usedEnumNames].join(', ') %> } from './<%= camelToKebab(it.resourceName) %>.enum';
37
+ <% } %>
38
+
9
39
  <%Object.keys(it.models).forEach(function(modelname) { %>
10
40
 
11
41
  export const Default<%= toTypeName(it.resourceName ,modelname) %> = (uuid:string) : schema.<%= toTypeName(it.resourceName ,modelname) %> | undefined =>{
@@ -36,8 +66,37 @@ export const Default<%= toTypeName(it.resourceName ,modelname) %> = (uuid:string
36
66
  branchId : 0, //it will override by save handle
37
67
  <%}else if(key=='doctype'){ %>
38
68
  doctype : '<%=it.doctype.toUpperCase()%>',
39
- <% } else if(typeof field.default !='undefined' && field.type=='string'){%>
40
- <%=key%> : '<%= field.default %>',
69
+ <% } else if(typeof field === 'object' && !Array.isArray(field) && Array.isArray(field.enum) && field.enum.length > 0) { %>
70
+ <%
71
+ /**
72
+ * ENUM DEFAULT: output EnumClass.KEY instead of a raw string.
73
+ *
74
+ * WHY: the field is typed as the enum class (e.g. TenantLicenseTypeEnum),
75
+ * so assigning a plain string like 'free' would be a TypeScript type error.
76
+ * We must write TenantLicenseTypeEnum.FREE instead.
77
+ *
78
+ * WHY check field.enum.includes(field.default):
79
+ * getField() in jsonschemabuilder.ts always sets f.default='' for string fields,
80
+ * even when the schema has no explicit default. If '' is not an enum value, that
81
+ * synthetic default is meaningless — outputting EnumClass.NONE would be wrong.
82
+ * Only emit a concrete enum value when the default is actually in the enum list;
83
+ * otherwise fall back to undefined so TypeScript/Mongoose use their own defaults.
84
+ *
85
+ * Key mapping rule: '' → 'NONE', otherwise value.toUpperCase()
86
+ * This must match the key names generated in enum.ts.eta.
87
+ */
88
+ const enumBaseName = resolveEnumBaseName(field.enum, defEnumMap, toTypeName(it.resourceName, modelname), key);
89
+ const enumClassName = enumBaseName + 'Enum';
90
+ const hasValidDefault = field.enum.includes(field.default);
91
+ const enumKey = field.default === '' ? 'NONE' : camelToScreamingSnake(String(field.default));
92
+ %>
93
+ <% if (hasValidDefault) { %>
94
+ <%=key%> : <%=enumClassName%>.<%=enumKey%>,
95
+ <% } else { %>
96
+ <%=key%> : undefined,
97
+ <% } %>
98
+ <% } else if(typeof field.default !='undefined' && field.type=='string'){%>
99
+ <%=key%> : '<%= field.default %>',
41
100
  <%} else if(typeof field.default !='undefined' && JSON.stringify(field.default)=='{}'){%>
42
101
  // <%=key%> : <%~ JSON.stringify(field.default) %>,
43
102
  <%} else if(typeof field.default !='undefined'){%>
@@ -1,16 +1,90 @@
1
- <%
2
- const properties = it.jsonschema.properties
3
- const fnames = Object.keys(properties)
4
- for(const fname of fnames){
5
- const obj = properties[fname]
6
-
7
- if(obj.type=='string' && Array.isArray(obj.enum) && obj.enum.length>0){
8
- %>
9
- export enum <%=it.typename%><%= upperFirstCase(fname)%>Enum{
10
- <%for(const val of obj.enum){
1
+ <%
2
+ /**
3
+ * ENUM GENERATOR TEMPLATE
4
+ *
5
+ * Generates TypeScript enum declarations from a JSON Schema.
6
+ *
7
+ * HOW IT WORKS:
8
+ * 1. Enums defined in "$defs" are generated first (shared/reusable enums, no typename prefix).
9
+ * 2. Inline enums found on properties are generated next (typename + field path as prefix).
10
+ * 3. DEDUPLICATION: $RefParser.dereference() is called before this template runs,
11
+ * meaning all "$ref" pointers are already replaced with the actual schema inline.
12
+ * Without deduplication, a property that originally had "$ref": "#/$defs/licenseType"
13
+ * would generate its own enum even though LicenseTypeEnum already exists from step 1.
14
+ * To prevent this, we fingerprint each $defs enum (sorted values joined as string)
15
+ * and skip any inline property whose enum values match that fingerprint.
16
+ */
17
+
18
+ // buildDefEnumMap and resolveEnumBaseName are shared helpers injected by getCodeGenHelper() in generate.ts.
19
+ // buildDefEnumMap: reads $defs, returns Map<fingerprint, baseName> (e.g. "TenantLicenseType")
20
+ // resolveEnumBaseName: looks up fingerprint in map, falls back to modelName+fieldName for inline enums
21
+ const defEnumMap = buildDefEnumMap(it.jsonschema);
22
+
23
+ // Build the defEnums list (name + values) and a fingerprint Set for deduplication from the map.
24
+ const defSignatures = new Set(defEnumMap.keys());
25
+ const defEnums = [];
26
+ const defs = it.jsonschema.$defs || it.jsonschema.definitions || {};
27
+ for (const [defName, defObj] of Object.entries(defs)) {
28
+ // Only process string enums (ignore object/array definitions in $defs)
29
+ if (defObj.type === 'string' && Array.isArray(defObj.enum) && defObj.enum.length > 0) {
30
+ const sig = defObj.enum.slice().sort().join('|');
31
+ // Enum name comes from the map: e.g. defsPrefix="Tenant", defName="licenseType" → "TenantLicenseType"
32
+ defEnums.push({ name: defEnumMap.get(sig), values: defObj.enum });
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Recursively walk schema properties and collect inline enums.
38
+ *
39
+ * @param {object} properties - the "properties" object from a JSON Schema node
40
+ * @param {string} prefix - accumulated name prefix (typename + parent field names)
41
+ * @returns {{ name: string, values: string[] }[]}
42
+ */
43
+ function collectEnums(properties, prefix) {
44
+ const results = [];
45
+
46
+ for (const fname of Object.keys(properties)) {
47
+ const obj = properties[fname];
48
+
49
+ // Build the enum name by appending the current field name to the prefix.
50
+ // e.g. prefix="TenantSubscription", fname="currency" → "TenantSubscriptionCurrencyEnum"
51
+ const enumName = prefix + upperFirstCase(fname);
52
+
53
+ if (obj.type === 'string' && Array.isArray(obj.enum) && obj.enum.length > 0) {
54
+ const sig = obj.enum.slice().sort().join('|');
55
+
56
+ // Skip if this property's enum values exactly match a $defs enum.
57
+ // This means the property was originally a "$ref" that got inlined by dereference().
58
+ // The shared enum is already generated from $defs above — no duplicate needed.
59
+ if (!defSignatures.has(sig)) {
60
+ results.push({ name: enumName, values: obj.enum });
61
+ }
62
+ }
63
+
64
+ // Recurse into nested objects so sub-level enums are also captured.
65
+ // e.g. subscription.currency → TenantSubscriptionCurrencyEnum
66
+ if (obj.type === 'object' && obj.properties) {
67
+ results.push(...collectEnums(obj.properties, enumName));
68
+ }
69
+
70
+ // Recurse into array item schemas in case items have object properties with enums.
71
+ if (obj.type === 'array' && obj.items && obj.items.properties) {
72
+ results.push(...collectEnums(obj.items.properties, enumName));
73
+ }
74
+ }
75
+
76
+ return results;
77
+ }
78
+
79
+ // Collect inline enums from top-level properties (and all nested levels)
80
+ const inlineEnums = collectEnums(it.jsonschema.properties, it.typename);
81
+
82
+ // Output: $defs enums first, then inline enums
83
+ for (const enumDef of [...defEnums, ...inlineEnums]) {
11
84
  %>
12
- '<%= val.toUpperCase()%>' = '<%= val %>',
85
+ export enum <%=enumDef.name%>Enum{
86
+ <%for(const val of enumDef.values){%>
87
+ '<%= val === '' ? 'NONE' : camelToScreamingSnake(val)%>' = '<%= val %>',
13
88
  <%}%>
14
89
  }
15
- <%}%>
16
90
  <%}%>
@@ -12,17 +12,17 @@ import * as mongoose from 'mongoose';
12
12
 
13
13
  export * from 'src/simple-app/_core/framework/schemas';
14
14
 
15
- <%
15
+ <%
16
16
  const getFieldType =(proptype, typename,actionname)=>{
17
17
  const systemtypes = ['Boolean','boolean','string','String','number','Number','object','Object','integer','Integer']
18
18
  if(!typename) throw actionname +" undefine schema";
19
- let tmptypename = typename.replace('[','').replace(']','')
19
+ let tmptypename = typename.replace('[','').replace(']','')
20
20
  if(proptype=='schema'){
21
- tmptypename= upperFirstCase(tmptypename)
21
+ tmptypename= upperFirstCase(tmptypename)
22
22
  }else if(systemtypes.includes(typename)){
23
23
  tmptypename = tmptypename.toLowerCase();
24
24
  }
25
-
25
+
26
26
  if(typename.includes('[')){
27
27
  return proptype=='schema' ? `[${tmptypename}]` : `${tmptypename}[]`
28
28
  }else{
@@ -31,6 +31,42 @@ export * from 'src/simple-app/_core/framework/schemas';
31
31
  }
32
32
  %>
33
33
 
34
+ <%
35
+ /**
36
+ * ENUM NAME RESOLUTION
37
+ *
38
+ * buildDefEnumMap and resolveEnumBaseName are shared helpers injected by getCodeGenHelper()
39
+ * in generate.ts — the single source of truth for this logic.
40
+ *
41
+ * buildDefEnumMap: reads $defs from the schema, returns Map<fingerprint, baseName>
42
+ * e.g. licenseType in $defs + resourceName "tenant" → "TenantLicenseType"
43
+ *
44
+ * resolveEnumBaseName: looks up fingerprint in map (shared $defs enum),
45
+ * falls back to modelName+fieldName for inline enums
46
+ * e.g. model "TenantSubscription", field "currency" → "TenantSubscriptionCurrency"
47
+ */
48
+ const defEnumMap = buildDefEnumMap(it.jsonschema);
49
+
50
+ // Pre-pass: walk all models to collect every enum class name that will be used.
51
+ // This lets us generate a single import statement at the top of the file,
52
+ // so @Prop and @ApiProperty can reference the enum class directly instead of passing inline values.
53
+ const usedEnumNames = new Set();
54
+ for (const [modelName, modelData] of Object.entries(it.models)) {
55
+ for (const [fieldName, fieldObj] of Object.entries(modelData.model)) {
56
+ if (fieldObj && typeof fieldObj === 'object' && !Array.isArray(fieldObj) &&
57
+ fieldObj.type === 'string' && Array.isArray(fieldObj.enum) && fieldObj.enum.length > 0) {
58
+ // toTypeName converts raw model key (e.g. "TuitionclassScheduleSetting") to correctly-cased
59
+ // typename (e.g. "TuitionClassScheduleSetting") — same convention enum.ts.eta uses
60
+ usedEnumNames.add(resolveEnumBaseName(fieldObj.enum, defEnumMap, toTypeName(it.resourceName, modelName), fieldName) + 'Enum');
61
+ }
62
+ }
63
+ }
64
+ %>
65
+
66
+ <% if (usedEnumNames.size > 0) { %>
67
+ import { <%~ [...usedEnumNames].join(', ') %> } from './<%= camelToKebab(it.resourceName) %>.enum';
68
+ <% } %>
69
+
34
70
  <% const draw = (it, obj, key, currentModelName) => { %>
35
71
  <%
36
72
  let required = false;
@@ -67,11 +103,24 @@ export * from 'src/simple-app/_core/framework/schemas';
67
103
  @Field(() => [<%=newtypename %>])
68
104
  @ApiProperty({type: ()=>[<%= newtypename %>], required: <%= required %> })
69
105
  <%= key %> <%=required ? '' :'?' %>: <%= getFieldType('type', newtypename, '') %>[];
106
+ <% } else if(obj.type === 'string' && Array.isArray(obj.enum) && obj.enum.length > 0) { %>
107
+ <%
108
+ // Resolve the enum class name, then pass values inline to avoid needing an import.
109
+ // @Prop — tells Mongoose to validate against allowed values
110
+ // @Field — GraphQL treats it as String (enums need a separate GQL enum registration)
111
+ // @ApiProperty — enum + enumName tells Swagger to render a dropdown with the correct type name
112
+ const enumBaseName = resolveEnumBaseName(obj.enum, defEnumMap, toTypeName(it.resourceName, currentModelName), key);
113
+ const enumClassName = enumBaseName + 'Enum';
114
+ %>
115
+ @Prop()
116
+ @Field(() => String)
117
+ @ApiProperty({ enum: <%= enumClassName %>, required: <%= required %> })
118
+ <%= key %> <%=required ? '' :'?' %>: <%= enumClassName %>;
70
119
  <% }else{%>
71
120
  @Prop()
72
- @Field()
121
+ @Field()
73
122
  @ApiProperty({type: () => <%= getFieldType('schema', obj.type,'') %> , required: <%= required %>})
74
- <%= key %> <%=required ? '' :'?' %>: <%= getFieldType('type', obj.type,'') %>;
123
+ <%= key %> <%=required ? '' :'?' %>: <%= getFieldType('type', obj.type,'') %>;
75
124
  <% } %>
76
125
  <% } %>
77
126
 
@@ -123,7 +172,9 @@ export class <%=autoCompleteModelName %> {
123
172
 
124
173
  <% if(it.moreAutoComplete && Array.isArray(it.moreAutoComplete)) { %>
125
174
  <% it.moreAutoComplete.forEach(function(field){ %>
126
- <% draw(it, it.models[it.apiSchemaName].model[field], field, autoCompleteModelName) %>
175
+ <% /* Pass it.apiSchemaName (main model) not autoCompleteModelName so enum names resolve
176
+ to the same class as the main schema (e.g. CategoryCategoryTypeEnum, not CategoryAutoCompleteCategoryTypeEnum) */ %>
177
+ <% draw(it, it.models[it.apiSchemaName].model[field], field, it.apiSchemaName) %>
127
178
 
128
179
  <% }) %>
129
180
  <% } %>