arkos 1.3.2-canary.4 → 1.3.3-beta

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 (121) hide show
  1. package/README.md +8 -4
  2. package/dist/cjs/app.js +39 -4
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/utils/index.js +5 -25
  5. package/dist/cjs/exports/utils/index.js.map +1 -1
  6. package/dist/cjs/modules/auth/auth.controller.js +18 -0
  7. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  8. package/dist/cjs/modules/base/base.controller.js +49 -11
  9. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  10. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  11. package/dist/cjs/modules/base/base.service.js +108 -0
  12. package/dist/cjs/modules/base/base.service.js.map +1 -1
  13. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
  14. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +22 -8
  15. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  16. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +2 -2
  17. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  18. package/dist/cjs/modules/debugger/debugger.service.js +48 -0
  19. package/dist/cjs/modules/debugger/debugger.service.js.map +1 -0
  20. package/dist/cjs/modules/file-upload/file-upload.controller.js +4 -0
  21. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  22. package/dist/cjs/modules/swagger/swagger.router.js +2 -1
  23. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  24. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +12 -8
  25. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  26. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +3 -3
  27. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  28. package/dist/cjs/server.js +9 -0
  29. package/dist/cjs/server.js.map +1 -1
  30. package/dist/cjs/types/arkos-config.js.map +1 -1
  31. package/dist/cjs/types/index.js.map +1 -1
  32. package/dist/cjs/utils/cli/generate.js +21 -4
  33. package/dist/cjs/utils/cli/generate.js.map +1 -1
  34. package/dist/cjs/utils/cli/prisma-generate.js +0 -1
  35. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -1
  36. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
  37. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +34 -10
  38. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
  39. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +2 -6
  40. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -1
  41. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +31 -36
  42. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  43. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +0 -2
  44. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  45. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +1 -1
  46. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  47. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +6 -9
  48. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  49. package/dist/cjs/utils/features/api.features.js +130 -73
  50. package/dist/cjs/utils/features/api.features.js.map +1 -1
  51. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +1 -1
  52. package/dist/cjs/utils/helpers/prisma.helpers.js +8 -4
  53. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  54. package/dist/cjs/utils/sheu.js +6 -0
  55. package/dist/cjs/utils/sheu.js.map +1 -1
  56. package/dist/esm/app.js +6 -4
  57. package/dist/esm/app.js.map +1 -1
  58. package/dist/esm/exports/utils/index.js +2 -2
  59. package/dist/esm/exports/utils/index.js.map +1 -1
  60. package/dist/esm/modules/auth/auth.controller.js +18 -0
  61. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  62. package/dist/esm/modules/base/base.controller.js +49 -11
  63. package/dist/esm/modules/base/base.controller.js.map +1 -1
  64. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  65. package/dist/esm/modules/base/base.service.js +108 -0
  66. package/dist/esm/modules/base/base.service.js.map +1 -1
  67. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  68. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +22 -9
  69. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  70. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +2 -2
  71. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  72. package/dist/esm/modules/debugger/debugger.service.js +43 -0
  73. package/dist/esm/modules/debugger/debugger.service.js.map +1 -0
  74. package/dist/esm/modules/file-upload/file-upload.controller.js +4 -0
  75. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  76. package/dist/esm/modules/swagger/swagger.router.js +2 -1
  77. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  78. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +12 -8
  79. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  80. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +3 -3
  81. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  82. package/dist/esm/server.js +9 -0
  83. package/dist/esm/server.js.map +1 -1
  84. package/dist/esm/types/arkos-config.js.map +1 -1
  85. package/dist/esm/types/index.js.map +1 -1
  86. package/dist/esm/utils/cli/generate.js +21 -4
  87. package/dist/esm/utils/cli/generate.js.map +1 -1
  88. package/dist/esm/utils/cli/prisma-generate.js +0 -1
  89. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  90. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  91. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +34 -10
  92. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
  93. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +2 -6
  94. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -1
  95. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +31 -36
  96. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  97. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +0 -2
  98. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  99. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +1 -1
  100. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  101. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +6 -6
  102. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  103. package/dist/esm/utils/features/api.features.js +130 -72
  104. package/dist/esm/utils/features/api.features.js.map +1 -1
  105. package/dist/esm/utils/helpers/deepmerge.helper.js.map +1 -1
  106. package/dist/esm/utils/helpers/prisma.helpers.js +8 -4
  107. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  108. package/dist/esm/utils/sheu.js +6 -0
  109. package/dist/esm/utils/sheu.js.map +1 -1
  110. package/dist/types/exports/utils/index.d.ts +2 -2
  111. package/dist/types/modules/base/base.controller.d.ts +2 -0
  112. package/dist/types/modules/base/base.service.d.ts +5 -0
  113. package/dist/types/modules/base/types/base.service.types.d.ts +8 -8
  114. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -0
  115. package/dist/types/modules/debugger/debugger.service.d.ts +7 -0
  116. package/dist/types/types/arkos-config.d.ts +3 -0
  117. package/dist/types/types/index.d.ts +3 -0
  118. package/dist/types/utils/cli/generate.d.ts +2 -0
  119. package/dist/types/utils/features/api.features.d.ts +3 -5
  120. package/dist/types/utils/sheu.d.ts +4 -0
  121. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateAuthConfigsTemplate = generateAuthConfigsTemplate;
4
4
  const fs_helpers_1 = require("../../../../helpers/fs.helpers");
