@carlonicora/nestjs-neo4jsonapi 1.6.0 → 1.8.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.
Files changed (45) hide show
  1. package/dist/common/interfaces/entity.schema.interface.d.ts +10 -2
  2. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  3. package/dist/core/neo4j/abstracts/abstract.repository.d.ts +1 -1
  4. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  5. package/dist/core/neo4j/abstracts/abstract.repository.js +34 -3
  6. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  7. package/dist/foundations/auth/services/auth.discord.service.d.ts +1 -3
  8. package/dist/foundations/auth/services/auth.discord.service.d.ts.map +1 -1
  9. package/dist/foundations/auth/services/auth.discord.service.js +2 -5
  10. package/dist/foundations/auth/services/auth.discord.service.js.map +1 -1
  11. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  12. package/dist/foundations/company/repositories/company.repository.js +77 -36
  13. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  14. package/dist/foundations/discord-user/repositories/discord-user.repository.d.ts +1 -0
  15. package/dist/foundations/discord-user/repositories/discord-user.repository.d.ts.map +1 -1
  16. package/dist/foundations/discord-user/repositories/discord-user.repository.js +7 -0
  17. package/dist/foundations/discord-user/repositories/discord-user.repository.js.map +1 -1
  18. package/dist/foundations/discord-user/services/discord-user.service.d.ts +3 -1
  19. package/dist/foundations/discord-user/services/discord-user.service.d.ts.map +1 -1
  20. package/dist/foundations/discord-user/services/discord-user.service.js +7 -2
  21. package/dist/foundations/discord-user/services/discord-user.service.js.map +1 -1
  22. package/dist/scripts/generate-module/generator.d.ts.map +1 -1
  23. package/dist/scripts/generate-module/generator.js +15 -8
  24. package/dist/scripts/generate-module/generator.js.map +1 -1
  25. package/dist/scripts/generate-module/templates/controller.template.d.ts.map +1 -1
  26. package/dist/scripts/generate-module/templates/controller.template.js +6 -1
  27. package/dist/scripts/generate-module/templates/controller.template.js.map +1 -1
  28. package/dist/scripts/generate-module/templates/dto.post.template.d.ts.map +1 -1
  29. package/dist/scripts/generate-module/templates/dto.post.template.js +19 -14
  30. package/dist/scripts/generate-module/templates/dto.post.template.js.map +1 -1
  31. package/dist/scripts/generate-module/templates/dto.put.template.d.ts.map +1 -1
  32. package/dist/scripts/generate-module/templates/dto.put.template.js +19 -14
  33. package/dist/scripts/generate-module/templates/dto.put.template.js.map +1 -1
  34. package/dist/scripts/generate-module/transformers/import-resolver.d.ts +4 -2
  35. package/dist/scripts/generate-module/transformers/import-resolver.d.ts.map +1 -1
  36. package/dist/scripts/generate-module/transformers/import-resolver.js +8 -4
  37. package/dist/scripts/generate-module/transformers/import-resolver.js.map +1 -1
  38. package/dist/scripts/generate-module/utils/type-utils.d.ts +61 -0
  39. package/dist/scripts/generate-module/utils/type-utils.d.ts.map +1 -0
  40. package/dist/scripts/generate-module/utils/type-utils.js +205 -0
  41. package/dist/scripts/generate-module/utils/type-utils.js.map +1 -0
  42. package/dist/scripts/generate-module/validators/json-schema-validator.d.ts.map +1 -1
  43. package/dist/scripts/generate-module/validators/json-schema-validator.js +9 -0
  44. package/dist/scripts/generate-module/validators/json-schema-validator.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../scripts/generate-module/generator.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJlF"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../scripts/generate-module/generator.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6JlF"}
@@ -51,6 +51,7 @@ const dto_post_template_1 = require("./templates/dto.post.template");
51
51
  const dto_put_template_1 = require("./templates/dto.put.template");
52
52
  const file_writer_1 = require("./utils/file-writer");
