arkos 1.2.13-test.1 → 1.2.13-test.3

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 (264) hide show
  1. package/dist/cjs/app.js +1 -138
  2. package/dist/cjs/exports/auth/index.js +1 -6
  3. package/dist/cjs/exports/controllers/index.js +1 -11
  4. package/dist/cjs/exports/error-handler/index.js +1 -11
  5. package/dist/cjs/exports/index.js +1 -12
  6. package/dist/cjs/exports/middlewares/index.js +1 -7
  7. package/dist/cjs/exports/prisma/index.js +1 -6
  8. package/dist/cjs/exports/services/index.js +1 -49
  9. package/dist/cjs/exports/utils/index.js +1 -44
  10. package/dist/cjs/exports/validation/index.js +1 -11
  11. package/dist/cjs/modules/auth/auth.controller.js +1 -194
  12. package/dist/cjs/modules/auth/auth.router.js +1 -50
  13. package/dist/cjs/modules/auth/auth.service.js +1 -185
  14. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  15. package/dist/cjs/modules/base/base.controller.js +1 -158
  16. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  17. package/dist/cjs/modules/base/base.router.js +1 -24
  18. package/dist/cjs/modules/base/base.service.js +1 -128
  19. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  20. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  21. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
  22. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  23. package/dist/cjs/modules/email/email.service.js +1 -104
  24. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
  25. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  26. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  27. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
  28. package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
  29. package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
  30. package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
  31. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
  32. package/dist/cjs/modules/swagger/swagger.router.js +1 -119
  33. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  34. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -270
  35. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
  36. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
  37. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -29
  38. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -30
  39. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -471
  40. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -575
  41. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -253
  42. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  43. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -105
  44. package/dist/cjs/package.json +3 -0
  45. package/dist/cjs/paths.js +1 -9
  46. package/dist/cjs/server.js +5 -85
  47. package/dist/cjs/server.js.map +1 -1
  48. package/dist/cjs/types/arkos-config.js +1 -3
  49. package/dist/cjs/types/auth.js +1 -3
  50. package/dist/cjs/types/index.js +1 -11
  51. package/dist/cjs/types/router-config.js +1 -3
  52. package/dist/cjs/utils/arkos-env.js +1 -9
  53. package/dist/cjs/utils/cli/build.js +6 -212
  54. package/dist/cjs/utils/cli/dev.js +5 -256
  55. package/dist/cjs/utils/cli/dev.js.map +1 -1
  56. package/dist/cjs/utils/cli/generate.js +12 -189
  57. package/dist/cjs/utils/cli/index.js +1 -81
  58. package/dist/cjs/utils/cli/start.js +5 -94
  59. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
  60. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  61. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +6 -15
  62. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +38 -67
  63. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +8 -36
  64. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
  65. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -27
  66. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  67. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  68. package/dist/cjs/utils/features/api.features.js +1 -167
  69. package/dist/cjs/utils/features/change-case.features.js +1 -67
  70. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  71. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  72. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  73. package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
  74. package/dist/cjs/utils/helpers/global.helpers.js +1 -89
  75. package/dist/cjs/utils/helpers/models.helpers.js +11 -339
  76. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
  77. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  78. package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
  79. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  80. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -451
  81. package/dist/cjs/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -1
  82. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -88
  83. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -158
  84. package/dist/cjs/utils/prisma/types.js +1 -3
  85. package/dist/cjs/utils/sheu.js +1 -119
  86. package/dist/cjs/utils/validate-dto.js +1 -17
  87. package/dist/cjs/utils/validate-schema.js +1 -15
  88. package/dist/esm/app.js +1 -0
  89. package/dist/esm/app.js.map +1 -0
  90. package/dist/esm/exports/auth/index.js +1 -0
  91. package/dist/esm/exports/auth/index.js.map +1 -0
  92. package/dist/esm/exports/controllers/index.js +1 -0
  93. package/dist/esm/exports/controllers/index.js.map +1 -0
  94. package/dist/esm/exports/error-handler/index.js +1 -0
  95. package/dist/esm/exports/error-handler/index.js.map +1 -0
  96. package/dist/esm/exports/index.js +1 -0
  97. package/dist/esm/exports/index.js.map +1 -0
  98. package/dist/esm/exports/middlewares/index.js +1 -0
  99. package/dist/esm/exports/middlewares/index.js.map +1 -0
  100. package/dist/esm/exports/prisma/index.js +1 -0
  101. package/dist/esm/exports/prisma/index.js.map +1 -0
  102. package/dist/esm/exports/services/index.js +1 -0
  103. package/dist/esm/exports/services/index.js.map +1 -0
  104. package/dist/esm/exports/utils/index.js +1 -0
  105. package/dist/esm/exports/utils/index.js.map +1 -0
  106. package/dist/esm/exports/validation/index.js +1 -0
  107. package/dist/esm/exports/validation/index.js.map +1 -0
  108. package/dist/esm/modules/auth/auth.controller.js +1 -0
  109. package/dist/esm/modules/auth/auth.controller.js.map +1 -0
  110. package/dist/esm/modules/auth/auth.router.js +1 -0
  111. package/dist/esm/modules/auth/auth.router.js.map +1 -0
  112. package/dist/esm/modules/auth/auth.service.js +1 -0
  113. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  114. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
  115. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -0
  116. package/dist/esm/modules/base/base.controller.js +1 -0
  117. package/dist/esm/modules/base/base.controller.js.map +1 -0
  118. package/dist/esm/modules/base/base.middlewares.js +1 -0
  119. package/dist/esm/modules/base/base.middlewares.js.map +1 -0
  120. package/dist/esm/modules/base/base.router.js +1 -0
  121. package/dist/esm/modules/base/base.router.js.map +1 -0
  122. package/dist/esm/modules/base/base.service.js +1 -0
  123. package/dist/esm/modules/base/base.service.js.map +1 -0
  124. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -0
  125. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -0
  126. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -0
  127. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js.map +1 -0
  128. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -0
  129. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  130. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -0
  131. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -0
  132. package/dist/esm/modules/email/email.service.js +1 -0
  133. package/dist/esm/modules/email/email.service.js.map +1 -0
  134. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -0
  135. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
  136. package/dist/esm/modules/error-handler/utils/app-error.js +1 -0
  137. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -0
  138. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -0
  139. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
  140. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -0
  141. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  142. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -0
  143. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -0
  144. package/dist/esm/modules/file-upload/file-upload.router.js +1 -0
  145. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -0
  146. package/dist/esm/modules/file-upload/file-upload.service.js +1 -0
  147. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -0
  148. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -0
  149. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -0
  150. package/dist/esm/modules/swagger/swagger.router.js +1 -0
  151. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  152. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -0
  153. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  154. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -0
  155. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  156. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -0
  157. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  158. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -0
  159. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  160. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +1 -0
  161. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  162. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +1 -0
  163. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  164. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +1 -0
  165. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  166. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  167. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  168. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -0
  169. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  170. package/dist/esm/package.json +3 -0
  171. package/dist/esm/paths.js +1 -0
  172. package/dist/esm/paths.js.map +1 -0
  173. package/dist/esm/server.js +5 -0
  174. package/dist/esm/server.js.map +1 -0
  175. package/dist/esm/types/arkos-config.js +1 -0
  176. package/dist/esm/types/arkos-config.js.map +1 -0
  177. package/dist/esm/types/auth.js +1 -0
  178. package/dist/esm/types/auth.js.map +1 -0
  179. package/dist/esm/types/index.js +1 -0
  180. package/dist/esm/types/index.js.map +1 -0
  181. package/dist/esm/types/router-config.js +1 -0
  182. package/dist/esm/types/router-config.js.map +1 -0
  183. package/dist/esm/utils/arkos-env.js +1 -0
  184. package/dist/esm/utils/arkos-env.js.map +1 -0
  185. package/dist/esm/utils/cli/build.js +6 -0
  186. package/dist/esm/utils/cli/build.js.map +1 -0
  187. package/dist/esm/utils/cli/dev.js +5 -0
  188. package/dist/esm/utils/cli/dev.js.map +1 -0
  189. package/dist/esm/utils/cli/generate.js +12 -0
  190. package/dist/esm/utils/cli/generate.js.map +1 -0
  191. package/dist/esm/utils/cli/index.js +1 -0
  192. package/dist/esm/utils/cli/index.js.map +1 -0
  193. package/dist/esm/utils/cli/start.js +5 -0
  194. package/dist/esm/utils/cli/start.js.map +1 -0
  195. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -0
  196. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  197. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +21 -0
  198. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +1 -0
  199. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +12 -0
  200. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
  201. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +206 -0
  202. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
  203. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +36 -0
  204. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
  205. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +18 -0
  206. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
  207. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +15 -0
  208. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -0
  209. package/dist/esm/utils/cli/utils/template-generators.js +2 -0
  210. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -0
  211. package/dist/esm/utils/dotenv.helpers.js +1 -0
  212. package/dist/esm/utils/dotenv.helpers.js.map +1 -0
  213. package/dist/esm/utils/features/api.features.js +1 -0
  214. package/dist/esm/utils/features/api.features.js.map +1 -0
  215. package/dist/esm/utils/features/change-case.features.js +1 -0
  216. package/dist/esm/utils/features/change-case.features.js.map +1 -0
  217. package/dist/esm/utils/helpers/api.features.helpers.js +1 -0
  218. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -0
  219. package/dist/esm/utils/helpers/change-case.helpers.js +1 -0
  220. package/dist/esm/utils/helpers/change-case.helpers.js.map +1 -0
  221. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -0
  222. package/dist/esm/utils/helpers/deepmerge.helper.js.map +1 -0
  223. package/dist/esm/utils/helpers/fs.helpers.js +1 -0
  224. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  225. package/dist/esm/utils/helpers/global.helpers.js +1 -0
  226. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  227. package/dist/esm/utils/helpers/models.helpers.js +11 -0
  228. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  229. package/dist/esm/utils/helpers/prisma.helpers.js +1 -0
  230. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
  231. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -0
  232. package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -0
  233. package/dist/esm/utils/helpers/routers.helpers.js +1 -0
  234. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -0
  235. package/dist/esm/utils/helpers/text.helpers.js +1 -0
  236. package/dist/esm/utils/helpers/text.helpers.js.map +1 -0
  237. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js +1 -0
  238. package/dist/esm/utils/prisma/enhaced-prisma-json-schema-generator.js.map +1 -0
  239. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
  240. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  241. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
  242. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  243. package/dist/esm/utils/prisma/types.js +1 -0
  244. package/dist/esm/utils/prisma/types.js.map +1 -0
  245. package/dist/esm/utils/sheu.js +1 -0
  246. package/dist/esm/utils/sheu.js.map +1 -0
  247. package/dist/esm/utils/validate-dto.js +1 -0
  248. package/dist/esm/utils/validate-dto.js.map +1 -0
  249. package/dist/esm/utils/validate-schema.js +1 -0
  250. package/dist/esm/utils/validate-schema.js.map +1 -0
  251. package/package.json +6 -4
  252. package/dist/cjs/index.js +0 -22
  253. package/dist/esm/index.d.mts +0 -280
  254. package/dist/esm/index.mjs +0 -22
  255. package/dist/exports/index.js +0 -1
  256. package/dist/types/arkos-config.js +0 -1
  257. package/dist/types/auth.js +0 -1
  258. package/dist/types/index.js +0 -1
  259. package/dist/types/router-config.js +0 -1
  260. package/dist/utils/arkos-env.js +0 -1
  261. package/dist/utils/dotenv.helpers.js +0 -1
  262. package/dist/utils/sheu.js +0 -1
  263. package/dist/utils/validate-dto.js +0 -1
  264. package/dist/utils/validate-schema.js +0 -1