5
+ const text_helpers_1 = require("../../../../helpers/text.helpers");
5
6
  function generateAuthConfigsTemplate(options) {
6
7
  const { modelName } = options;
7
8
  const ext = (0, fs_helpers_1.getUserFileExtension)();
@@ -13,20 +14,43 @@ function generateAuthConfigsTemplate(options) {
13
14
  : "";
14
15
  const typeAnnotation = isTypeScript ? `: AuthConfigs` : "";
15
16
  return `${imports}
17
+ import { authService } from "arkos/services";
18
+
19
+ export const ${modelName.camel}Permissions = {
20
+ canCreate: authService.permission("Create", "${modelName.kebab}"),
21
+ canUpdate: authService.permission("Update", "${modelName.kebab}"),
22
+ canDelete: authService.permission("Delete", "${modelName.kebab}"),
23
+ canView: authService.permission("View", "${modelName.kebab}"),
24
+ }
25
+
16
26
  const ${modelName.camel}AuthConfigs${typeAnnotation} = {
17
27
  authenticationControl: {
18
- // Create: true,
19
- // Update: true,
20
- // Delete: true,
21
- // View: false,
28
+ Create: true,
29
+ Update: true,
30
+ Delete: true,
31
+ View: true,
22
32
  },
23
-
24
- // Only when using Static RBAC
25
33
  accessControl: {
26
- // Create: ["Admin"],
27
- // Update: ["Admin", "Manager"],
28
- // Delete: ["Admin"],
29
- // View: ["User", "Admin", "Guest"],
34
+ // Create: {
35
+ // roles: [],
36
+ // name: "Create ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
37
+ // description: "Permission to create new ${modelName.kebab.replaceAll("-", " ")} records"
38
+ // },
39
+ // Update: {
40
+ // roles: [],
41
+ // name: "Update ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
42
+ // description: "Permission to update existing ${modelName.kebab.replaceAll("-", " ")} records"
43
+ // },
44
+ // Delete: {
45
+ // roles: [],
46
+ // name: "Delete ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
47
+ // description: "Permission to delete ${modelName.kebab.replaceAll("-", " ")} records"
48
+ // },
49
+ // View: {
50
+ // roles: [],
51
+ // name: "View ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
52
+ // description: "Permission to view ${modelName.kebab.replaceAll("-", " ")} records"
53
+ // },
30
54
  },
31
55
  };
32
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/auth-configs-template.ts"],"names":[],"mappings":";;AAGA,kEAoCC;AAvCD,+DAAsE;AAGtE,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAGrE,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO,GAAG,OAAO;QACX,SAAS,CAAC,KAAK,cAAc,cAAc;;;;;;;;;;;;;;;;;iBAiBlC,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateAuthConfigsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for auth config template\");\n\n // Generate imports for TypeScript\n const imports = isTypeScript\n ? `import { AuthConfigs } from 'arkos/auth';\\n`\n : \"\";\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript ? `: AuthConfigs` : \"\";\n\n return `${imports}\nconst ${modelName.camel}AuthConfigs${typeAnnotation} = {\n authenticationControl: {\n // Create: true,\n // Update: true,\n // Delete: true,\n // View: false,\n },\n \n // Only when using Static RBAC\n accessControl: {\n // Create: [\"Admin\"],\n // Update: [\"Admin\", \"Manager\"],\n // Delete: [\"Admin\"],\n // View: [\"User\", \"Admin\", \"Guest\"],\n },\n};\n\nexport default ${modelName.camel}AuthConfigs;\n`;\n}\n"]}
1
+ {"version":3,"file":"auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/auth-configs-template.ts"],"names":[],"mappings":";;AAIA,kEA2DC;AA/DD,+DAAsE;AACtE,mEAA8D;AAG9D,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAGrE,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO,GAAG,OAAO;;;eAGJ,SAAS,CAAC,KAAK;iDACmB,SAAS,CAAC,KAAK;iDACf,SAAS,CAAC,KAAK;iDACf,SAAS,CAAC,KAAK;6CACnB,SAAS,CAAC,KAAK;;;QAGpD,SAAS,CAAC,KAAK,cAAc,cAAc;;;;;;;;;;yBAU1B,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;kDACtB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;yBAI7D,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;uDACjB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;yBAIlE,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;8CAC1B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;uBAI3D,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4CAC1B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;iBAK/D,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { capitalize } from \"../../../../helpers/text.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateAuthConfigsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for auth config template\");\n\n // Generate imports for TypeScript\n const imports = isTypeScript\n ? `import { AuthConfigs } from 'arkos/auth';\\n`\n : \"\";\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript ? `: AuthConfigs` : \"\";\n\n return `${imports}\nimport { authService } from \"arkos/services\";\n\nexport const ${modelName.camel}Permissions = {\n canCreate: authService.permission(\"Create\", \"${modelName.kebab}\"),\n canUpdate: authService.permission(\"Update\", \"${modelName.kebab}\"),\n canDelete: authService.permission(\"Delete\", \"${modelName.kebab}\"),\n canView: authService.permission(\"View\", \"${modelName.kebab}\"),\n}\n\nconst ${modelName.camel}AuthConfigs${typeAnnotation} = {\n authenticationControl: {\n Create: true,\n Update: true,\n Delete: true,\n View: true,\n },\n accessControl: {\n // Create: {\n // roles: [],\n // name: \"Create ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to create new ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // Update: {\n // roles: [],\n // name: \"Update ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to update existing ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // Delete: {\n // roles: [],\n // name: \"Delete ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to delete ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // View: {\n // roles: [],\n // name: \"View ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to view ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n },\n};\n\nexport default ${modelName.camel}AuthConfigs;\n`;\n}\n"]}
@@ -7,13 +7,9 @@ function generateControllerTemplate(options) {
7
7
  throw new Error("Model name is required for controller template");
8
8
  return `import { BaseController } from "${imports?.baseController || "arkos/controllers"}";
9
9
 
10
- class ${modelName.pascal}Controller extends BaseController {
11
- constructor() {
12
- super("${modelName.kebab}");
13
- }
14
- }
10
+ class ${modelName.pascal}Controller extends BaseController {}
15
11
 
16
- const ${modelName.camel}Controller = new ${modelName.pascal}Controller();
12
+ const ${modelName.camel}Controller = new ${modelName.pascal}Controller("${modelName.kebab}");
17
13
 
18
14
  export default ${modelName.camel}Controller;
19
15
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/controller-template.ts"],"names":[],"mappings":";;AAEA,gEAoBC;AApBD,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,mCACL,OAAO,EAAE,cAAc,IAAI,mBAC7B;;QAEM,SAAS,CAAC,MAAM;;aAEX,SAAS,CAAC,KAAK;;;;QAIpB,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM;;iBAE1C,SAAS,CAAC,KAAK;GAC7B,CAAC;AACJ,CAAC","sourcesContent":["import { TemplateOptions } from \"../../template-generators\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Model name is required for controller template\");\n\n return `import { BaseController } from \"${\n imports?.baseController || \"arkos/controllers\"\n }\";\n \nclass ${modelName.pascal}Controller extends BaseController {\n constructor() {\n super(\"${modelName.kebab}\");\n }\n}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller();\n\nexport default ${modelName.camel}Controller;\n `;\n}\n"]}
1
+ {"version":3,"file":"controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/controller-template.ts"],"names":[],"mappings":";;AAEA,gEAgBC;AAhBD,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,mCACL,OAAO,EAAE,cAAc,IAAI,mBAC7B;;QAEM,SAAS,CAAC,MAAM;;QAEhB,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,eAAe,SAAS,CAAC,KAAK;;iBAExE,SAAS,CAAC,KAAK;GAC7B,CAAC;AACJ,CAAC","sourcesContent":["import { TemplateOptions } from \"../../template-generators\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Model name is required for controller template\");\n\n return `import { BaseController } from \"${\n imports?.baseController || \"arkos/controllers\"\n }\";\n \nclass ${modelName.pascal}Controller extends BaseController {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(\"${modelName.kebab}\");\n\nexport default ${modelName.camel}Controller;\n `;\n}\n"]}
@@ -7,7 +7,7 @@ function generateHooksTemplate(options) {
7
7
  const ext = (0, fs_helpers_1.getUserFileExtension)();
8
8
  const isTypeScript = ext === "ts";
9
9
  if (!modelName)
10
- throw new Error("Model name is required for hooks template");
10
+ throw new Error("Module name is required for hooks template");
11
11
  const baseImports = isTypeScript
12
12
  ? `// import {
13
13
  // BeforeFindOneHookArgs,
@@ -40,43 +40,39 @@ function generateHooksTemplate(options) {
40
40
  // OnDeleteManyErrorHookArgs
41
41
  // } from "arkos/services";`
42
42
  : ``;
43
- const prismaImport = `"../../utils/prisma${ext === "ts" ? "" : "." + "js"}";`;
44
43
  const serviceImport = `"./${modelName.kebab}.service${ext === "ts" ? "" : "." + "js"}";`;
45
- const delegateExport = isTypeScript
46
- ? `\nexport type ${modelName.pascal}Delegate = typeof prisma.${modelName.camel};`
47
- : "";
48
44
  const getHookArgsType = (hookName) => {
49
45
  if (!isTypeScript)
50
46
  return "";
51
47
  const typeMap = {
52
- beforeFindOne: `BeforeFindOneHookArgs<${modelName.pascal}Delegate>`,
53
- afterFindOne: `AfterFindOneHookArgs<${modelName.pascal}Delegate>`,
54
- beforeUpdateOne: `BeforeUpdateOneHookArgs<${modelName.pascal}Delegate>`,
55
- afterUpdateOne: `AfterUpdateOneHookArgs<${modelName.pascal}Delegate>`,
56
- beforeCreateOne: `BeforeCreateOneHookArgs<${modelName.pascal}Delegate>`,
57
- afterCreateOne: `AfterCreateOneHookArgs<${modelName.pascal}Delegate>`,
58
- beforeCreateMany: `BeforeCreateManyHookArgs<${modelName.pascal}Delegate>`,
59
- afterCreateMany: `AfterCreateManyHookArgs<${modelName.pascal}Delegate>`,
60
- beforeCount: `BeforeCountHookArgs<${modelName.pascal}Delegate>`,
61
- afterCount: `AfterCountHookArgs<${modelName.pascal}Delegate>`,
62
- beforeFindMany: `BeforeFindManyHookArgs<${modelName.pascal}Delegate>`,
63
- afterFindMany: `AfterFindManyHookArgs<${modelName.pascal}Delegate>`,
64
- beforeUpdateMany: `BeforeUpdateManyHookArgs<${modelName.pascal}Delegate>`,
65
- afterUpdateMany: `AfterUpdateManyHookArgs<${modelName.pascal}Delegate>`,
66
- beforeDeleteOne: `BeforeDeleteOneHookArgs<${modelName.pascal}Delegate>`,
67
- afterDeleteOne: `AfterDeleteOneHookArgs<${modelName.pascal}Delegate>`,
68
- beforeDeleteMany: `BeforeDeleteManyHookArgs<${modelName.pascal}Delegate>`,
69
- afterDeleteMany: `AfterDeleteManyHookArgs<${modelName.pascal}Delegate>`,
70
- onCreateOneError: `OnCreateOneErrorHookArgs<${modelName.pascal}Delegate>`,
71
- onCreateManyError: `OnCreateManyErrorHookArgs<${modelName.pascal}Delegate>`,
72
- onCountError: `OnCountErrorHookArgs<${modelName.pascal}Delegate>`,
73
- onFindManyError: `OnFindManyErrorHookArgs<${modelName.pascal}Delegate>`,
74
- onFindByIdError: `OnFindByIdErrorHookArgs<${modelName.pascal}Delegate>`,
75
- onFindOneError: `OnFindOneErrorHookArgs<${modelName.pascal}Delegate>`,
76
- onUpdateOneError: `OnUpdateOneErrorHookArgs<${modelName.pascal}Delegate>`,
77
- onUpdateManyError: `OnUpdateManyErrorHookArgs<${modelName.pascal}Delegate>`,
78
- onDeleteOneError: `OnDeleteOneErrorHookArgs<${modelName.pascal}Delegate>`,
79
- onDeleteManyError: `OnDeleteManyErrorHookArgs<${modelName.pascal}Delegate>`,
48
+ beforeFindOne: `BeforeFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
49
+ afterFindOne: `AfterFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
50
+ beforeUpdateOne: `BeforeUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
51
+ afterUpdateOne: `AfterUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
52
+ beforeCreateOne: `BeforeCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
53
+ afterCreateOne: `AfterCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
54
+ beforeCreateMany: `BeforeCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
55
+ afterCreateMany: `AfterCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
56
+ beforeCount: `BeforeCountHookArgs<Prisma.${modelName.pascal}Delegate>`,
57
+ afterCount: `AfterCountHookArgs<Prisma.${modelName.pascal}Delegate>`,
58
+ beforeFindMany: `BeforeFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
59
+ afterFindMany: `AfterFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
60
+ beforeUpdateMany: `BeforeUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
61
+ afterUpdateMany: `AfterUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
62
+ beforeDeleteOne: `BeforeDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
63
+ afterDeleteOne: `AfterDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
64
+ beforeDeleteMany: `BeforeDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
65
+ afterDeleteMany: `AfterDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
66
+ onCreateOneError: `OnCreateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
67
+ onCreateManyError: `OnCreateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
68
+ onCountError: `OnCountErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
69
+ onFindManyError: `OnFindManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
70
+ onFindByIdError: `OnFindByIdErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
71
+ onFindOneError: `OnFindOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
72
+ onUpdateOneError: `OnUpdateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
73
+ onUpdateManyError: `OnUpdateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
74
+ onDeleteOneError: `OnDeleteOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
75
+ onDeleteManyError: `OnDeleteManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
80
76
  };
81
77
  return typeMap[hookName];
82
78
  };
@@ -85,7 +81,7 @@ function generateHooksTemplate(options) {
85
81
  const args = isTypeScript
86
82
  ? `{ ${params.join(", ")} }: ${argsType}`
87
83
  : `{ ${params.join(", ")} }`;
88
- return `async function ${hookName}(${args}) {}`;
84
+ return `async function (${args}) {}`;
89
85
  };
90
86
  const hooks = `
91
87
  // export const beforeFindOne = [
@@ -197,9 +193,8 @@ function generateHooksTemplate(options) {
197
193
  // ];
198
194
  `;
199
195
  return `${baseImports}
200
- // import prisma from ${prismaImport}
196
+ // import { Prisma } from "@prisma/client"
201
197
  // import ${modelName.camel}Service from ${serviceImport}
202
- ${delegateExport}
203
198
 
204
199
  ${hooks}`;
205
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/hooks-template.ts"],"names":[],"mappings":"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","sourcesContent":["// Import helper function to get user's file extension preference\nimport { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\n// Import template options interface\nimport { TemplateOptions } from \"../../template-generators\";\n\n// Main function to generate hooks template based on provided options\nexport default function generateHooksTemplate(\n options: TemplateOptions\n): string {\n // Destructure modelName from options\n const { modelName } = options;\n // Get user's preferred file extension (ts or js)\n const ext = getUserFileExtension();\n // Check if user is using TypeScript\n const isTypeScript = ext === \"ts\";\n\n // Throw error if modelName is not provided\n if (!modelName) throw new Error(\"Model name is required for hooks template\");\n\n // Define base imports for TypeScript - includes all hook argument types\n const baseImports = isTypeScript\n ? `// import { \n// BeforeFindOneHookArgs, \n// AfterFindOneHookArgs, \n// BeforeUpdateOneHookArgs, \n// AfterUpdateOneHookArgs,\n// BeforeCreateOneHookArgs,\n// AfterCreateOneHookArgs,\n// BeforeCreateManyHookArgs,\n// AfterCreateManyHookArgs,\n// BeforeCountHookArgs,\n// AfterCountHookArgs,\n// BeforeFindManyHookArgs,\n// AfterFindManyHookArgs,\n// BeforeUpdateManyHookArgs,\n// AfterUpdateManyHookArgs,\n// BeforeDeleteOneHookArgs,\n// AfterDeleteOneHookArgs,\n// BeforeDeleteManyHookArgs,\n// AfterDeleteManyHookArgs,\n// OnCreateOneErrorHookArgs,\n// OnCreateManyErrorHookArgs,\n// OnCountErrorHookArgs,\n// OnFindManyErrorHookArgs,\n// OnFindByIdErrorHookArgs,\n// OnFindOneErrorHookArgs,\n// OnUpdateOneErrorHookArgs,\n// OnUpdateManyErrorHookArgs,\n// OnDeleteOneErrorHookArgs,\n// OnDeleteManyErrorHookArgs\n// } from \"arkos/services\";`\n : ``;\n\n // Define prisma import path based on file extension\n const prismaImport = `\"../../utils/prisma${ext === \"ts\" ? \"\" : \".\" + \"js\"}\";`;\n\n // Define service import path based on file extension\n const serviceImport = `\"./${modelName.kebab}.service${ext === \"ts\" ? \"\" : \".\" + \"js\"}\";`;\n\n // Export delegate type for TypeScript only\n const delegateExport = isTypeScript\n ? `\\nexport type ${modelName.pascal}Delegate = typeof prisma.${modelName.camel};`\n : \"\";\n\n // Function to get the appropriate TypeScript type for each hook\n const getHookArgsType = (hookName: string) => {\n // Return empty string for JavaScript\n if (!isTypeScript) return \"\";\n\n // Map hook names to their corresponding TypeScript types\n const typeMap: Record<string, string> = {\n beforeFindOne: `BeforeFindOneHookArgs<${modelName.pascal}Delegate>`,\n afterFindOne: `AfterFindOneHookArgs<${modelName.pascal}Delegate>`,\n beforeUpdateOne: `BeforeUpdateOneHookArgs<${modelName.pascal}Delegate>`,\n afterUpdateOne: `AfterUpdateOneHookArgs<${modelName.pascal}Delegate>`,\n beforeCreateOne: `BeforeCreateOneHookArgs<${modelName.pascal}Delegate>`,\n afterCreateOne: `AfterCreateOneHookArgs<${modelName.pascal}Delegate>`,\n beforeCreateMany: `BeforeCreateManyHookArgs<${modelName.pascal}Delegate>`,\n afterCreateMany: `AfterCreateManyHookArgs<${modelName.pascal}Delegate>`,\n beforeCount: `BeforeCountHookArgs<${modelName.pascal}Delegate>`,\n afterCount: `AfterCountHookArgs<${modelName.pascal}Delegate>`,\n beforeFindMany: `BeforeFindManyHookArgs<${modelName.pascal}Delegate>`,\n afterFindMany: `AfterFindManyHookArgs<${modelName.pascal}Delegate>`,\n beforeUpdateMany: `BeforeUpdateManyHookArgs<${modelName.pascal}Delegate>`,\n afterUpdateMany: `AfterUpdateManyHookArgs<${modelName.pascal}Delegate>`,\n beforeDeleteOne: `BeforeDeleteOneHookArgs<${modelName.pascal}Delegate>`,\n afterDeleteOne: `AfterDeleteOneHookArgs<${modelName.pascal}Delegate>`,\n beforeDeleteMany: `BeforeDeleteManyHookArgs<${modelName.pascal}Delegate>`,\n afterDeleteMany: `AfterDeleteManyHookArgs<${modelName.pascal}Delegate>`,\n // Error hook types\n onCreateOneError: `OnCreateOneErrorHookArgs<${modelName.pascal}Delegate>`,\n onCreateManyError: `OnCreateManyErrorHookArgs<${modelName.pascal}Delegate>`,\n onCountError: `OnCountErrorHookArgs<${modelName.pascal}Delegate>`,\n onFindManyError: `OnFindManyErrorHookArgs<${modelName.pascal}Delegate>`,\n onFindByIdError: `OnFindByIdErrorHookArgs<${modelName.pascal}Delegate>`,\n onFindOneError: `OnFindOneErrorHookArgs<${modelName.pascal}Delegate>`,\n onUpdateOneError: `OnUpdateOneErrorHookArgs<${modelName.pascal}Delegate>`,\n onUpdateManyError: `OnUpdateManyErrorHookArgs<${modelName.pascal}Delegate>`,\n onDeleteOneError: `OnDeleteOneErrorHookArgs<${modelName.pascal}Delegate>`,\n onDeleteManyError: `OnDeleteManyErrorHookArgs<${modelName.pascal}Delegate>`,\n };\n\n // Return the corresponding type for the hook name\n return typeMap[hookName];\n };\n\n // Function to generate a hook function with proper TypeScript types\n const generateHookFunction = (hookName: string, params: string[]) => {\n // Get the TypeScript type for this hook\n const argsType = getHookArgsType(hookName);\n // Create function parameters with or without TypeScript types\n const args = isTypeScript\n ? `{ ${params.join(\", \")} }: ${argsType}`\n : `{ ${params.join(\", \")} }`;\n\n // Return the complete function definition\n return `async function ${hookName}(${args}) {}`;\n };\n\n // Generate all hook exports with their respective functions\n const hooks = `\n// export const beforeFindOne = [\n// ${generateHookFunction(\"beforeFindOne\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindOne = [\n// ${generateHookFunction(\"afterFindOne\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindOneError = [\n// ${generateHookFunction(\"onFindOneError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateOne = [\n// ${generateHookFunction(\"beforeUpdateOne\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateOne = [\n// ${generateHookFunction(\"afterUpdateOne\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateOneError = [\n// ${generateHookFunction(\"onUpdateOneError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateOne = [\n// ${generateHookFunction(\"beforeCreateOne\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateOne = [\n// ${generateHookFunction(\"afterCreateOne\", [\"context\", \"result\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onCreateOneError = [\n// ${generateHookFunction(\"onCreateOneError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateMany = [\n// ${generateHookFunction(\"beforeCreateMany\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateMany = [\n// ${generateHookFunction(\"afterCreateMany\", [\"context\", \"result\", \"queryOptions\"])}\n// ];\n\n// export const onCreateManyError = [\n// ${generateHookFunction(\"onCreateManyError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCount = [\n// ${generateHookFunction(\"beforeCount\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterCount = [\n// ${generateHookFunction(\"afterCount\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onCountError = [\n// ${generateHookFunction(\"onCountError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeFindMany = [\n// ${generateHookFunction(\"beforeFindMany\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindMany = [\n// ${generateHookFunction(\"afterFindMany\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindManyError = [\n// ${generateHookFunction(\"onFindManyError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateMany = [\n// ${generateHookFunction(\"beforeUpdateMany\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateMany = [\n// ${generateHookFunction(\"afterUpdateMany\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateManyError = [\n// ${generateHookFunction(\"onUpdateManyError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeDeleteOne = [\n// ${generateHookFunction(\"beforeDeleteOne\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteOne = [\n// ${generateHookFunction(\"afterDeleteOne\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteOneError = [\n// ${generateHookFunction(\"onDeleteOneError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeDeleteMany = [\n// ${generateHookFunction(\"beforeDeleteMany\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteMany = [\n// ${generateHookFunction(\"afterDeleteMany\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteManyError = [\n// ${generateHookFunction(\"onDeleteManyError\", [\"context\", \"error\", \"filters\"])}\n// ];\n`;\n\n // Return the complete template with imports, exports, and hook functions\n return `${baseImports}\n// import prisma from ${prismaImport}\n// import ${modelName.camel}Service from ${serviceImport}\n${delegateExport}\n\n${hooks}`;\n}\n"]}
1
+ {"version":3,"file":"hooks-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/hooks-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\n// Main function to generate hooks template based on provided options\nexport default function generateHooksTemplate(\n options: TemplateOptions\n): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName) throw new Error(\"Module name is required for hooks template\");\n\n const baseImports = isTypeScript\n ? `// import { \n// BeforeFindOneHookArgs, \n// AfterFindOneHookArgs, \n// BeforeUpdateOneHookArgs, \n// AfterUpdateOneHookArgs,\n// BeforeCreateOneHookArgs,\n// AfterCreateOneHookArgs,\n// BeforeCreateManyHookArgs,\n// AfterCreateManyHookArgs,\n// BeforeCountHookArgs,\n// AfterCountHookArgs,\n// BeforeFindManyHookArgs,\n// AfterFindManyHookArgs,\n// BeforeUpdateManyHookArgs,\n// AfterUpdateManyHookArgs,\n// BeforeDeleteOneHookArgs,\n// AfterDeleteOneHookArgs,\n// BeforeDeleteManyHookArgs,\n// AfterDeleteManyHookArgs,\n// OnCreateOneErrorHookArgs,\n// OnCreateManyErrorHookArgs,\n// OnCountErrorHookArgs,\n// OnFindManyErrorHookArgs,\n// OnFindByIdErrorHookArgs,\n// OnFindOneErrorHookArgs,\n// OnUpdateOneErrorHookArgs,\n// OnUpdateManyErrorHookArgs,\n// OnDeleteOneErrorHookArgs,\n// OnDeleteManyErrorHookArgs\n// } from \"arkos/services\";`\n : ``;\n\n const serviceImport = `\"./${modelName.kebab}.service${ext === \"ts\" ? \"\" : \".\" + \"js\"}\";`;\n\n const getHookArgsType = (hookName: string) => {\n if (!isTypeScript) return \"\";\n\n const typeMap: Record<string, string> = {\n beforeFindOne: `BeforeFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterFindOne: `AfterFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeUpdateOne: `BeforeUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterUpdateOne: `AfterUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCreateOne: `BeforeCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCreateOne: `AfterCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCreateMany: `BeforeCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCreateMany: `AfterCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCount: `BeforeCountHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCount: `AfterCountHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeFindMany: `BeforeFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterFindMany: `AfterFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeUpdateMany: `BeforeUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterUpdateMany: `AfterUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeDeleteOne: `BeforeDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterDeleteOne: `AfterDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeDeleteMany: `BeforeDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterDeleteMany: `AfterDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n // Error hook types\n onCreateOneError: `OnCreateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onCreateManyError: `OnCreateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onCountError: `OnCountErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindManyError: `OnFindManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindByIdError: `OnFindByIdErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindOneError: `OnFindOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onUpdateOneError: `OnUpdateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onUpdateManyError: `OnUpdateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onDeleteOneError: `OnDeleteOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onDeleteManyError: `OnDeleteManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n };\n\n return typeMap[hookName];\n };\n\n const generateHookFunction = (hookName: string, params: string[]) => {\n const argsType = getHookArgsType(hookName);\n const args = isTypeScript\n ? `{ ${params.join(\", \")} }: ${argsType}`\n : `{ ${params.join(\", \")} }`;\n return `async function (${args}) {}`;\n };\n\n const hooks = `\n// export const beforeFindOne = [\n// ${generateHookFunction(\"beforeFindOne\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindOne = [\n// ${generateHookFunction(\"afterFindOne\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindOneError = [\n// ${generateHookFunction(\"onFindOneError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateOne = [\n// ${generateHookFunction(\"beforeUpdateOne\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateOne = [\n// ${generateHookFunction(\"afterUpdateOne\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateOneError = [\n// ${generateHookFunction(\"onUpdateOneError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateOne = [\n// ${generateHookFunction(\"beforeCreateOne\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateOne = [\n// ${generateHookFunction(\"afterCreateOne\", [\"context\", \"result\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onCreateOneError = [\n// ${generateHookFunction(\"onCreateOneError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateMany = [\n// ${generateHookFunction(\"beforeCreateMany\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateMany = [\n// ${generateHookFunction(\"afterCreateMany\", [\"context\", \"result\", \"queryOptions\"])}\n// ];\n\n// export const onCreateManyError = [\n// ${generateHookFunction(\"onCreateManyError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCount = [\n// ${generateHookFunction(\"beforeCount\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterCount = [\n// ${generateHookFunction(\"afterCount\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onCountError = [\n// ${generateHookFunction(\"onCountError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeFindMany = [\n// ${generateHookFunction(\"beforeFindMany\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindMany = [\n// ${generateHookFunction(\"afterFindMany\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindManyError = [\n// ${generateHookFunction(\"onFindManyError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateMany = [\n// ${generateHookFunction(\"beforeUpdateMany\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateMany = [\n// ${generateHookFunction(\"afterUpdateMany\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateManyError = [\n// ${generateHookFunction(\"onUpdateManyError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeDeleteOne = [\n// ${generateHookFunction(\"beforeDeleteOne\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteOne = [\n// ${generateHookFunction(\"afterDeleteOne\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteOneError = [\n// ${generateHookFunction(\"onDeleteOneError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeDeleteMany = [\n// ${generateHookFunction(\"beforeDeleteMany\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteMany = [\n// ${generateHookFunction(\"afterDeleteMany\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteManyError = [\n// ${generateHookFunction(\"onDeleteManyError\", [\"context\", \"error\", \"filters\"])}\n// ];\n`;\n\n return `${baseImports}\n// import { Prisma } from \"@prisma/client\"\n// import ${modelName.camel}Service from ${serviceImport}\n\n${hooks}`;\n}\n"]}
@@ -109,8 +109,6 @@ function generateMiddlewaresTemplate(options) {
109
109
  // next();
110
110
  // }]
111
111
 
112
- // There is not afterFindFile: because the main handler is handleded by express.static()
113
-
114
112
  // export const onFindFileError =
115
113
  // [async (${errorFunctionParams}) => {
116
114
  // next();
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/middlewares-template.ts"],"names":[],"mappings":";;AAGA,kEAsSC;AAzSD,+DAAsE;AAGtE,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;IAC1C,MAAM,YAAY,GAChB,SAAS,CAAC,KAAK,KAAK,YAAY,IAAI,SAAS,CAAC,KAAK,KAAK,aAAa,CAAC;IAGxE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,QAAQ,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAChE,CAAC,CAAC,gBAAgB,CAAC;IAErB,MAAM,mBAAmB,GAAG,YAAY;QACtC,CAAC,CAAC,kBAAkB,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAC1E,CAAC,CAAC,qBAAqB,CAAC;IAE1B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,WAAW;;;eAGV,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;eAId,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,WAAW;;;;eAIV,cAAc;;;;;;;eAOd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAGD,OAAO,GAAG,WAAW;;;eAGR,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateMiddlewaresTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Module name is required for middleware template\");\n\n const isAuth = modelName.camel === \"auth\";\n const isFileUpload =\n modelName.camel === \"fileUpload\" || modelName.camel === \"file-upload\";\n\n // Generate imports based on TypeScript/JavaScript\n const requestType = isTypeScript ? \"ArkosRequest\" : \"req\";\n const responseType = isTypeScript ? \"ArkosResponse\" : \"res\";\n const nextType = isTypeScript ? \"ArkosNextFunction\" : \"next\";\n\n const baseImports = isTypeScript\n ? `import { ArkosRequest, ArkosResponse, ArkosNextFunction } from \"arkos\";`\n : ``;\n\n const functionParams = isTypeScript\n ? `req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `req, res, next`;\n\n const errorFunctionParams = isTypeScript\n ? `err: any, req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `err, req, res, next`;\n\n if (isAuth) {\n return `${baseImports}\n\n// export const beforeGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onGetMeError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLoginError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLogoutError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeSignup = \n// [async (${functionParams}) => {\n// }]\n\n// export const afterSignup = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onSignupError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdatePasswordError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n if (isFileUpload) {\n return `${baseImports}\n\n\n// export const beforeFindF]ile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// There is not afterFindFile: because the main handler is handleded by express.static()\n\n// export const onFindFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUploadFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n // Regular model interceptors\n return `${baseImports}\n\n// export const beforeCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n}\n"]}
1
+ {"version":3,"file":"middlewares-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/middlewares-template.ts"],"names":[],"mappings":";;AAGA,kEAmSC;AAtSD,+DAAsE;AAGtE,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;IAC1C,MAAM,YAAY,GAChB,SAAS,CAAC,KAAK,KAAK,YAAY,IAAI,SAAS,CAAC,KAAK,KAAK,aAAa,CAAC;IAExE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7D,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,QAAQ,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAChE,CAAC,CAAC,gBAAgB,CAAC;IAErB,MAAM,mBAAmB,GAAG,YAAY;QACtC,CAAC,CAAC,kBAAkB,WAAW,UAAU,YAAY,WAAW,QAAQ,EAAE;QAC1E,CAAC,CAAC,qBAAqB,CAAC;IAE1B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,WAAW;;;eAGV,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;eAId,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,WAAW;;;;eAIV,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;IACA,CAAC;IAGD,OAAO,GAAG,WAAW;;;eAGR,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;;;eAKnB,cAAc;;;;;eAKd,cAAc;;;;;eAKd,mBAAmB;;;CAGjC,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateMiddlewaresTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Module name is required for middleware template\");\n\n const isAuth = modelName.camel === \"auth\";\n const isFileUpload =\n modelName.camel === \"fileUpload\" || modelName.camel === \"file-upload\";\n\n const requestType = isTypeScript ? \"ArkosRequest\" : \"req\";\n const responseType = isTypeScript ? \"ArkosResponse\" : \"res\";\n const nextType = isTypeScript ? \"ArkosNextFunction\" : \"next\";\n\n const baseImports = isTypeScript\n ? `import { ArkosRequest, ArkosResponse, ArkosNextFunction } from \"arkos\";`\n : ``;\n\n const functionParams = isTypeScript\n ? `req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `req, res, next`;\n\n const errorFunctionParams = isTypeScript\n ? `err: any, req: ${requestType}, res: ${responseType}, next: ${nextType}`\n : `err, req, res, next`;\n\n if (isAuth) {\n return `${baseImports}\n\n// export const beforeGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterGetMe = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onGetMeError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogin = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLoginError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterLogout = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onLogoutError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeSignup = \n// [async (${functionParams}) => {\n// }]\n\n// export const afterSignup = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onSignupError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdatePassword = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdatePasswordError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n if (isFileUpload) {\n return `${baseImports}\n\n\n// export const beforeFindF]ile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUploadFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUploadFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteFile = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteFileError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n }\n\n // Regular model interceptors\n return `${baseImports}\n\n// export const beforeCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterFindMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onFindManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteOne = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteOneError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterCreateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onCreateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterUpdateMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onUpdateManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n\n// export const beforeDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const afterDeleteMany = \n// [async (${functionParams}) => {\n// next();\n// }]\n\n// export const onDeleteManyError =\n// [async (${errorFunctionParams}) => {\n// next();\n// }]\n`;\n}\n"]}
@@ -8,7 +8,7 @@ function generateQueryOptionsTemplate(options) {
8
8
  const ext = (0, fs_helpers_1.getUserFileExtension)();
9
9
  const isTypeScript = ext === "ts";
10
10
  if (!modelName)
11
- throw new Error("Model name is required for query config template");
11
+ throw new Error("Module name is required for query config template");
12
12
  const imports = isAuth
13
13
  ? `import { AuthPrismaQueryOptions } from 'arkos/prisma'`
14
14
  : `import { PrismaQueryOptions } from 'arkos/prisma'`;
@@ -1 +1 @@
1
- {"version":3,"file":"query-options-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/query-options-template.ts"],"names":[],"mappings":";;AAGA,oEAmEC;AAtED,+DAAsE;AAGtE,SAAgB,4BAA4B,CAAC,OAAwB;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAGtE,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,mDAAmD,CAAC;IAGxD,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,0CAA0C,SAAS,CAAC,KAAK,GAAG;YAC9D,CAAC,CAAC,sCAAsC,SAAS,CAAC,KAAK,GAAG;QAC5D,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,MAAM,EAAE,CAAC;QAEX,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;iBASnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;SAAM,CAAC;QAEN,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;;;;;;;;;;;iBAmBnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;AACH,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateQueryOptionsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const isAuth = modelName?.camel === \"auth\";\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for query config template\");\n\n // Generate imports\n const imports = isAuth\n ? `import { AuthPrismaQueryOptions } from 'arkos/prisma'`\n : `import { PrismaQueryOptions } from 'arkos/prisma'`;\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript\n ? isAuth\n ? `: AuthPrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : `: PrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : \"\";\n\n // Generate prisma import if TypeScript\n const prismaImport = isTypeScript\n ? `import prisma from \"../../utils/prisma\";\\n`\n : \"\";\n\n if (isAuth) {\n // Auth template\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n getMe: {},\n updateMe: {},\n deleteMe: {},\n login: {},\n signup: {},\n updatePassword: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n } else {\n // Regular template\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n global: {},\n find: {},\n findOne: {},\n findMany: {},\n update: {},\n updateMany: {},\n updateOne: {},\n create: {},\n createMany: {},\n createOne: {},\n save: {},\n saveMany: {},\n saveOne: {},\n delete: {},\n deleteMany: {},\n deleteOne: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n }\n}\n"]}
1
+ {"version":3,"file":"query-options-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/query-options-template.ts"],"names":[],"mappings":";;AAGA,oEA8DC;AAjED,+DAAsE;AAGtE,SAAgB,4BAA4B,CAAC,OAAwB;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,mDAAmD,CAAC;IAExD,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,0CAA0C,SAAS,CAAC,KAAK,GAAG;YAC9D,CAAC,CAAC,sCAAsC,SAAS,CAAC,KAAK,GAAG;QAC5D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,4CAA4C;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;iBASnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,YAAY,GAAG,OAAO;;QAE5B,SAAS,CAAC,KAAK,eAAe,cAAc;;;;;;;;;;;;;;;;;;;iBAmBnC,SAAS,CAAC,KAAK;CAC/B,CAAC;IACA,CAAC;AACH,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateQueryOptionsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const isAuth = modelName?.camel === \"auth\";\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Module name is required for query config template\");\n\n const imports = isAuth\n ? `import { AuthPrismaQueryOptions } from 'arkos/prisma'`\n : `import { PrismaQueryOptions } from 'arkos/prisma'`;\n\n const typeAnnotation = isTypeScript\n ? isAuth\n ? `: AuthPrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : `: PrismaQueryOptions<typeof prisma.${modelName.camel}>`\n : \"\";\n\n const prismaImport = isTypeScript\n ? `import prisma from \"../../utils/prisma\";\\n`\n : \"\";\n\n if (isAuth) {\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n getMe: {},\n updateMe: {},\n deleteMe: {},\n login: {},\n signup: {},\n updatePassword: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n } else {\n return `${prismaImport}${imports};\n\nconst ${modelName.camel}QueryOptions${typeAnnotation} = {\n global: {},\n find: {},\n findOne: {},\n findMany: {},\n update: {},\n updateMany: {},\n updateOne: {},\n create: {},\n createMany: {},\n createOne: {},\n save: {},\n saveMany: {},\n saveOne: {},\n delete: {},\n deleteMany: {},\n deleteOne: {},\n}\n\nexport default ${modelName.camel}QueryOptions;\n`;\n }\n}\n"]}
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.generateRouterTemplate = generateRouterTemplate;
7
- const pluralize_1 = __importDefault(require("pluralize"));
8
4
  const fs_helpers_1 = require("../../../../helpers/fs.helpers");