53
53
  const module_registrar_1 = require("./utils/module-registrar");
54
+ const type_utils_1 = require("./utils/type-utils");
54
55
  /**
55
56
  * Main generator function
56
57
  *
@@ -90,13 +91,19 @@ async function generateModule(options) {
90
91
  endpoint: jsonSchema.endpointName,
91
92
  nodeName: names.camelCase,
92
93
  });
93
- // Map fields to template fields
94
- const fields = jsonSchema.fields.map((field) => ({
95
- name: field.name,
96
- type: field.type,
97
- required: !field.nullable,
98
- tsType: field.type, // Simplified: all string types
99
- }));
94
+ // Map fields to template fields with type normalization
95
+ const fields = jsonSchema.fields.map((field) => {
96
+ const normalizedType = (0, type_utils_1.normalizeCypherType)(field.type);
97
+ if (!normalizedType) {
98
+ throw new Error(`Invalid field type "${field.type}" for field "${field.name}". Valid types: string, number, boolean, date, datetime, json (and their array variants with [])`);
99
+ }
100
+ return {
101
+ name: field.name,
102
+ type: normalizedType,
103
+ required: !field.nullable,
104
+ tsType: (0, type_utils_1.getTsType)(normalizedType),
105
+ };
106
+ });
100
107
  // Build template data
101
108
  const templateData = {
102
109
  names,
@@ -116,7 +123,7 @@ async function generateModule(options) {
116
123
  name: field.name,
117
124
  type: field.tsType,
118
125
  isOptional: !field.required,
119
- decorators: ["@IsDefined()", "@IsNotEmpty()", "@IsString()"],
126
+ decorators: (0, type_utils_1.getValidationDecorators)(field.type, field.required),
120
127
  })),
121
128
  postDtoRelationships: [],
122
129
  putDtoRelationships: [],
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../scripts/generate-module/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,wCAuJC;AAvLD,uCAAyB;AACzB,2CAA6B;AAG7B,sEAAiE;AACjE,4EAAsE;AACtE,kFAA6E;AAC7E,8EAAkH;AAClH,iEAAiE;AACjE,6DAA6D;AAC7D,iEAAiE;AACjE,mEAAmE;AACnE,yEAAyE;AACzE,yEAAyE;AACzE,qEAAoE;AACpE,qEAAoE;AACpE,mEAAkE;AAClE,qDAA8D;AAC9D,+DAA0D;AAS1D;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhF,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,UAAU,GAAyB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE/D,sDAAsD;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,MAAM,8CAA8C,CAAC,CAAC;QACnH,CAAC;QACD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAA,0CAAkB,EAAC,UAAU,CAAC,CAAC;IAExD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,IAAA,8CAAsB,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,IAAA,wCAAgB,EAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,IAAA,sCAAgB,EAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAA,6CAAoB,EAAC,aAAa,EAAE;QACvD,QAAQ,EAAE,UAAU,CAAC,YAAY;QACjC,QAAQ,EAAE,KAAK,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,gCAAgC;IAChC,MAAM,MAAM,GAAoB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,+BAA+B;KACpD,CAAC,CAAC,CAAC;IAEJ,sBAAsB;IACtB,MAAM,YAAY,GAAiB;QACjC,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,YAAY;QACjC,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,EAAE,gBAAgB;QACvC,SAAS,EAAE,UAAU,CAAC,SAAuC;QAC7D,MAAM;QACN,aAAa;QACb,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,YAAY;QACZ,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ;YAC3B,UAAU,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC;SAC7D,CAAC,CAAC;QACH,oBAAoB,EAAE,EAAE;QACxB,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,gBAAgB,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;IAE3E,MAAM,YAAY,GAAkB;QAClC,wEAAwE;QACxE;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,aAAa,KAAK,CAAC,SAAS,UAAU,CAAC;YACpF,OAAO,EAAE,IAAA,gCAAgB,EAAC,YAAY,CAAC;SACxC;QACD,SAAS;QACT;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,aAAa,KAAK,CAAC,SAAS,KAAK,CAAC;YAC/E,OAAO,EAAE,IAAA,oCAAkB,EAAC,YAAY,CAAC;SAC1C;QACD,SAAS;QACT;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,IAAI,KAAK,CAAC,SAAS,YAAY,CAAC;YAC7E,OAAO,EAAE,IAAA,oCAAkB,EAAC,YAAY,CAAC;SAC1C;QACD,UAAU;QACV;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,aAAa,KAAK,CAAC,SAAS,aAAa,CAAC;YACvF,OAAO,EAAE,IAAA,sCAAmB,EAAC,YAAY,CAAC;SAC3C;QACD,aAAa;QACb;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,iBAAiB,KAAK,CAAC,SAAS,gBAAgB,CAAC;YAC9F,OAAO,EAAE,IAAA,4CAAsB,EAAC,YAAY,CAAC;SAC9C;QACD,aAAa;QACb;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,gBAAgB,KAAK,CAAC,SAAS,gBAAgB,CAAC;YAC7F,OAAO,EAAE,IAAA,4CAAsB,EAAC,YAAY,CAAC;SAC9C;QACD,OAAO;QACP;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,SAAS,KAAK,CAAC,SAAS,SAAS,CAAC;YAC/E,OAAO,EAAE,IAAA,uCAAmB,EAAC,YAAY,CAAC;SAC3C;QACD;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,SAAS,KAAK,CAAC,SAAS,cAAc,CAAC;YACpF,OAAO,EAAE,IAAA,uCAAmB,EAAC,YAAY,CAAC;SAC3C;QACD;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,SAAS,KAAK,CAAC,SAAS,aAAa,CAAC;YACnF,OAAO,EAAE,IAAA,qCAAkB,EAAC,YAAY,CAAC;SAC1C;KACF,CAAC;IAEF,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC;IAC9D,IAAA,wBAAU,EAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5C,qBAAqB;IACrB,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,IAAA,iCAAc,EAAC;gBACb,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../scripts/generate-module/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/controller.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAuMjE"}
1
+ {"version":3,"file":"controller.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/controller.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA4MjE"}
@@ -19,7 +19,12 @@ function generateControllerFile(data) {
19
19
  const rel = data.relationships.find((r) => r.model === route.relatedMeta);
20
20
  const path = (0, import_resolver_1.isFoundationImport)(rel.relatedEntity.directory)
21
21
  ? import_resolver_1.FOUNDATION_PACKAGE
22
- : `../../${rel.relatedEntity.directory}/${rel.relatedEntity.kebabCase}/entities/${rel.relatedEntity.kebabCase}.meta`;
22
+ : (0, import_resolver_1.resolveMetaImportPath)({
23
+ fromDir: targetDir,
24
+ fromModule: names.kebabCase,
25
+ toDir: rel.relatedEntity.directory,
26
+ toModule: rel.relatedEntity.kebabCase,
27
+ });
23
28
  if (!oldMetaImportPaths.has(path)) {
24
29
  oldMetaImportPaths.set(path, []);
25
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/controller.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/controller.template.ts"],"names":[],"mappings":";;AASA,wDA4MC;AApND,qEAAgH;AAEhH;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAkB;IACvD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEhD,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEhF,qDAAqD;IACrD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAA,oCAAkB,EAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YAC1D,CAAC,CAAC,oCAAkB;YACpB,CAAC,CAAC,IAAA,uCAAqB,EAAC;gBACpB,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,SAAS;gBAClC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,SAAS;aACtC,CAAC,CAAC;QACP,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpF,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;QACzD,WAAW,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,WAAW,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,gCAAgC;IAChC,gGAAgG;IAChG,MAAM,kBAAkB,GAAG,YAAY;SACpC,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;WACN,KAAK,CAAC,IAAI;UACX,KAAK,CAAC,UAAU;;;cAGZ,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,SAAS;;;;;;kCAMhB,KAAK,CAAC,SAAS;sBAC3B,KAAK,CAAC,UAAU,+BAA+B,KAAK,CAAC,eAAe;YAC9E,KAAK,CAAC,SAAS;;;;;;;;IAQvB,CACC;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;;;;;;;;;;;;;;;;;2CAuBkC,eAAe;WAC/C,KAAK,CAAC,UAAU,uBAAuB,SAAS,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS;WAC3F,KAAK,CAAC,UAAU,sBAAsB,SAAS,IAAI,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,SAAS;WAC1F,KAAK,CAAC,UAAU,0BAA0B,SAAS,IAAI,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,SAAS;WAClG,KAAK,CAAC,UAAU,uBAAuB,SAAS,IAAI,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,SAAS;;;;eAI3F,KAAK,CAAC,UAAU;;uBAER,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,UAAU;;;;;SAKzD,KAAK,CAAC,UAAU;;;;;;;;;kCASS,KAAK,CAAC,SAAS;;;;;;;;;;cAUnC,KAAK,CAAC,UAAU,+BAA+B,KAAK,CAAC,SAAS;;;;cAI9D,KAAK,CAAC,SAAS,QAAQ,KAAK,CAAC,SAAS;;kCAElB,KAAK,CAAC,SAAS;YACrC,KAAK,CAAC,SAAS;;;;;;oBAMP,KAAK,CAAC,UAAU;kBAClB,KAAK,CAAC,SAAS;;;;UAIvB,KAAK,CAAC,UAAU;;;;oBAIN,KAAK,CAAC,UAAU;;kCAEF,KAAK,CAAC,SAAS;;;;;;+CAMF,KAAK,CAAC,UAAU;;;cAGjD,KAAK,CAAC,UAAU,+BAA+B,KAAK,CAAC,SAAS;;;;cAI9D,KAAK,CAAC,SAAS,QAAQ,KAAK,CAAC,SAAS;oBAChC,KAAK,CAAC,UAAU;;UAE1B,KAAK,CAAC,SAAS;;;kCAGS,KAAK,CAAC,SAAS;;;;;;kDAMC,KAAK,CAAC,UAAU;;;iBAGjD,KAAK,CAAC,UAAU,+BAA+B,KAAK,CAAC,SAAS;;;;;cAKjE,KAAK,CAAC,SAAS,QAAQ,KAAK,CAAC,SAAS;;iBAEnC,KAAK,CAAC,SAAS,wBAAwB,KAAK,CAAC,SAAS;;;kDAGrB,KAAK,CAAC,UAAU,8BAA8B,KAAK,CAAC,SAAS;;EAE7G,kBAAkB;;CAEnB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dto.post.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.post.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,kCAAkC,CAAC;AAqBxF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA4G9D"}
1
+ {"version":3,"file":"dto.post.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.post.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,kCAAkC,CAAC;AA2BxF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA2G9D"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generatePostDTOFile = generatePostDTOFile;
4
4
  const import_resolver_1 = require("../transformers/import-resolver");
5
+ const type_utils_1 = require("../utils/type-utils");
5
6
  /**
6
7
  * Get the import path for a relationship's DTO
7
8
  */
