arkos 0.1.26-beta.1 → 0.2.0-beta.1

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 (228) hide show
  1. package/README.md +4 -8
  2. package/dist/cjs/app.js +1 -127
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/auth/index.js +6 -0
  5. package/dist/cjs/exports/auth/index.js.map +1 -0
  6. package/dist/cjs/exports/error-handler/index.js +0 -5
  7. package/dist/cjs/exports/error-handler/index.js.map +1 -1
  8. package/dist/cjs/exports/index.js.map +1 -1
  9. package/dist/cjs/exports/prisma/index.js +3 -0
  10. package/dist/cjs/exports/prisma/index.js.map +1 -0
  11. package/dist/cjs/exports/utils/change-case.js +18 -0
  12. package/dist/cjs/exports/utils/change-case.js.map +1 -0
  13. package/dist/cjs/exports/utils/index.js +1 -8
  14. package/dist/cjs/exports/utils/index.js.map +1 -1
  15. package/dist/cjs/exports/validation/index.js +1 -5
  16. package/dist/cjs/exports/validation/index.js.map +1 -1
  17. package/dist/cjs/modules/auth/__tests__/auth.controller.test.js +514 -0
  18. package/dist/cjs/modules/auth/__tests__/auth.controller.test.js.map +1 -0
  19. package/dist/cjs/modules/auth/auth.controller.js +100 -211
  20. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  21. package/dist/cjs/modules/auth/auth.router.js +57 -49
  22. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  23. package/dist/cjs/modules/auth/auth.service.js +94 -64
  24. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  25. package/dist/cjs/modules/auth/utils/helpers/__tests__/auth.helpers.test.js +45 -0
  26. package/dist/cjs/modules/auth/utils/helpers/__tests__/auth.helpers.test.js.map +1 -0
  27. package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js +13 -0
  28. package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
  29. package/dist/cjs/modules/base/base.controller.js +116 -244
  30. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  31. package/dist/cjs/modules/base/base.middlewares.js +18 -21
  32. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  33. package/dist/cjs/modules/base/base.router.js +42 -35
  34. package/dist/cjs/modules/base/base.router.js.map +1 -1
  35. package/dist/cjs/modules/base/base.service.js +126 -115
  36. package/dist/cjs/modules/base/base.service.js.map +1 -1
  37. package/dist/cjs/modules/base/utils/helpers/__tests__/base.helpers.test.js +478 -0
  38. package/dist/cjs/modules/base/utils/helpers/__tests__/base.helpers.test.js.map +1 -0
  39. package/dist/cjs/modules/base/utils/helpers/base.helpers.js +156 -0
  40. package/dist/cjs/modules/base/utils/helpers/base.helpers.js.map +1 -0
  41. package/dist/cjs/modules/email/email.service.js +21 -14
  42. package/dist/cjs/modules/email/email.service.js.map +1 -1
  43. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -3
  44. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  45. package/dist/cjs/modules/error-handler/utils/catch-async.js +16 -4
  46. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  47. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +31 -17
  48. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  49. package/dist/cjs/modules/file-uploader/file-uploader.controller.js +164 -0
  50. package/dist/cjs/modules/file-uploader/file-uploader.controller.js.map +1 -0
  51. package/dist/cjs/modules/file-uploader/file-uploader.router.js +35 -0
  52. package/dist/cjs/modules/file-uploader/file-uploader.router.js.map +1 -0
  53. package/dist/cjs/modules/file-uploader/file-uploader.service.js +17 -8
  54. package/dist/cjs/modules/file-uploader/file-uploader.service.js.map +1 -1
  55. package/dist/cjs/paths.js +1 -9
  56. package/dist/cjs/scripts/create-test.js +35 -0
  57. package/dist/cjs/scripts/create-test.js.map +1 -0
  58. package/dist/cjs/server.js +1 -43
  59. package/dist/cjs/server.js.map +1 -1
  60. package/dist/cjs/utils/arkos-env.js +1 -0
  61. package/dist/cjs/utils/arkos-env.js.map +1 -1
  62. package/dist/cjs/utils/features/api.features.js +56 -60
  63. package/dist/cjs/utils/features/api.features.js.map +1 -1
  64. package/dist/cjs/utils/features/change-case.features.js +67 -0
  65. package/dist/cjs/utils/features/change-case.features.js.map +1 -0
  66. package/dist/cjs/utils/helpers/api.features.helpers.js +2 -1
  67. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  68. package/dist/cjs/utils/helpers/base.controller.helpers.js +39 -0
  69. package/dist/cjs/utils/helpers/base.controller.helpers.js.map +1 -0
  70. package/dist/cjs/utils/helpers/change-case.helpers.js +185 -0
  71. package/dist/cjs/utils/helpers/change-case.helpers.js.map +1 -0
  72. package/dist/cjs/utils/helpers/deepmerge.helper.js +119 -0
  73. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +1 -0
  74. package/dist/cjs/utils/helpers/fs.helpers.js +28 -3
  75. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  76. package/dist/cjs/utils/helpers/models.helpers.js +152 -120
  77. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  78. package/dist/cjs/utils/helpers/pluralize.helpers.js +3 -0
  79. package/dist/cjs/utils/helpers/pluralize.helpers.js.map +1 -0
  80. package/dist/cjs/utils/helpers/prisma.helpers.js +20 -41
  81. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  82. package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -0
  83. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +1 -0
  84. package/dist/cjs/utils/scripts/export-prisma-types.js +33 -33
  85. package/dist/cjs/utils/scripts/export-prisma-types.js.map +1 -1
  86. package/dist/cjs/utils/scripts/generate-zod-schemas.js +107 -94
  87. package/dist/cjs/utils/scripts/generate-zod-schemas.js.map +1 -1
  88. package/dist/cjs/utils/validate-dto.js +16 -12
  89. package/dist/cjs/utils/validate-dto.js.map +1 -1
  90. package/dist/cjs/utils/validate-schema.js +26 -0
  91. package/dist/cjs/utils/validate-schema.js.map +1 -0
  92. package/dist/es2020/app.js +1 -88
  93. package/dist/es2020/app.js.map +1 -1
  94. package/dist/es2020/exports/auth/index.js +6 -0
  95. package/dist/es2020/exports/auth/index.js.map +1 -0
  96. package/dist/es2020/exports/error-handler/index.js +9 -7
  97. package/dist/es2020/exports/error-handler/index.js.map +1 -1
  98. package/dist/es2020/exports/index.js +5 -3
  99. package/dist/es2020/exports/index.js.map +1 -1
  100. package/dist/es2020/exports/prisma/index.js +3 -0
  101. package/dist/es2020/exports/prisma/index.js.map +1 -0
  102. package/dist/es2020/exports/services/index.js +52 -8
  103. package/dist/es2020/exports/services/index.js.map +1 -1
  104. package/dist/es2020/exports/utils/change-case.js +18 -0
  105. package/dist/es2020/exports/utils/change-case.js.map +1 -0
  106. package/dist/es2020/exports/utils/index.js +5 -8
  107. package/dist/es2020/exports/utils/index.js.map +1 -1
  108. package/dist/es2020/exports/validation/index.js +7 -5
  109. package/dist/es2020/exports/validation/index.js.map +1 -1
  110. package/dist/es2020/modules/auth/auth.controller.js +101 -214
  111. package/dist/es2020/modules/auth/auth.controller.js.map +1 -1
  112. package/dist/es2020/modules/auth/auth.router.js +48 -46
  113. package/dist/es2020/modules/auth/auth.router.js.map +1 -1
  114. package/dist/es2020/modules/auth/auth.service.js +64 -46
  115. package/dist/es2020/modules/auth/auth.service.js.map +1 -1
  116. package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js +13 -0
  117. package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
  118. package/dist/es2020/modules/base/base.controller.js +53 -184
  119. package/dist/es2020/modules/base/base.controller.js.map +1 -1
  120. package/dist/es2020/modules/base/base.middlewares.js +30 -23
  121. package/dist/es2020/modules/base/base.middlewares.js.map +1 -1
  122. package/dist/es2020/modules/base/base.router.js +54 -51
  123. package/dist/es2020/modules/base/base.router.js.map +1 -1
  124. package/dist/es2020/modules/base/base.service.js +72 -53
  125. package/dist/es2020/modules/base/base.service.js.map +1 -1
  126. package/dist/es2020/modules/base/utils/helpers/base.helpers.js +151 -0
  127. package/dist/es2020/modules/base/utils/helpers/base.helpers.js.map +1 -0
  128. package/dist/es2020/modules/email/email.service.js +14 -8
  129. package/dist/es2020/modules/email/email.service.js.map +1 -1
  130. package/dist/es2020/modules/error-handler/error-handler.controller.js +43 -6
  131. package/dist/es2020/modules/error-handler/error-handler.controller.js.map +1 -1
  132. package/dist/es2020/modules/error-handler/utils/app-error.js +3 -1
  133. package/dist/es2020/modules/error-handler/utils/app-error.js.map +1 -1
  134. package/dist/es2020/modules/error-handler/utils/catch-async.js +10 -5
  135. package/dist/es2020/modules/error-handler/utils/catch-async.js.map +1 -1
  136. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js +145 -91
  137. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  138. package/dist/es2020/modules/file-uploader/file-uploader.controller.js +155 -0
  139. package/dist/es2020/modules/file-uploader/file-uploader.controller.js.map +1 -0
  140. package/dist/es2020/modules/file-uploader/file-uploader.router.js +26 -0
  141. package/dist/es2020/modules/file-uploader/file-uploader.router.js.map +1 -0
  142. package/dist/es2020/modules/file-uploader/file-uploader.service.js +33 -23
  143. package/dist/es2020/modules/file-uploader/file-uploader.service.js.map +1 -1
  144. package/dist/es2020/paths.js +1 -3
  145. package/dist/es2020/paths.js.map +1 -1
  146. package/dist/es2020/scripts/create-test.js +35 -0
  147. package/dist/es2020/scripts/create-test.js.map +1 -0
  148. package/dist/es2020/server.js +1 -38
  149. package/dist/es2020/server.js.map +1 -1
  150. package/dist/es2020/utils/arkos-env.js +4 -1
  151. package/dist/es2020/utils/arkos-env.js.map +1 -1
  152. package/dist/es2020/utils/features/api.features.js +39 -29
  153. package/dist/es2020/utils/features/api.features.js.map +1 -1
  154. package/dist/es2020/utils/features/change-case.features.js +67 -0
  155. package/dist/es2020/utils/features/change-case.features.js.map +1 -0
  156. package/dist/es2020/utils/helpers/api.features.helpers.js +6 -2
  157. package/dist/es2020/utils/helpers/api.features.helpers.js.map +1 -1
  158. package/dist/es2020/utils/helpers/base.controller.helpers.js +28 -0
  159. package/dist/es2020/utils/helpers/base.controller.helpers.js.map +1 -0
  160. package/dist/es2020/utils/helpers/change-case.helpers.js +185 -0
  161. package/dist/es2020/utils/helpers/change-case.helpers.js.map +1 -0
  162. package/dist/es2020/utils/helpers/deepmerge.helper.js +119 -0
  163. package/dist/es2020/utils/helpers/deepmerge.helper.js.map +1 -0
  164. package/dist/es2020/utils/helpers/fs.helpers.js +31 -3
  165. package/dist/es2020/utils/helpers/fs.helpers.js.map +1 -1
  166. package/dist/es2020/utils/helpers/models.helpers.js +112 -47
  167. package/dist/es2020/utils/helpers/models.helpers.js.map +1 -1
  168. package/dist/es2020/utils/helpers/pluralize.helpers.js +3 -0
  169. package/dist/es2020/utils/helpers/pluralize.helpers.js.map +1 -0
  170. package/dist/es2020/utils/helpers/prisma.helpers.js +17 -6
  171. package/dist/es2020/utils/helpers/prisma.helpers.js.map +1 -1
  172. package/dist/es2020/utils/helpers/query-parser.helpers.js +45 -0
  173. package/dist/es2020/utils/helpers/query-parser.helpers.js.map +1 -0
  174. package/dist/es2020/utils/helpers/text.helpers.js +4 -1
  175. package/dist/es2020/utils/helpers/text.helpers.js.map +1 -1
  176. package/dist/es2020/utils/scripts/export-prisma-types.js +70 -35
  177. package/dist/es2020/utils/scripts/export-prisma-types.js.map +1 -1
  178. package/dist/es2020/utils/scripts/generate-zod-schemas.js +9 -4
  179. package/dist/es2020/utils/scripts/generate-zod-schemas.js.map +1 -1
  180. package/dist/es2020/utils/scripts/prisma-db-push.js +13 -8
  181. package/dist/es2020/utils/scripts/prisma-db-push.js.map +1 -1
  182. package/dist/es2020/utils/validate-dto.js +13 -14
  183. package/dist/es2020/utils/validate-dto.js.map +1 -1
  184. package/dist/es2020/utils/validate-schema.js +15 -0
  185. package/dist/es2020/utils/validate-schema.js.map +1 -0
  186. package/dist/types/app.d.ts +2 -12
  187. package/dist/types/exports/auth/index.d.ts +3 -0
  188. package/dist/types/exports/error-handler/index.d.ts +0 -5
  189. package/dist/types/exports/index.d.ts +2 -0
  190. package/dist/types/exports/prisma/index.d.ts +2 -0
  191. package/dist/types/exports/utils/change-case.d.ts +1 -0
  192. package/dist/types/exports/utils/index.d.ts +1 -7
  193. package/dist/types/exports/validation/index.d.ts +0 -4
  194. package/dist/types/modules/auth/auth.controller.d.ts +14 -16
  195. package/dist/types/modules/auth/auth.service.d.ts +7 -6
  196. package/dist/types/modules/auth/utils/helpers/auth.helpers.d.ts +2 -0
  197. package/dist/types/modules/base/base.controller.d.ts +11 -14
  198. package/dist/types/modules/base/base.middlewares.d.ts +2 -2
  199. package/dist/types/modules/base/base.service.d.ts +1 -3
  200. package/dist/types/modules/base/utils/helpers/base.helpers.d.ts +4 -0
  201. package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
  202. package/dist/types/modules/file-uploader/file-uploader.controller.d.ts +3 -0
  203. package/dist/types/modules/file-uploader/file-uploader.router.d.ts +3 -0
  204. package/dist/types/scripts/create-test.d.ts +1 -0
  205. package/dist/types/server.d.ts +2 -2
  206. package/dist/types/utils/arkos-env.d.ts +1 -0
  207. package/dist/types/utils/features/change-case.features.d.ts +12 -0
  208. package/dist/types/utils/helpers/base.controller.helpers.d.ts +2 -0
  209. package/dist/types/utils/helpers/change-case.helpers.d.ts +26 -0
  210. package/dist/types/utils/helpers/deepmerge.helper.d.ts +19 -0
  211. package/dist/types/utils/helpers/fs.helpers.d.ts +1 -0
  212. package/dist/types/utils/helpers/models.helpers.d.ts +21 -9
  213. package/dist/types/utils/helpers/pluralize.helpers.d.ts +1 -0
  214. package/dist/types/utils/helpers/prisma.helpers.d.ts +2 -2
  215. package/dist/types/utils/helpers/query-parser.helpers.d.ts +11 -0
  216. package/dist/types/utils/validate-schema.d.ts +2 -0
  217. package/package.json +60 -23
  218. package/dist/cjs/modules/base/utils/base.helpers.js +0 -82
  219. package/dist/cjs/modules/base/utils/base.helpers.js.map +0 -1
  220. package/dist/cjs/package.json +0 -3
  221. package/dist/cjs/utils/permissions/index.js +0 -17
  222. package/dist/cjs/utils/permissions/index.js.map +0 -1
  223. package/dist/es2020/modules/base/utils/base.helpers.js +0 -79
  224. package/dist/es2020/modules/base/utils/base.helpers.js.map +0 -1
  225. package/dist/es2020/utils/permissions/index.js +0 -14
  226. package/dist/es2020/utils/permissions/index.js.map +0 -1
  227. package/dist/types/modules/base/utils/base.helpers.d.ts +0 -4
  228. package/dist/types/utils/permissions/index.d.ts +0 -2
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  - ⚡ **Express Middlewares** – Pre-configured security, request parsing, and error handling.
16
16
 