9
5
  function generateRouterTemplate(options) {
10
6
  const { modelName, imports } = options;
@@ -18,13 +14,14 @@ function generateRouterTemplate(options) {
18
14
  const controllerImportLine = controllerExists
19
15
  ? `import ${modelName.camel}Controller from "${imports?.controller ||
20
16
  `./${modelName.kebab}.controller${ext === "js" ? "." + "js" : ""}`}"`
21
- : `// import ${modelName.camel}Controller from "${imports?.controller ||
17
+ : `import ${modelName.camel}Controller from "${imports?.controller ||
22
18
  `./${modelName.kebab}.controller${ext === "js" ? "." + "js" : ""}`}"`;
23
19
  const controllerHandlerLine = controllerExists
24
20
  ? ` ${modelName.camel}Controller.someHandler`
25
- : ` // ${modelName.camel}Controller.someHandler`;
21
+ : ` ${modelName.camel}Controller.someHandler`;
26
22
  return `import { Router } from 'express'
27
23
  import { authService } from 'arkos/services'
24
+ import { catchAsync } from 'arkos/error-handler'
28
25
  ${controllerImportLine}
29
26
  ${routerConfigTsTypeImport}
30
27
 
@@ -32,11 +29,11 @@ export const config${routerConfigTsType} = { }
32
29
 
33
30
  const ${modelName.camel}Router = Router()
34
31
 
35
- ${modelName.camel}Router.post(
36
- '/custom-endpoint', // resolves to /api/${(0, pluralize_1.default)(modelName.kebab)}/custom-endpoint
32
+ ${modelName.camel}Router.get(
33
+ '/custom-endpoint',
37
34
  authService.authenticate,
38
35
  authService.handleAccessControl('CustomAction', '${modelName.kebab}'),
39
- ${controllerHandlerLine}
36
+ catchAsync(${controllerHandlerLine})
40
37
  )
41
38
 
42
39
  export default ${modelName.camel}Router
@@ -1 +1 @@
1
- {"version":3,"file":"router-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/router-template.ts"],"names":[],"mappings":";;;;;AAOA,wDAkDC;AAzDD,0DAAkC;AAClC,+DAGwC;AAGxC,SAAgB,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAG9E,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,cAAc,GAClB,OAAO,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC,KAAK,eAAe,GAAG,EAAE,CAAC;IAElE,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,wBAAwB,GAC5B,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,MAAM,gBAAgB,GAAG,IAAA,4BAAe,EAAC,cAAc,CAAC,CAAC;IAEzD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,oBACvB,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG;QACL,CAAC,CAAC,aAAa,SAAS,CAAC,KAAK,oBAC1B,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG,CAAC;IAER,MAAM,qBAAqB,GAAG,gBAAgB;QAC5C,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,wBAAwB;QAC9C,CAAC,CAAC,QAAQ,SAAS,CAAC,KAAK,wBAAwB,CAAC;IAEpD,OAAO;;EAEP,oBAAoB;EACpB,wBAAwB;;qBAEL,kBAAkB;;QAE/B,SAAS,CAAC,KAAK;;EAErB,SAAS,CAAC,KAAK;4CAC2B,IAAA,mBAAS,EACjD,SAAS,CAAC,KAAK,CAChB;;qDAEkD,SAAS,CAAC,KAAK;EAClE,qBAAqB;;;iBAGN,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import pluralize from \"pluralize\";\nimport {\n checkFileExists,\n getUserFileExtension,\n} from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateRouterTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName) throw new Error(\"Model name is required for router template\");\n\n // Check if controller file exists\n const ext = getUserFileExtension();\n const controllerPath =\n imports?.controller || `./${modelName.kebab}.controller.${ext}`;\n\n const routerConfigTsType = ext === \"ts\" ? \": RouterConfig\" : \"\";\n const routerConfigTsTypeImport =\n ext === \"ts\" ? \"import { RouterConfig } from 'arkos'\" : \"\";\n\n const controllerExists = checkFileExists(controllerPath);\n\n const controllerImportLine = controllerExists\n ? `import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`\n : `// import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`;\n\n const controllerHandlerLine = controllerExists\n ? ` ${modelName.camel}Controller.someHandler`\n : ` // ${modelName.camel}Controller.someHandler`;\n\n return `import { Router } from 'express'\nimport { authService } from 'arkos/services'\n${controllerImportLine}\n${routerConfigTsTypeImport}\n\nexport const config${routerConfigTsType} = { }\n\nconst ${modelName.camel}Router = Router()\n\n${modelName.camel}Router.post(\n '/custom-endpoint', // resolves to /api/${pluralize(\n modelName.kebab\n )}/custom-endpoint\n authService.authenticate,\n authService.handleAccessControl('CustomAction', '${modelName.kebab}'),\n${controllerHandlerLine}\n)\n\nexport default ${modelName.camel}Router\n`;\n}\n"]}
1
+ {"version":3,"file":"router-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/router-template.ts"],"names":[],"mappings":";;AAMA,wDAiDC;AAvDD,+DAGwC;AAGxC,SAAgB,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAG9E,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,cAAc,GAClB,OAAO,EAAE,UAAU,IAAI,KAAK,SAAS,CAAC,KAAK,eAAe,GAAG,EAAE,CAAC;IAElE,MAAM,kBAAkB,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,wBAAwB,GAC5B,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,MAAM,gBAAgB,GAAG,IAAA,4BAAe,EAAC,cAAc,CAAC,CAAC;IAEzD,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,oBACvB,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG;QACL,CAAC,CAAC,UAAU,SAAS,CAAC,KAAK,oBACvB,OAAO,EAAE,UAAU;YACnB,KAAK,SAAS,CAAC,KAAK,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAClE,GAAG,CAAC;IAER,MAAM,qBAAqB,GAAG,gBAAgB;QAC5C,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,wBAAwB;QAC9C,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,wBAAwB,CAAC;IAEjD,OAAO;;;EAGP,oBAAoB;EACpB,wBAAwB;;qBAEL,kBAAkB;;QAE/B,SAAS,CAAC,KAAK;;EAErB,SAAS,CAAC,KAAK;;;qDAGoC,SAAS,CAAC,KAAK;eACrD,qBAAqB;;;iBAGnB,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import {\n checkFileExists,\n getUserFileExtension,\n} from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateRouterTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName) throw new Error(\"Model name is required for router template\");\n\n // Check if controller file exists\n const ext = getUserFileExtension();\n const controllerPath =\n imports?.controller || `./${modelName.kebab}.controller.${ext}`;\n\n const routerConfigTsType = ext === \"ts\" ? \": RouterConfig\" : \"\";\n const routerConfigTsTypeImport =\n ext === \"ts\" ? \"import { RouterConfig } from 'arkos'\" : \"\";\n\n const controllerExists = checkFileExists(controllerPath);\n\n const controllerImportLine = controllerExists\n ? `import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`\n : `import ${modelName.camel}Controller from \"${\n imports?.controller ||\n `./${modelName.kebab}.controller${ext === \"js\" ? \".\" + \"js\" : \"\"}`\n }\"`;\n\n const controllerHandlerLine = controllerExists\n ? ` ${modelName.camel}Controller.someHandler`\n : ` ${modelName.camel}Controller.someHandler`;\n\n return `import { Router } from 'express'\nimport { authService } from 'arkos/services'\nimport { catchAsync } from 'arkos/error-handler'\n${controllerImportLine}\n${routerConfigTsTypeImport}\n\nexport const config${routerConfigTsType} = { }\n\nconst ${modelName.camel}Router = Router()\n\n${modelName.camel}Router.get(\n '/custom-endpoint',\n authService.authenticate,\n authService.handleAccessControl('CustomAction', '${modelName.kebab}'),\n catchAsync(${controllerHandlerLine})\n)\n\nexport default ${modelName.camel}Router\n`;\n}\n"]}