8
- function getDtoImportPath(rel) {
9
+ function getDtoImportPath(rel, fromDir, fromModule) {
9
10
  if (rel.isNewStructure) {
10
11
  // NEW structure: use absolute path from src
11
12
  return (0, import_resolver_1.resolveNewDtoImportPath)({
@@ -14,10 +15,15 @@ function getDtoImportPath(rel) {
14
15
  });
15
16
  }
16
17
  else {
17
- // OLD structure: foundation or relative path
18
+ // OLD structure: foundation or relative path with proper resolution
18
19
  return (0, import_resolver_1.isFoundationImport)(rel.relatedEntity.directory)
19
20
  ? import_resolver_1.FOUNDATION_PACKAGE
20
- : `../../${rel.relatedEntity.directory}/${rel.relatedEntity.kebabCase}/dtos/${rel.relatedEntity.kebabCase}.dto`;
21
+ : (0, import_resolver_1.resolveDtoImportPath)({
22
+ fromDir,
23
+ fromModule,
24
+ toDir: rel.relatedEntity.directory,
25
+ toModule: rel.relatedEntity.kebabCase,
26
+ });
21
27
  }
22
28
  }
23
29
  /**
@@ -27,14 +33,14 @@ function getDtoImportPath(rel) {
27
33
  * @returns Generated TypeScript code
28
34
  */
29
35
  function generatePostDTOFile(data) {
30
- const { names, targetDir, fields, relationships } = data;
36
+ const { names, targetDir, fields, relationships, dtoFields } = data;
31
37
  // Build DTO imports for relationships (excluding contextKey)
32
38
  const dtoImportPaths = new Map();
33
39
  for (const rel of relationships) {
34
40
  // Skip contextKey relationships (like Author)
35
41
  if (rel.contextKey)
36
42
  continue;
37
- const importPath = getDtoImportPath(rel);
43
+ const importPath = getDtoImportPath(rel, targetDir, names.kebabCase);
38
44
  if (!dtoImportPaths.has(importPath)) {
39
45
  dtoImportPaths.set(importPath, new Set());
40
46
  }
@@ -49,17 +55,16 @@ function generatePostDTOFile(data) {
49
55
  .map(([path, items]) => `import { ${Array.from(items).join(", ")} } from "${path}";`)
50
56
  .join("\n")}\n`
51
57
  : "";
52
- // Build attribute validation
53
- const attributeFields = fields
58
+ // Build attribute validation using pre-computed decorators from dtoFields
59
+ const attributeFields = dtoFields
54
60
  .map((field) => {
55
- const decorators = [];
56
- decorators.push("@IsDefined()");
57
- decorators.push("@IsNotEmpty()");
58
- decorators.push(`@IsString()`); // Simplified - all fields are strings in current schema
59
- const optional = !field.required ? "?" : "";
60
- return ` ${decorators.join("\n ")}\n ${field.name}${optional}: ${field.tsType};`;
61
+ const optional = field.isOptional ? "?" : "";
62
+ return ` ${field.decorators.join("\n ")}\n ${field.name}${optional}: ${field.type};`;
61
63
  })
62
64
  .join("\n\n");
65
+ // Get dynamic validator imports based on field types
66
+ const fieldTypes = fields.map((f) => f.type);
67
+ const validatorImports = (0, type_utils_1.getValidationImports)(fieldTypes);
63
68
  // Build relationship validation (exclude contextKey)
64
69
  const relationshipFields = relationships
65
70
  .filter((rel) => !rel.contextKey) // Exclude Author and other contextKey relationships
@@ -85,7 +90,7 @@ function generatePostDTOFile(data) {
85
90
  })
86
91
  .join("\n\n");
87
92
  return `import { Type } from "class-transformer";
88
- import { Equals, IsDefined, IsNotEmpty, IsOptional, IsString, IsUUID, ValidateNested } from "class-validator";${dtoImportsCode}
93
+ import { ${validatorImports.join(", ")} } from "class-validator";${dtoImportsCode}
89
94
  import { ${names.pascalCase}Descriptor } from "src/${targetDir}/${names.kebabCase}/entities/${names.kebabCase}";
90
95
 
91
96
  export class ${names.pascalCase}PostAttributesDTO {
@@ -1 +1 @@
1
- {"version":3,"file":"dto.post.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.post.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto.post.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.post.template.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dto.put.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.put.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,kCAAkC,CAAC;AAqBxF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA4G7D"}
1
+ {"version":3,"file":"dto.put.template.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.put.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,kCAAkC,CAAC;AA2BxF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA2G7D"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generatePutDTOFile = generatePutDTOFile;
4
4
  const import_resolver_1 = require("../transformers/import-resolver");
5
+ const type_utils_1 = require("../utils/type-utils");
5
6
  /**
6
7
  * Get the import path for a relationship's DTO
7
8
  */
8
- function getDtoImportPath(rel) {
9
+ function getDtoImportPath(rel, fromDir, fromModule) {
9
10
  if (rel.isNewStructure) {
10
11
  // NEW structure: use absolute path from src
11
12
  return (0, import_resolver_1.resolveNewDtoImportPath)({
@@ -14,10 +15,15 @@ function getDtoImportPath(rel) {
14
15
  });
15
16
  }
16
17
  else {
17
- // OLD structure: foundation or relative path
18
+ // OLD structure: foundation or relative path with proper resolution
18
19
  return (0, import_resolver_1.isFoundationImport)(rel.relatedEntity.directory)
19
20
  ? import_resolver_1.FOUNDATION_PACKAGE
20
- : `../../${rel.relatedEntity.directory}/${rel.relatedEntity.kebabCase}/dtos/${rel.relatedEntity.kebabCase}.dto`;
21
+ : (0, import_resolver_1.resolveDtoImportPath)({
22
+ fromDir,
23
+ fromModule,
24
+ toDir: rel.relatedEntity.directory,
25
+ toModule: rel.relatedEntity.kebabCase,
26
+ });
21
27
  }
22
28
  }
23
29
  /**
@@ -28,14 +34,14 @@ function getDtoImportPath(rel) {
28
34
  * @returns Generated TypeScript code
29
35
  */
30
36
  function generatePutDTOFile(data) {
31
- const { names, targetDir, fields, relationships } = data;
37
+ const { names, targetDir, fields, relationships, dtoFields } = data;
32
38
  // Build DTO imports for relationships (excluding contextKey)
33
39
  const dtoImportPaths = new Map();
34
40
  for (const rel of relationships) {
35
41
  // Skip contextKey relationships (like Author) - same as POST
36
42
  if (rel.contextKey)
37
43
  continue;
38
- const importPath = getDtoImportPath(rel);
44
+ const importPath = getDtoImportPath(rel, targetDir, names.kebabCase);
39
45
  if (!dtoImportPaths.has(importPath)) {
40
46
  dtoImportPaths.set(importPath, new Set());
41
47
  }
@@ -50,17 +56,16 @@ function generatePutDTOFile(data) {
50
56
  .map(([path, items]) => `import { ${Array.from(items).join(", ")} } from "${path}";`)
51
57
  .join("\n")}\n`
52
58
  : "";
53
- // Build attribute validation (same as POST)
54
- const attributeFields = fields
59
+ // Build attribute validation using pre-computed decorators from dtoFields (same as POST)
60
+ const attributeFields = dtoFields
55
61
  .map((field) => {
56
- const decorators = [];
57
- decorators.push("@IsDefined()");
58
- decorators.push("@IsNotEmpty()");
59
- decorators.push(`@IsString()`); // Simplified - all fields are strings in current schema
60
- const optional = !field.required ? "?" : "";
61
- return ` ${decorators.join("\n ")}\n ${field.name}${optional}: ${field.tsType};`;
62
+ const optional = field.isOptional ? "?" : "";
63
+ return ` ${field.decorators.join("\n ")}\n ${field.name}${optional}: ${field.type};`;
62
64
  })
63
65
  .join("\n\n");
66
+ // Get dynamic validator imports based on field types
67
+ const fieldTypes = fields.map((f) => f.type);
68
+ const validatorImports = (0, type_utils_1.getValidationImports)(fieldTypes);
64
69
  // Build relationship validation (exclude contextKey - same as POST)
65
70
  const relationshipFields = relationships
66
71
  .filter((rel) => !rel.contextKey) // Exclude Author and other contextKey relationships
@@ -86,7 +91,7 @@ function generatePutDTOFile(data) {
86
91
  })
87
92
  .join("\n\n");
88
93
  return `import { Type } from "class-transformer";
89
- import { Equals, IsDefined, IsNotEmpty, IsOptional, IsString, IsUUID, ValidateNested } from "class-validator";${dtoImportsCode}
94
+ import { ${validatorImports.join(", ")} } from "class-validator";${dtoImportsCode}
90
95
  import { ${names.pascalCase}Descriptor } from "src/${targetDir}/${names.kebabCase}/entities/${names.kebabCase}";
91
96
 
92
97
  export class ${names.pascalCase}PutAttributesDTO {
@@ -1 +1 @@
1
- {"version":3,"file":"dto.put.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.put.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto.put.template.js","sourceRoot":"","sources":["../../../../scripts/generate-module/templates/dto.put.template.ts"],"names":[],"mappings":"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"}
@@ -89,13 +89,14 @@ export declare function resolveEntityImportPath(params: {
89
89
  }): string;
90
90
  /**
91
91
  * Resolve import path for meta file
92
+ * Note: Controller files are in a controllers/ subdirectory, so we need extra ../ to get out first
92
93
  *
93
94
  * @param params - From and to module info
94
95
  * @returns Import path to meta file
95
96
  *
96
97
  * @example
97
98
  * resolveMetaImportPath({ fromDir: "features", fromModule: "comment", toDir: "foundations", toModule: "user" })
98
- * // Returns: "../../foundations/user/entities/user.meta"
99
+ * // Returns: "../../../foundations/user/entities/user.meta" (from comment/controllers/ to user/entities/)
99
100
  */
100
101
  export declare function resolveMetaImportPath(params: {
101
102
  fromDir: string;
@@ -105,13 +106,14 @@ export declare function resolveMetaImportPath(params: {
105
106
  }): string;
106
107
  /**
107
108
  * Resolve import path for DTO file
109
+ * Note: DTO files are in a dtos/ subdirectory, so we need extra ../ to get out first
108
110
  *
109
111
  * @param params - From and to module info
110
112
  * @returns Import path to DTO file
111
113
  *
112
114
  * @example
113
115
  * resolveDtoImportPath({ fromDir: "features", fromModule: "comment", toDir: "features", toModule: "discussion" })
114
- * // Returns: "../discussion/dtos/discussion.dto"
116
+ * // Returns: "../../discussion/dtos/discussion.dto" (from comment/dtos/ to discussion/dtos/)
115
117
  */
116
118
  export declare function resolveDtoImportPath(params: {
117
119
  fromDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolver.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/transformers/import-resolver.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAK/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAgBT;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAGT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CASpG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQjG"}
1
+ {"version":3,"file":"import-resolver.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/transformers/import-resolver.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAK/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAgBT;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAGT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAIT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAIT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CASpG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQjG"}
@@ -121,31 +121,35 @@ function resolveEntityImportPath(params) {
121
121
  }
122
122
  /**
123
123
  * Resolve import path for meta file
124
+ * Note: Controller files are in a controllers/ subdirectory, so we need extra ../ to get out first
124
125
  *
125
126
  * @param params - From and to module info
126
127
  * @returns Import path to meta file
127
128
  *
128
129
  * @example
129
130
  * resolveMetaImportPath({ fromDir: "features", fromModule: "comment", toDir: "foundations", toModule: "user" })
130
- * // Returns: "../../foundations/user/entities/user.meta"
131
+ * // Returns: "../../../foundations/user/entities/user.meta" (from comment/controllers/ to user/entities/)
131
132
  */
132
133
  function resolveMetaImportPath(params) {
134
+ // Controller files are in module/controllers/, so add ../ to get out of controllers/ subdirectory
133
135
  const basePath = resolveImportPath(params);
134
- return `${basePath}/entities/${params.toModule}.meta`;
136
+ return `../${basePath}/entities/${params.toModule}.meta`;
135
137
  }
136
138
  /**
137
139
  * Resolve import path for DTO file
140
+ * Note: DTO files are in a dtos/ subdirectory, so we need extra ../ to get out first
138
141
  *
139
142
  * @param params - From and to module info
140
143
  * @returns Import path to DTO file
141
144
  *
142
145
  * @example
143
146
  * resolveDtoImportPath({ fromDir: "features", fromModule: "comment", toDir: "features", toModule: "discussion" })
144
- * // Returns: "../discussion/dtos/discussion.dto"
147
+ * // Returns: "../../discussion/dtos/discussion.dto" (from comment/dtos/ to discussion/dtos/)
145
148
  */
146
149
  function resolveDtoImportPath(params) {
150
+ // DTO files are in module/dtos/, so add ../ to get out of dtos/ subdirectory
147
151
  const basePath = resolveImportPath(params);
148
- return `${basePath}/dtos/${params.toModule}.dto`;
152
+ return `../${basePath}/dtos/${params.toModule}.dto`;
149
153
  }
150
154
  /**
151
155
  * Resolve import path relative to module root
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../../../scripts/generate-module/transformers/import-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../../../scripts/generate-module/transformers/import-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Type utilities for the generate-module command
3
+ * Handles type normalization, TypeScript mapping, and validation decorator generation
4
+ */
5
+ declare const VALID_BASE_TYPES: readonly ["string", "number", "boolean", "date", "datetime", "json"];
6
+ declare const VALID_ARRAY_TYPES: readonly ["string[]", "number[]", "boolean[]", "date[]", "datetime[]", "json[]"];
7
+ export type CypherBaseType = (typeof VALID_BASE_TYPES)[number];
8
+ export type CypherArrayType = (typeof VALID_ARRAY_TYPES)[number];
9
+ export type CypherType = CypherBaseType | CypherArrayType;
10
+ /**
11
+ * Normalize a type string to canonical lowercase form
12
+ * Handles case-insensitive input (e.g., "String", "NUMBER[]", "DateTime")
13
+ *
14
+ * @param input - The input type string (case-insensitive)
15
+ * @returns The normalized CypherType or null if invalid
16
+ */
17
+ export declare function normalizeCypherType(input: string): CypherType | null;
18
+ /**
19
+ * Check if a type is an array type
20
+ *
21
+ * @param type - The CypherType to check
22
+ * @returns true if the type ends with []
23
+ */
24
+ export declare function isArrayType(type: CypherType): type is CypherArrayType;
25
+ /**
26
+ * Get the base type from an array type
27
+ *
28
+ * @param type - The CypherType (may be array or scalar)
29
+ * @returns The base type (e.g., "number[]" -> "number")
30
+ */
31
+ export declare function getBaseType(type: CypherType): CypherBaseType;
32
+ /**
33
+ * Get the TypeScript type string for a CypherType
34
+ *
35
+ * @param type - The CypherType
36
+ * @returns The TypeScript type string
37
+ */
38
+ export declare function getTsType(type: CypherType): string;
39
+ /**
40
+ * Get validation decorators for a field type
41
+ *
42
+ * @param type - The CypherType
43
+ * @param required - Whether the field is required
44
+ * @returns Array of decorator strings
45
+ */
46
+ export declare function getValidationDecorators(type: CypherType, required: boolean): string[];
47
+ /**
48
+ * Get required class-validator imports for a set of types
49
+ *
50
+ * @param types - Array of CypherTypes used in the entity
51
+ * @returns Array of import names needed from class-validator
52
+ */
53
+ export declare function getValidationImports(types: CypherType[]): string[];
54
+ /**
55
+ * Get all valid type strings for validation messages
56
+ *
57
+ * @returns Array of all valid type strings
58
+ */
59
+ export declare function getValidTypes(): string[];
60
+ export {};
61
+ //# sourceMappingURL=type-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-module/utils/type-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,gBAAgB,sEAAuE,CAAC;AAG9F,QAAA,MAAM,iBAAiB,kFAAmF,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAYpE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,eAAe,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBlD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CA0DrF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAgDlE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}