@@ -1,471 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generatePrismaModelMainRoutesPaths = generatePrismaModelMainRoutesPaths;
7
- const swagger_router_helpers_1 = require("../../swagger.router.helpers");
8
- const pluralize_1 = __importDefault(require("pluralize"));
9
- const base_router_helpers_1 = require("../../../../../base/utils/helpers/base.router.helpers");
10
- const utils_1 = require("../../../../../../exports/utils");
11
- const models_helpers_1 = require("../../../../../../utils/helpers/models.helpers");
12
- async function generatePrismaModelMainRoutesPaths(model, paths, arkosConfig) {
13
- const modelName = (0, utils_1.kebabCase)(model);
14
- const routeName = pluralize_1.default.plural(modelName);
15
- const pascalModelName = (0, utils_1.pascalCase)(model);
16
- const humanReadableName = (0, swagger_router_helpers_1.kebabToHuman)(modelName);
17
- const humanReadableNamePlural = pluralize_1.default.plural(humanReadableName);
18
- const modelModules = await (0, models_helpers_1.importPrismaModelModules)(model, arkosConfig);
19
- const routerConfig = modelModules?.router?.config;
20
- if (routerConfig?.disable === true)
21
- return;
22
- const getSchemaMode = async (action) => {
23
- const swaggerMode = arkosConfig.swagger?.mode;
24
- const isStrict = arkosConfig.swagger?.strict;
25
- if (isStrict) {
26
- return swaggerMode || "prisma";
27
- }
28
- const actionKey = action;
29
- const localFileExists = await (0, models_helpers_1.localValidatorFileExists)(actionKey, model, arkosConfig);
30
- if (!localFileExists)
31
- return "prisma";
32
- return swaggerMode || "prisma";
33
- };
34
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "createOne")) {
35
- if (!paths[`/api/${routeName}`])
36
- paths[`/api/${routeName}`] = {};
37
- const createMode = await getSchemaMode("create");
38
- paths[`/api/${routeName}`].post = {
39
- tags: [humanReadableNamePlural],
40
- summary: `Create a new ${humanReadableName}`,
41
- description: `Creates a new ${humanReadableName} record in the system`,
42
- operationId: `create${pascalModelName}`,
43
- requestBody: {
44
- description: `${humanReadableName} data to create`,
45
- required: true,
46
- content: {
47
- "application/json": {
48
- schema: {
49
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Create${pascalModelName}`, createMode),
50
- },
51
- },
52
- },
53
- },
54
- responses: {
55
- "201": {
56
- description: `${humanReadableName} created successfully`,
57
- content: {
58
- "application/json": {
59
- schema: {
60
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, createMode),
61
- },
62
- },
63
- },
64
- },
65
- "400": {
66
- description: "Invalid input data provided",
67
- },
68
- "401": {
69
- description: "Authentication required",
70
- },
71
- "403": {
72
- description: "Insufficient permissions",
73
- },
74
- },
75
- security: [{ BearerAuth: [] }],
76
- };
77
- }
78
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "findMany")) {
79
- if (!paths[`/api/${routeName}`])
80
- paths[`/api/${routeName}`] = {};
81
- const findManyMode = await getSchemaMode("findMany");
82
- paths[`/api/${routeName}`].get = {
83
- tags: [humanReadableNamePlural],
84
- summary: `Get ${humanReadableNamePlural}`,
85
- description: `Retrieves a paginated list of ${humanReadableNamePlural} with optional filtering and sorting`,
86
- operationId: `find${pluralize_1.default.plural(pascalModelName)}`,
87
- parameters: [
88
- {
89
- name: "filter",
90
- in: "query",
91
- description: "Filter criteria in JSON format",
92
- schema: {
93
- type: "string",
94
- },
95
- },
96
- {
97
- name: "sort",
98
- in: "query",
99
- description: "Sort field (prefix with '-' for descending order)",
100
- schema: {
101
- type: "string",
102
- },
103
- },
104
- {
105
- name: "page",
106
- in: "query",
107
- description: "Page number (starts from 1)",
108
- schema: {
109
- type: "integer",
110
- minimum: 1,
111
- },
112
- },
113
- {
114
- name: "limit",
115
- in: "query",
116
- description: "Number of items per page",
117
- schema: {
118
- type: "integer",
119
- minimum: 1,
120
- maximum: 100,
121
- },
122
- },
123
- {
124
- name: "fields",
125
- in: "query",
126
- description: "Comma-separated list of fields to include in response",
127
- schema: {
128
- type: "string",
129
- },
130
- },
131
- ],
132
- responses: {
133
- "200": {
134
- description: `List of ${humanReadableNamePlural} retrieved successfully`,
135
- content: {
136
- "application/json": {
137
- schema: {
138
- type: "object",
139
- properties: {
140
- total: {
141
- type: "integer",
142
- description: "Total number of records matching the criteria",
143
- },
144
- results: {
145
- type: "integer",
146
- description: "Number of records returned in current page",
147
- },
148
- data: {
149
- type: "array",
150
- items: {
151
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`FindMany${pascalModelName}`, findManyMode),
152
- },
153
- },
154
- },
155
- },
156
- },
157
- },
158
- },
159
- "401": {
160
- description: "Authentication required",
161
- },
162
- "403": {
163
- description: "Insufficient permissions",
164
- },
165
- },
166
- security: [{ BearerAuth: [] }],
167
- };
168
- }
169
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "createMany")) {
170
- const createManyMode = await getSchemaMode("createMany");
171
- paths[`/api/${routeName}/many`] = {
172
- post: {
173
- tags: [humanReadableNamePlural],
174
- summary: `Create multiple ${humanReadableNamePlural}`,
175
- description: `Creates multiple ${humanReadableNamePlural} records in a single batch operation`,
176
- operationId: `createMany${pascalModelName}`,
177
- requestBody: {
178
- description: `Array of ${humanReadableName} data to create`,
179
- required: true,
180
- content: {
181
- "application/json": {
182
- schema: {
183
- type: "array",
184
- items: {
185
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`CreateMany${pascalModelName}`, createManyMode),
186
- },
187
- },
188
- },
189
- },
190
- },
191
- responses: {
192
- "201": {
193
- description: `${humanReadableNamePlural} created successfully`,
194
- content: {
195
- "application/json": {
196
- schema: {
197
- type: "object",
198
- properties: {
199
- count: {
200
- type: "integer",
201
- description: "Number of records created",
202
- },
203
- },
204
- },
205
- },
206
- },
207
- },
208
- "400": {
209
- description: "Invalid input data provided",
210
- },
211
- "401": {
212
- description: "Authentication required",
213
- },
214
- "403": {
215
- description: "Insufficient permissions",
216
- },
217
- },
218
- security: [{ BearerAuth: [] }],
219
- },
220
- };
221
- }
222
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "updateMany")) {
223
- if (!paths[`/api/${routeName}/many`])
224
- paths[`/api/${routeName}/many`] = {};
225
- const updateManyMode = await getSchemaMode("updateMany");
226
- paths[`/api/${routeName}/many`].patch = {
227
- tags: [humanReadableNamePlural],
228
- summary: `Update multiple ${humanReadableNamePlural}`,
229
- description: `Updates multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
230
- operationId: `updateMany${pascalModelName}`,
231
- parameters: [
232
- {
233
- name: "filter",
234
- in: "query",
235
- description: "Filter criteria in JSON format (required)",
236
- required: true,
237
- schema: {
238
- type: "string",
239
- },
240
- },
241
- ],
242
- requestBody: {
243
- description: `Partial ${humanReadableName} data to update`,
244
- required: true,
245
- content: {
246
- "application/json": {
247
- schema: {
248
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`UpdateMany${pascalModelName}`, updateManyMode),
249
- },
250
- },
251
- },
252
- },
253
- responses: {
254
- "200": {
255
- description: `${humanReadableNamePlural} updated successfully`,
256
- content: {
257
- "application/json": {
258
- schema: {
259
- type: "object",
260
- properties: {
261
- count: {
262
- type: "integer",
263
- description: "Number of records updated",
264
- },
265
- },
266
- },
267
- },
268
- },
269
- },
270
- "400": {
271
- description: "Invalid input data or missing filter criteria",
272
- },
273
- "401": {
274
- description: "Authentication required",
275
- },
276
- "403": {
277
- description: "Insufficient permissions",
278
- },
279
- },
280
- security: [{ BearerAuth: [] }],
281
- };
282
- }
283
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "deleteMany")) {
284
- if (!paths[`/api/${routeName}/many`])
285
- paths[`/api/${routeName}/many`] = {};
286
- paths[`/api/${routeName}/many`].delete = {
287
- tags: [humanReadableNamePlural],
288
- summary: `Delete multiple ${humanReadableNamePlural}`,
289
- description: `Deletes multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
290
- operationId: `deleteMany${pascalModelName}`,
291
- parameters: [
292
- {
293
- name: "filter",
294
- in: "query",
295
- description: "Filter criteria in JSON format (required)",
296
- required: true,
297
- schema: {
298
- type: "string",
299
- },
300
- },
301
- ],
302
- responses: {
303
- "200": {
304
- description: `${humanReadableNamePlural} deleted successfully`,
305
- content: {
306
- "application/json": {
307
- schema: {
308
- type: "object",
309
- properties: {
310
- count: {
311
- type: "integer",
312
- description: "Number of records deleted",
313
- },
314
- },
315
- },
316
- },
317
- },
318
- },
319
- "400": {
320
- description: "Missing filter criteria",
321
- },
322
- "401": {
323
- description: "Authentication required",
324
- },
325
- "403": {
326
- description: "Insufficient permissions",
327
- },
328
- },
329
- security: [{ BearerAuth: [] }],
330
- };
331
- }
332
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "findOne")) {
333
- const findOneMode = await getSchemaMode("findOne");
334
- paths[`/api/${routeName}/{id}`] = {
335
- get: {
336
- tags: [humanReadableNamePlural],
337
- summary: `Get ${humanReadableName} by ID`,
338
- description: `Retrieves a single ${humanReadableName} record by its unique identifier`,
339
- operationId: `find${pascalModelName}ById`,
340
- parameters: [
341
- {
342
- name: "id",
343
- in: "path",
344
- description: `Unique identifier of the ${humanReadableName}`,
345
- required: true,
346
- schema: {
347
- type: "string",
348
- },
349
- },
350
- ],
351
- responses: {
352
- "200": {
353
- description: `${humanReadableName} retrieved successfully`,
354
- content: {
355
- "application/json": {
356
- schema: {
357
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`FindOne${pascalModelName}`, findOneMode),
358
- },
359
- },
360
- },
361
- },
362
- "401": {
363
- description: "Authentication required",
364
- },
365
- "403": {
366
- description: "Insufficient permissions",
367
- },
368
- "404": {
369
- description: `${humanReadableName} not found`,
370
- },
371
- },
372
- security: [{ BearerAuth: [] }],
373
- },
374
- };
375
- }
376
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "updateOne")) {
377
- if (!paths[`/api/${routeName}/{id}`])
378
- paths[`/api/${routeName}/{id}`] = {};
379
- const updateMode = await getSchemaMode("update");
380
- paths[`/api/${routeName}/{id}`].patch = {
381
- tags: [humanReadableNamePlural],
382
- summary: `Update ${humanReadableName} by ID`,
383
- description: `Updates a single ${humanReadableName} record by its unique identifier`,
384
- operationId: `update${pascalModelName}`,
385
- parameters: [
386
- {
387
- name: "id",
388
- in: "path",
389
- description: `Unique identifier of the ${humanReadableName}`,
390
- required: true,
391
- schema: {
392
- type: "string",
393
- },
394
- },
395
- ],
396
- requestBody: {
397
- description: `Partial ${humanReadableName} data to update`,
398
- required: true,
399
- content: {
400
- "application/json": {
401
- schema: {
402
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Update${pascalModelName}`, updateMode),
403
- },
404
- },
405
- },
406
- },
407
- responses: {
408
- "200": {
409
- description: `${humanReadableName} updated successfully`,
410
- content: {
411
- "application/json": {
412
- schema: {
413
- $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, updateMode),
414
- },
415
- },
416
- },
417
- },
418
- "400": {
419
- description: "Invalid input data provided",
420
- },
421
- "401": {
422
- description: "Authentication required",
423
- },
424
- "403": {
425
- description: "Insufficient permissions",
426
- },
427
- "404": {
428
- description: `${humanReadableName} not found`,
429
- },
430
- },
431
- security: [{ BearerAuth: [] }],
432
- };
433
- }
434
- if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "deleteOne")) {
435
- if (!paths[`/api/${routeName}/{id}`])
436
- paths[`/api/${routeName}/{id}`] = {};
437
- paths[`/api/${routeName}/{id}`].delete = {
438
- tags: [humanReadableNamePlural],
439
- summary: `Delete ${humanReadableName} by ID`,
440
- description: `Permanently deletes a single ${humanReadableName} record by its unique identifier`,
441
- operationId: `delete${pascalModelName}`,
442
- parameters: [
443
- {
444
- name: "id",
445
- in: "path",
446
- description: `Unique identifier of the ${humanReadableName}`,
447
- required: true,
448
- schema: {
449
- type: "string",
450
- },
451
- },
452
- ],
453
- responses: {
454
- "204": {
455
- description: `${humanReadableName} deleted successfully`,
456
- },
457
- "401": {
458
- description: "Authentication required",
459
- },
460
- "403": {
461
- description: "Insufficient permissions",
462
- },
463
- "404": {
464
- description: `${humanReadableName} not found`,
465
- },
466
- },
467
- security: [{ BearerAuth: [] }],
468
- };
469
- }
470
- }
471
- //# sourceMappingURL=generate-prisma-model-main-routes.js.map
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generatePrismaModelMainRoutesPaths=generatePrismaModelMainRoutesPaths;const swagger_router_helpers_1=require("../../swagger.router.helpers"),pluralize_1=__importDefault(require("pluralize")),base_router_helpers_1=require("../../../../../base/utils/helpers/base.router.helpers"),utils_1=require("../../../../../../exports/utils"),models_helpers_1=require("../../../../../../utils/helpers/models.helpers");async function generatePrismaModelMainRoutesPaths(a,i,c){const p=(0,utils_1.kebabCase)(a),t=pluralize_1.default.plural(p),n=(0,utils_1.pascalCase)(a),e=(0,swagger_router_helpers_1.kebabToHuman)(p),r=pluralize_1.default.plural(e),o=(await(0,models_helpers_1.importPrismaModelModules)(a,c))?.router?.config;if(o?.disable===!0)return;const d=async s=>{const u=c.swagger?.mode;if(c.swagger?.strict)return u||"prisma";const l=s;return await(0,models_helpers_1.localValidatorFileExists)(l,a,c)&&u||"prisma"};if(!(0,base_router_helpers_1.isEndpointDisabled)(o,"createOne")){i[`/api/${t}`]||(i[`/api/${t}`]={});const s=await d("create");i[`/api/${t}`].post={tags:[r],summary:`Create a new ${e}`,description:`Creates a new ${e} record in the system`,operationId:`create${n}`,requestBody:{description:`${e} data to create`,required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`Create${n}`,s)}}}},responses:{201:{description:`${e} created successfully`,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`${n}`,s)}}}},400:{description:"Invalid input data provided"},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}},security:[{BearerAuth:[]}]}}if(!(0,base_router_helpers_1.isEndpointDisabled)(o,"findMany")){i[`/api/${t}`]||(i[`/api/${t}`]={});const s=await d("findMany");i[`/api/${t}`].get={tags:[r],summary:`Get ${r}`,description:`Retrieves a paginated list of ${r} with optional filtering and sorting`,operationId:`find${pluralize_1.default.plural(n)}`,parameters:[{name:"filter",in:"query",description:"Filter criteria in JSON format",schema:{type:"string"}},{name:"sort",in:"query",description:"Sort field (prefix with '-' for descending order)",schema:{type:"string"}},{name:"page",in:"query",description:"Page number (starts from 1)",schema:{type:"integer",minimum:1}},{name:"limit",in:"query",description:"Number of items per page",schema:{type:"integer",minimum:1,maximum:100}},{name:"fields",in:"query",description:"Comma-separated list of fields to include in response",schema:{type:"string"}}],responses:{200:{description:`List of ${r} retrieved successfully`,content:{"application/json":{schema:{type:"object",properties:{total:{type:"integer",description:"Total number of records matching the criteria"},results:{type:"integer",description:"Number of records returned in current page"},data:{type:"array",items:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`FindMany${n}`,s)}}}}}}},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}},security:[{BearerAuth:[]}]}}if(!(0,base_router_helpers_1.isEndpointDisabled)(o,"createMany")){const s=await d("createMany");i[`/api/${t}/many`]={post:{tags:[r],summary:`Create multiple ${r}`,description:`Creates multiple ${r} records in a single batch operation`,operationId:`createMany${n}`,requestBody:{description:`Array of ${e} data to create`,required:!0,content:{"application/json":{schema:{type:"array",items:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`CreateMany${n}`,s)}}}}},responses:{201:{description:`${r} created successfully`,content:{"application/json":{schema:{type:"object",properties:{count:{type:"integer",description:"Number of records created"}}}}}},400:{description:"Invalid input data provided"},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}},security:[{BearerAuth:[]}]}}}if(!(0,base_router_helpers_1.isEndpointDisabled)(o,"updateMany")){i[`/api/${t}/many`]||(i[`/api/${t}/many`]={});const s=await d("updateMany");i[`/api/${t}/many`].patch={tags:[r],summary:`Update multiple ${r}`,description:`Updates multiple ${r} records that match the specified filter criteria`,operationId:`updateMany${n}`,parameters:[{name:"filter",in:"query",description:"Filter criteria in JSON format (required)",required:!0,schema:{type:"string"}}],requestBody:{description:`Partial ${e} data to update`,required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`UpdateMany${n}`,s)}}}},responses:{200:{description:`${r} updated successfully`,content:{"application/json":{schema:{type:"object",properties:{count:{type:"integer",description:"Number of records updated"}}}}}},400:{description:"Invalid input data or missing filter criteria"},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}},security:[{BearerAuth:[]}]}}if((0,base_router_helpers_1.isEndpointDisabled)(o,"deleteMany")||(i[`/api/${t}/many`]||(i[`/api/${t}/many`]={}),i[`/api/${t}/many`].delete={tags:[r],summary:`Delete multiple ${r}`,description:`Deletes multiple ${r} records that match the specified filter criteria`,operationId:`deleteMany${n}`,parameters:[{name:"filter",in:"query",description:"Filter criteria in JSON format (required)",required:!0,schema:{type:"string"}}],responses:{200:{description:`${r} deleted successfully`,content:{"application/json":{schema:{type:"object",properties:{count:{type:"integer",description:"Number of records deleted"}}}}}},400:{description:"Missing filter criteria"},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}},security:[{BearerAuth:[]}]}),!(0,base_router_helpers_1.isEndpointDisabled)(o,"findOne")){const s=await d("findOne");i[`/api/${t}/{id}`]={get:{tags:[r],summary:`Get ${e} by ID`,description:`Retrieves a single ${e} record by its unique identifier`,operationId:`find${n}ById`,parameters:[{name:"id",in:"path",description:`Unique identifier of the ${e}`,required:!0,schema:{type:"string"}}],responses:{200:{description:`${e} retrieved successfully`,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`FindOne${n}`,s)}}}},401:{description:"Authentication required"},403:{description:"Insufficient permissions"},404:{description:`${e} not found`}},security:[{BearerAuth:[]}]}}}if(!(0,base_router_helpers_1.isEndpointDisabled)(o,"updateOne")){i[`/api/${t}/{id}`]||(i[`/api/${t}/{id}`]={});const s=await d("update");i[`/api/${t}/{id}`].patch={tags:[r],summary:`Update ${e} by ID`,description:`Updates a single ${e} record by its unique identifier`,operationId:`update${n}`,parameters:[{name:"id",in:"path",description:`Unique identifier of the ${e}`,required:!0,schema:{type:"string"}}],requestBody:{description:`Partial ${e} data to update`,required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`Update${n}`,s)}}}},responses:{200:{description:`${e} updated successfully`,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)(`${n}`,s)}}}},400:{description:"Invalid input data provided"},401:{description:"Authentication required"},403:{description:"Insufficient permissions"},404:{description:`${e} not found`}},security:[{BearerAuth:[]}]}}(0,base_router_helpers_1.isEndpointDisabled)(o,"deleteOne")||(i[`/api/${t}/{id}`]||(i[`/api/${t}/{id}`]={}),i[`/api/${t}/{id}`].delete={tags:[r],summary:`Delete ${e} by ID`,description:`Permanently deletes a single ${e} record by its unique identifier`,operationId:`delete${n}`,parameters:[{name:"id",in:"path",description:`Unique identifier of the ${e}`,required:!0,schema:{type:"string"}}],responses:{204:{description:`${e} deleted successfully`},401:{description:"Authentication required"},403:{description:"Insufficient permissions"},404:{description:`${e} not found`}},security:[{BearerAuth:[]}]})}