17
- - 🛡️ **Built-in Data Validation** – using class-validator and class-transformer, just drop a create-post.dto.ts.
17
+ - 🛡️ **Built-in Data Validation** – using class-validator and class-transformer or zod, just drop a create-post.dto.ts or create-user.schema.ts.
18
18
 
19
19
  - ⬆️ **File Upload & Optimization** – Efficient image, video, docs, raw-file handling.
20
20
 
@@ -76,14 +76,10 @@ The `init` function from your `arkos` package is used to initialize the app with
76
76
 
77
77
  ```typescript
78
78
  // src/app.ts
79
- import arkos from "arkos"; // Import arkos.init() from arkos package
80
- import express from "express"; // Import express
79
+ import arkos from "arkos";
81
80
 
82
- // Initialize the Express app
83
- const app = express();
84
-
85
- // Call init and pass the Express app for configuration, app will listen in 8000 by default or set PORT in .env.developement or .env.production
86
- arkos.init(app);
81
+ // Will initiliaze the Express app, and it will listen in 8000 by default or set PORT in .env.developement or .env.production or do as below
82
+ arkos.init({ port: 3000 });
87
83
  ```
88
84
 
89
85
  ### 4. **How `arkos.init()` Works:**
package/dist/cjs/app.js CHANGED
@@ -1,127 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.prisma = void 0;
40
- exports.bootstrap = bootstrap;
41
- const express_1 = __importDefault(require("express"));
42
- const body_parser_1 = __importDefault(require("body-parser"));
43
- const cors_1 = __importDefault(require("cors"));
44
- const cookie_parser_1 = __importDefault(require("cookie-parser"));
45
- const express_query_parser_1 = require("express-query-parser");
46
- const auth_router_1 = __importDefault(require("./modules/auth/auth.router"));
47
- const base_router_1 = __importDefault(require("./modules/base/base.router"));
48
- const error_handler_controller_1 = __importDefault(require("./modules/error-handler/error-handler.controller"));
49
- const express_rate_limit_1 = require("express-rate-limit");
50
- const path_1 = __importDefault(require("path"));
51
- const dotenv = __importStar(require("dotenv"));
52
- const compression_1 = __importDefault(require("compression"));
53
- const base_middlewares_1 = require("./modules/base/base.middlewares");
54
- const prisma_helpers_1 = require("./utils/helpers/prisma.helpers");
55
- const ENV = process.env.NODE_ENV;
56
- let envPath = ".env";
57
- if (ENV === "production") {
58
- envPath = path_1.default.resolve(process.cwd(), ".env.production");
59
- }
60
- else if (ENV === "staging") {
61
- envPath = path_1.default.resolve(process.cwd(), ".env.staging");
62
- }
63
- else if (ENV === "development") {
64
- envPath = path_1.default.resolve(process.cwd(), ".env.development");
65
- }
66
- else if (ENV === "local") {
67
- envPath = path_1.default.resolve(process.cwd(), ".env.local");
68
- }
69
- else if (ENV === "test") {
70
- envPath = path_1.default.resolve(process.cwd(), ".env.test");
71
- }
72
- else if (ENV === "qa") {
73
- envPath = path_1.default.resolve(process.cwd(), ".env.qa");
74
- }
75
- dotenv.config({ path: envPath });
76
- let initConfigs;
77
- let prisma;
78
- (async () => {
79
- exports.prisma = prisma = await (0, prisma_helpers_1.loadPrismaModule)();
80
- })();
81
- async function bootstrap(app, configs) {
82
- exports.prisma = prisma = await (0, prisma_helpers_1.loadPrismaModule)();
83
- initConfigs = configs;
84
- app.use((0, compression_1.default)());
85
- const limiter = (0, express_rate_limit_1.rateLimit)({
86
- windowMs: 60 * 1000,
87
- limit: 1000,
88
- standardHeaders: "draft-7",
89
- legacyHeaders: false,
90
- });
91
- app.use(limiter);
92
- app.set("trust proxy", 1);
93
- app.use("/api/uploads", express_1.default.static(path_1.default.join("uploads"), {
94
- maxAge: "1y",
95
- etag: true,
96
- lastModified: true,
97
- dotfiles: "ignore",
98
- fallthrough: true,
99
- index: false,
100
- cacheControl: true,
101
- }));
102
- app.use((0, cors_1.default)({
103
- origin: (origin, callback) => {
104
- callback(null, true);
105
- },
106
- methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTION"],
107
- allowedHeaders: ["Content-Type", "Authorization", "Connection"],
108
- credentials: true,
109
- }));
110
- app.use(express_1.default.json());
111
- app.use(body_parser_1.default.json());
112
- app.use((0, cookie_parser_1.default)());
113
- app.use((0, express_query_parser_1.queryParser)({
114
- parseNull: true,
115
- parseUndefined: true,
116
- parseBoolean: true,
117
- parseNumber: true,
118
- }));
119
- app.use((0, prisma_helpers_1.checkDatabaseConnection)(prisma));
120
- app.use(base_middlewares_1.handleRequestLogs);
121
- if (configs.authentication)
122
- app.use("/api", auth_router_1.default);
123
- app.use("/api", base_router_1.default);
124
- app.use(error_handler_controller_1.default);
125
- return app;
126
- }
127
- //# sourceMappingURL=app.js.map
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(t,e,s,r){r===void 0&&(r=s);var o=Object.getOwnPropertyDescriptor(e,s);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,r,o)}:function(t,e,s,r){r===void 0&&(r=s),t[r]=e[s]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),__importStar=this&&this.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(s){var r=[];for(var o in s)Object.prototype.hasOwnProperty.call(s,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&__createBinding(s,e,r[o]);return __setModuleDefault(s,e),s}}(),__awaiter=this&&this.__awaiter||function(t,e,s,r){function o(i){return i instanceof s?i:new s(function(u){u(i)})}return new(s||(s=Promise))(function(i,u){function c(n){try{a(r.next(n))}catch(l){u(l)}}function d(n){try{a(r.throw(n))}catch(l){u(l)}}function a(n){n.done?i(n.value):o(n.value).then(c,d)}a((r=r.apply(t,e||[])).next())})},__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.bootstrap=bootstrap;const express_1=__importDefault(require("express")),cors_1=__importDefault(require("cors")),cookie_parser_1=__importDefault(require("cookie-parser")),auth_router_1=__importDefault(require("./modules/auth/auth.router")),base_router_1=__importDefault(require("./modules/base/base.router")),error_handler_controller_1=__importDefault(require("./modules/error-handler/error-handler.controller")),express_rate_limit_1=require("express-rate-limit"),path_1=__importDefault(require("path")),dotenv=__importStar(require("dotenv")),compression_1=__importDefault(require("compression")),base_middlewares_1=require("./modules/base/base.middlewares"),prisma_helpers_1=require("./utils/helpers/prisma.helpers"),file_uploader_router_1=require("./modules/file-uploader/file-uploader.router"),query_parser_helpers_1=require("./utils/helpers/query-parser.helpers"),ENV=process.env.NODE_ENV;let envPath=".env";ENV==="production"?envPath=path_1.default.resolve(process.cwd(),".env.production"):ENV==="staging"?envPath=path_1.default.resolve(process.cwd(),".env.staging"):ENV==="development"?envPath=path_1.default.resolve(process.cwd(),".env.development"):ENV==="local"?envPath=path_1.default.resolve(process.cwd(),".env.local"):ENV==="test"?envPath=path_1.default.resolve(process.cwd(),".env.test"):ENV==="qa"&&(envPath=path_1.default.resolve(process.cwd(),".env.qa")),dotenv.config({path:envPath});let initConfigs,prisma;__awaiter(void 0,void 0,void 0,function*(){prisma=yield(0,prisma_helpers_1.loadPrismaModule)()});function bootstrap(t){return __awaiter(this,void 0,void 0,function*(){const e=(0,express_1.default)();prisma=yield(0,prisma_helpers_1.loadPrismaModule)(),initConfigs=t,e.use((0,compression_1.default)());const s=(0,express_rate_limit_1.rateLimit)({windowMs:60*1e3,limit:1e3,standardHeaders:"draft-7",legacyHeaders:!1});return e.use(s),e.set("trust proxy",1),e.use("/api/uploads",express_1.default.static(path_1.default.join("uploads"),{maxAge:"1y",etag:!0,lastModified:!0,dotfiles:"ignore",fallthrough:!0,index:!1,cacheControl:!0})),e.use((0,cors_1.default)({origin:(r,o)=>{o(null,!0)},methods:["GET","POST","PUT","DELETE","PATCH","OPTION"],allowedHeaders:["Content-Type","Authorization","Connection"],credentials:!0})),e.use(express_1.default.json()),e.use((0,cookie_parser_1.default)()),e.use((0,query_parser_helpers_1.queryParser)({parseNull:!0,parseUndefined:!0,parseBoolean:!0})),e.use(prisma_helpers_1.checkDatabaseConnection),e.use(base_middlewares_1.handleRequestLogs),t.authentication&&e.use("/api",auth_router_1.default),e.use("/api",base_router_1.default),e.use("/api",file_uploader_router_1.fileUploaderRouter),e.use(error_handler_controller_1.default),e})}
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\";\nimport bodyParser from \"body-parser\";\nimport cors from \"cors\";\nimport cookieParser from \"cookie-parser\";\nimport { queryParser } from \"express-query-parser\";\nimport authRouter from \"./modules/auth/auth.router\";\nimport baseRouter from \"./modules/base/base.router\";\nimport errorHandler from \"./modules/error-handler/error-handler.controller\";\nimport { rateLimit } from \"express-rate-limit\";\nimport path from \"path\";\nimport * as dotenv from \"dotenv\";\nimport compression from \"compression\";\nimport { handleRequestLogs } from \"./modules/base/base.middlewares\";\nimport {\n checkDatabaseConnection,\n loadPrismaModule,\n} from \"./utils/helpers/prisma.helpers\";\nimport { ClassValidatorInitConfigsOptions } from \"./utils/validate-dto\";\n\nconst ENV = process.env.NODE_ENV;\nlet envPath = \".env\";\n\n// Default to `.env.local` if available in any environment\nif (ENV === \"production\") {\n envPath = path.resolve(process.cwd(), \".env.production\");\n} else if (ENV === \"staging\") {\n envPath = path.resolve(process.cwd(), \".env.staging\");\n} else if (ENV === \"development\") {\n envPath = path.resolve(process.cwd(), \".env.development\");\n} else if (ENV === \"local\") {\n // For local development, .env.local can be used\n envPath = path.resolve(process.cwd(), \".env.local\");\n}\n\n// Optionally, add support for `.env.test`, `.env.qa`, or other environments if required\nelse if (ENV === \"test\") {\n envPath = path.resolve(process.cwd(), \".env.test\");\n} else if (ENV === \"qa\") {\n envPath = path.resolve(process.cwd(), \".env.qa\");\n}\n\ndotenv.config({ path: envPath });\n\nexport type InitConfigs = {\n port?: number;\n authentication?: boolean;\n validation?:\n | ClassValidatorInitConfigsOptions\n | {\n resolver?: \"zod\";\n validationOptions?: Record<string, any>;\n }\n | boolean;\n};\n\nlet initConfigs: InitConfigs;\nlet prisma: any;\n\n(async () => {\n prisma = await loadPrismaModule();\n})();\n\nexport async function bootstrap(app: express.Express, configs: InitConfigs) {\n prisma = await loadPrismaModule();\n\n initConfigs = configs;\n\n app.use(compression());\n\n const limiter = rateLimit({\n windowMs: 60 * 1000,\n limit: 1000,\n standardHeaders: \"draft-7\",\n legacyHeaders: false,\n });\n\n app.use(limiter);\n\n app.set(\"trust proxy\", 1);\n\n app.use(\n \"/api/uploads\",\n express.static(path.join(\"uploads\"), {\n maxAge: \"1y\",\n etag: true,\n lastModified: true,\n dotfiles: \"ignore\",\n fallthrough: true,\n index: false,\n cacheControl: true,\n })\n );\n\n app.use(\n cors({\n origin: (origin, callback) => {\n callback(null, true);\n },\n methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"OPTION\"],\n allowedHeaders: [\"Content-Type\", \"Authorization\", \"Connection\"],\n credentials: true,\n })\n );\n\n app.use(express.json());\n app.use(bodyParser.json());\n app.use(cookieParser());\n app.use(\n queryParser({\n parseNull: true,\n parseUndefined: true,\n parseBoolean: true,\n parseNumber: true,\n })\n );\n\n app.use(checkDatabaseConnection(prisma));\n\n app.use(handleRequestLogs);\n\n if (configs.authentication) app.use(\"/api\", authRouter);\n app.use(\"/api\", baseRouter);\n app.use(errorHandler);\n\n return app;\n}\n\nexport { prisma };\n"]}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\";\nimport cors from \"cors\";\nimport cookieParser from \"cookie-parser\";\nimport authRouter from \"./modules/auth/auth.router\";\nimport baseRouter from \"./modules/base/base.router\";\nimport errorHandler from \"./modules/error-handler/error-handler.controller\";\nimport { rateLimit } from \"express-rate-limit\";\nimport path from \"path\";\nimport * as dotenv from \"dotenv\";\nimport compression from \"compression\";\nimport { handleRequestLogs } from \"./modules/base/base.middlewares\";\nimport {\n checkDatabaseConnection,\n loadPrismaModule,\n} from \"./utils/helpers/prisma.helpers\";\nimport { fileUploaderRouter } from \"./modules/file-uploader/file-uploader.router\";\nimport { InitConfigs } from \"./types/app\";\nimport { queryParser } from \"./utils/helpers/query-parser.helpers\";\n\nconst ENV = process.env.NODE_ENV;\nlet envPath = \".env\";\n\n// Default to `.env.local` if available in any environment\nif (ENV === \"production\") {\n envPath = path.resolve(process.cwd(), \".env.production\");\n} else if (ENV === \"staging\") {\n envPath = path.resolve(process.cwd(), \".env.staging\");\n} else if (ENV === \"development\") {\n envPath = path.resolve(process.cwd(), \".env.development\");\n} else if (ENV === \"local\") {\n // For local development, .env.local can be used\n envPath = path.resolve(process.cwd(), \".env.local\");\n}\n\n// Optionally, add support for `.env.test`, `.env.qa`, or other environments if required\nelse if (ENV === \"test\") {\n envPath = path.resolve(process.cwd(), \".env.test\");\n} else if (ENV === \"qa\") {\n envPath = path.resolve(process.cwd(), \".env.qa\");\n}\n\ndotenv.config({ path: envPath });\n\nlet initConfigs: InitConfigs;\nlet prisma: any;\n\n(async () => {\n prisma = await loadPrismaModule();\n})();\n\nexport async function bootstrap(\n configs: InitConfigs\n): Promise<express.Express> {\n const app = express();\n\n prisma = await loadPrismaModule();\n\n initConfigs = configs;\n\n app.use(compression());\n\n const limiter = rateLimit({\n windowMs: 60 * 1000,\n limit: 1000,\n standardHeaders: \"draft-7\",\n legacyHeaders: false,\n });\n\n app.use(limiter);\n\n app.set(\"trust proxy\", 1);\n\n app.use(\n \"/api/uploads\",\n express.static(path.join(\"uploads\"), {\n maxAge: \"1y\",\n etag: true,\n lastModified: true,\n dotfiles: \"ignore\",\n fallthrough: true,\n index: false,\n cacheControl: true,\n })\n );\n\n app.use(\n cors({\n origin: (origin, callback) => {\n callback(null, true);\n },\n methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"OPTION\"],\n allowedHeaders: [\"Content-Type\", \"Authorization\", \"Connection\"],\n credentials: true,\n })\n );\n\n app.use(express.json());\n app.use(cookieParser());\n app.use(\n queryParser({\n parseNull: true,\n parseUndefined: true,\n parseBoolean: true,\n })\n );\n\n app.use(checkDatabaseConnection);\n\n app.use(handleRequestLogs);\n\n if (configs.authentication) app.use(\"/api\", authRouter);\n app.use(\"/api\", baseRouter);\n app.use(\"/api\", fileUploaderRouter);\n app.use(errorHandler);\n\n return app;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultExcludedUserFields = void 0;
4
+ const auth_controller_1 = require("./../../modules/auth/auth.controller");
5
+ Object.defineProperty(exports, "defaultExcludedUserFields", { enumerable: true, get: function () { return auth_controller_1.defaultExcludedUserFields; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/auth/index.ts"],"names":[],"mappings":";;;AAAA,0EAAiF;AAGxE,0GAHA,2CAAyB,OAGA","sourcesContent":["import { defaultExcludedUserFields } from \"./../../modules/auth/auth.controller\";\nimport { AuthConfigs, AuthJwtPayload } from \"../../types/auth\";\n\nexport { defaultExcludedUserFields, AuthConfigs, AuthJwtPayload };\n"]}
@@ -8,9 +8,4 @@ const catch_async_1 = __importDefault(require("../../modules/error-handler/utils
8
8
  exports.catchAsync = catch_async_1.default;
9
9
  const app_error_1 = __importDefault(require("../../modules/error-handler/utils/app-error"));
10
10
  exports.AppError = app_error_1.default;
11
- const errorHandler = {
12
- catchAsync: catch_async_1.default,
13
- AppError: app_error_1.default,
14
- };
15
- exports.default = errorHandler;
16
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/error-handler/index.ts"],"names":[],"mappings":";;;;;;AAAA,gGAAuE;AAG9D,qBAHF,qBAAU,CAGE;AAFnB,4FAAmE;AAE9C,mBAFd,mBAAQ,CAEc;AAE7B,MAAM,YAAY,GAAG;IACnB,UAAU,EAAV,qBAAU;IACV,QAAQ,EAAR,mBAAQ;CACT,CAAC;AAEF,kBAAe,YAAY,CAAC","sourcesContent":["import catchAsync from \"../../modules/error-handler/utils/catch-async\";\nimport AppError from \"../../modules/error-handler/utils/app-error\";\n\nexport { catchAsync, AppError };\n\nconst errorHandler = {\n catchAsync,\n AppError,\n};\n\nexport default errorHandler;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/error-handler/index.ts"],"names":[],"mappings":";;;;;;AAAA,gGAAuE;AAG9D,qBAHF,qBAAU,CAGE;AAFnB,4FAAmE;AAE9C,mBAFd,mBAAQ,CAEc","sourcesContent":["import catchAsync from \"../../modules/error-handler/utils/catch-async\";\nimport AppError from \"../../modules/error-handler/utils/app-error\";\n\nexport { catchAsync, AppError };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AAQpC,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,gBAAO;CACd,CAAC;AAYF,kBAAe,KAAK,CAAC","sourcesContent":["import { initApp } from \"../server\";\n\n/**\n * Initializes the Arkos application.\n *\n * @module arkos\n * @property {Function} init - Function to initialize the app.\n */\nconst arkos = {\n init: initApp,\n};\n\n/**\n * Main entry point for the Arkos module.\n *\n * @module arkos\n */\n// export * from \"./services\";\n// export * from \"./utils\";\n// export * from \"./validation\";\n// export * from \"./error-handler\";\n\nexport default arkos;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AAcpC,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,gBAAO;CACd,CAAC;AASF,kBAAe,KAAK,CAAC","sourcesContent":["import { initApp } from \"../server\";\nimport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n} from \"../types\";\n\n/**\n * Initializes the Arkos application.\n *\n * @module arkos\n * @property {Function} init - Function to initialize the app.\n */\nconst arkos = {\n init: initApp,\n};\n\nexport { ArkosRequest, ArkosResponse, ArkosNextFunction, ArkosRequestHandler };\n\n/**\n * Main entry point for the Arkos module.\n *\n * @module arkos\n */\nexport default arkos;\n\n// export * from \"./services\";\n// export * from \"./utils\";\n// export * from \"./validation\";\n// export * from \"./error-handler\";\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":"","sourcesContent":["import { PrismaQueryOptions } from \"./../../types/index.d\";\n\nexport { PrismaQueryOptions };\n"]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../../utils/features/change-case.features"), exports);
18
+ //# sourceMappingURL=change-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-case.js","sourceRoot":"","sources":["../../../../src/exports/utils/change-case.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4EAA0D","sourcesContent":["export * from \"../../utils/features/change-case.features\";\n"]}
@@ -1,13 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPrismaModels = exports.capitalize = exports.utils = void 0;
4
- const text_helpers_1 = require("../../utils/helpers/text.helpers");
5
- Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return text_helpers_1.capitalize; } });
3
+ exports.getPrismaModels = void 0;
6
4
  const models_helpers_1 = require("../../utils/helpers/models.helpers");
7
5
  Object.defineProperty(exports, "getPrismaModels", { enumerable: true, get: function () { return models_helpers_1.getModels; } });
8
- exports.utils = {
9
- capitalize: text_helpers_1.capitalize,
10
- getPrismaModels: models_helpers_1.getModels,
11
- };
12
- exports.default = exports.utils;
13
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":";;;AAAA,mEAA8D;AAerD,2FAfA,yBAAU,OAeA;AAdnB,uEAA+D;AAc7B,gGAdzB,0BAAS,OAc+B;AALpC,QAAA,KAAK,GAAG;IACnB,UAAU,EAAV,yBAAU;IACV,eAAe,EAAE,0BAAS;CAC3B,CAAC;AAGF,kBAAe,aAAK,CAAC","sourcesContent":["import { capitalize } from \"../../utils/helpers/text.helpers\";\nimport { getModels } from \"../../utils/helpers/models.helpers\";\n\n/**\n * A collection of utility functions.\n *\n * @namespace utils\n * @property {Function} capitalize - Capitalizes the first letter of each word in a string.\n * @property {Function} getPrismaModels - Retrieves Prisma models dynamically.\n */\nexport const utils = {\n capitalize,\n getPrismaModels: getModels,\n};\n\nexport { capitalize, getModels as getPrismaModels };\nexport default utils;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":";;;AAAA,uEAA+D;AAEzC,gGAFb,0BAAS,OAEmB","sourcesContent":["import { getModels } from \"../../utils/helpers/models.helpers\";\n\nexport { getModels as getPrismaModels };\n"]}
@@ -3,11 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateDto = exports.validation = void 0;
6
+ exports.validateDto = void 0;
7
7
  const validate_dto_1 = __importDefault(require("../../utils/validate-dto"));
8
8
  exports.validateDto = validate_dto_1.default;
9
- exports.validation = {
10
- validateDto: validate_dto_1.default,
11
- };
12
- exports.default = exports.validation;
13
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAmD;AAY1C,sBAZF,sBAAW,CAYE;AAJP,QAAA,UAAU,GAAG;IACxB,WAAW,EAAX,sBAAW;CACZ,CAAC;AAGF,kBAAe,kBAAU,CAAC","sourcesContent":["import validateDto from \"../../utils/validate-dto\";\n\n/**\n * A collection of validation utilities.\n *\n * @namespace validation\n * @property {Function} validateDto - Validates data transfer objects (DTO).\n */\nexport const validation = {\n validateDto,\n};\n\nexport { validateDto };\nexport default validation;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAmD;AAE1C,sBAFF,sBAAW,CAEE","sourcesContent":["import validateDto from \"../../utils/validate-dto\";\n\nexport { validateDto };\n"]}