arkos 0.0.9 → 0.0.11

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 (125) hide show
  1. package/dist/main/app.d.ts +11 -0
  2. package/dist/main/app.d.ts.map +1 -0
  3. package/dist/main/app.js +121 -0
  4. package/dist/main/app.js.map +1 -0
  5. package/dist/main/modules/auth/auth.controller.d.ts +23 -0
  6. package/dist/main/modules/auth/auth.controller.d.ts.map +1 -0
  7. package/dist/main/modules/auth/auth.controller.js +310 -0
  8. package/dist/main/modules/auth/auth.controller.js.map +1 -0
  9. package/dist/main/modules/auth/auth.router.d.ts +4 -0
  10. package/dist/main/modules/auth/auth.router.d.ts.map +1 -0
  11. package/dist/main/modules/auth/auth.router.js +64 -0
  12. package/dist/main/modules/auth/auth.router.js.map +1 -0
  13. package/dist/main/modules/auth/auth.service.d.ts +16 -0
  14. package/dist/main/modules/auth/auth.service.d.ts.map +1 -0
  15. package/dist/main/modules/auth/auth.service.js +120 -0
  16. package/dist/main/modules/auth/auth.service.js.map +1 -0
  17. package/dist/main/modules/base/base.controller.d.ts +17 -0
  18. package/dist/main/modules/base/base.controller.d.ts.map +1 -0
  19. package/dist/main/modules/base/base.controller.js +296 -0
  20. package/dist/main/modules/base/base.controller.js.map +1 -0
  21. package/dist/main/modules/base/base.middlewares.d.ts +20 -0
  22. package/dist/main/modules/base/base.middlewares.d.ts.map +1 -0
  23. package/dist/main/modules/base/base.middlewares.js +86 -0
  24. package/dist/main/modules/base/base.middlewares.js.map +1 -0
  25. package/dist/main/modules/base/base.router.d.ts +4 -0
  26. package/dist/main/modules/base/base.router.d.ts.map +1 -0
  27. package/dist/main/modules/base/base.router.js +75 -0
  28. package/dist/main/modules/base/base.router.js.map +1 -0
  29. package/dist/main/modules/base/base.service.d.ts +32 -0
  30. package/dist/main/modules/base/base.service.d.ts.map +1 -0
  31. package/dist/main/modules/base/base.service.js +149 -0
  32. package/dist/main/modules/base/base.service.js.map +1 -0
  33. package/dist/main/modules/base/utils/base.helpers.d.ts +29 -0
  34. package/dist/main/modules/base/utils/base.helpers.d.ts.map +1 -0
  35. package/dist/main/modules/base/utils/base.helpers.js +106 -0
  36. package/dist/main/modules/base/utils/base.helpers.js.map +1 -0
  37. package/dist/main/modules/email/email.service.d.ts +22 -0
  38. package/dist/main/modules/email/email.service.d.ts.map +1 -0
  39. package/dist/main/modules/email/email.service.js +45 -0
  40. package/dist/main/modules/email/email.service.js.map +1 -0
  41. package/dist/main/modules/email/utils/helpers/email.helpers.d.ts +9 -0
  42. package/dist/main/modules/email/utils/helpers/email.helpers.d.ts.map +1 -0
  43. package/dist/main/modules/email/utils/helpers/email.helpers.js +25 -0
  44. package/dist/main/modules/email/utils/helpers/email.helpers.js.map +1 -0
  45. package/dist/main/modules/error-handler/error-handler.controller.d.ts +4 -0
  46. package/dist/main/modules/error-handler/error-handler.controller.d.ts.map +1 -0
  47. package/dist/main/modules/error-handler/error-handler.controller.js +182 -0
  48. package/dist/main/modules/error-handler/error-handler.controller.js.map +1 -0
  49. package/dist/main/modules/error-handler/utils/app-error.d.ts +11 -0
  50. package/dist/main/modules/error-handler/utils/app-error.d.ts.map +1 -0
  51. package/dist/main/modules/error-handler/utils/app-error.js +23 -0
  52. package/dist/main/modules/error-handler/utils/app-error.js.map +1 -0
  53. package/dist/main/modules/error-handler/utils/catch-async.d.ts +4 -0
  54. package/dist/main/modules/error-handler/utils/catch-async.d.ts.map +1 -0
  55. package/dist/main/modules/error-handler/utils/catch-async.js +9 -0
  56. package/dist/main/modules/error-handler/utils/catch-async.js.map +1 -0
  57. package/dist/main/modules/error-handler/utils/error-handler.helpers.d.ts +43 -0
  58. package/dist/main/modules/error-handler/utils/error-handler.helpers.d.ts.map +1 -0
  59. package/dist/main/modules/error-handler/utils/error-handler.helpers.js +209 -0
  60. package/dist/main/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  61. package/dist/main/modules/file-uploader/file-uploader.service.d.ts +20 -0
  62. package/dist/main/modules/file-uploader/file-uploader.service.d.ts.map +1 -0
  63. package/dist/main/modules/file-uploader/file-uploader.service.js +114 -0
  64. package/dist/main/modules/file-uploader/file-uploader.service.js.map +1 -0
  65. package/dist/main/paths.d.ts +2 -0
  66. package/dist/main/paths.d.ts.map +1 -0
  67. package/dist/main/paths.js +9 -0
  68. package/dist/main/paths.js.map +1 -0
  69. package/dist/main/server.d.ts +21 -0
  70. package/dist/main/server.d.ts.map +1 -0
  71. package/dist/main/server.js +52 -0
  72. package/dist/main/server.js.map +1 -0
  73. package/dist/main/utils/features/api.features.d.ts +20 -0
  74. package/dist/main/utils/features/api.features.d.ts.map +1 -0
  75. package/dist/main/utils/features/api.features.js +175 -0
  76. package/dist/main/utils/features/api.features.js.map +1 -0
  77. package/dist/main/utils/features/prisma.helpers.d.ts +3 -0
  78. package/dist/main/utils/features/prisma.helpers.d.ts.map +1 -0
  79. package/dist/main/utils/features/prisma.helpers.js +20 -0
  80. package/dist/main/utils/features/prisma.helpers.js.map +1 -0
  81. package/dist/main/utils/helpers/api.features.helpers.d.ts +41 -0
  82. package/dist/main/utils/helpers/api.features.helpers.d.ts.map +1 -0
  83. package/dist/main/utils/helpers/api.features.helpers.js +161 -0
  84. package/dist/main/utils/helpers/api.features.helpers.js.map +1 -0
  85. package/dist/main/utils/helpers/models.helpers.d.ts +21 -0
  86. package/dist/main/utils/helpers/models.helpers.d.ts.map +1 -0
  87. package/dist/main/utils/helpers/models.helpers.js +192 -0
  88. package/dist/main/utils/helpers/models.helpers.js.map +1 -0
  89. package/dist/main/utils/helpers/text.helpers.d.ts +2 -0
  90. package/dist/main/utils/helpers/text.helpers.d.ts.map +1 -0
  91. package/dist/main/utils/helpers/text.helpers.js +12 -0
  92. package/dist/main/utils/helpers/text.helpers.js.map +1 -0
  93. package/dist/main/utils/permissions/index.d.ts +3 -0
  94. package/dist/main/utils/permissions/index.d.ts.map +1 -0
  95. package/dist/main/utils/permissions/index.js +17 -0
  96. package/dist/main/utils/permissions/index.js.map +1 -0
  97. package/dist/main/utils/scripts/export-prisma-types.d.ts +2 -0
  98. package/dist/main/utils/scripts/export-prisma-types.d.ts.map +1 -0
  99. package/dist/main/utils/scripts/export-prisma-types.js +152 -0
  100. package/dist/main/utils/scripts/export-prisma-types.js.map +1 -0
  101. package/dist/main/utils/scripts/generate-zod-schemas.d.ts +2 -0
  102. package/dist/main/utils/scripts/generate-zod-schemas.d.ts.map +1 -0
  103. package/dist/main/utils/scripts/generate-zod-schemas.js +121 -0
  104. package/dist/main/utils/scripts/generate-zod-schemas.js.map +1 -0
  105. package/dist/main/utils/scripts/prisma-db-push.d.ts +2 -0
  106. package/dist/main/utils/scripts/prisma-db-push.d.ts.map +1 -0
  107. package/dist/main/utils/scripts/prisma-db-push.js +24 -0
  108. package/dist/main/utils/scripts/prisma-db-push.js.map +1 -0
  109. package/dist/main/utils/validate-dto.d.ts +3 -0
  110. package/dist/main/utils/validate-dto.d.ts.map +1 -0
  111. package/dist/main/utils/validate-dto.js +17 -0
  112. package/dist/main/utils/validate-dto.js.map +1 -0
  113. package/dist/modules/auth/auth.service.js +3 -3
  114. package/dist/modules/auth/auth.service.js.map +1 -1
  115. package/dist/modules/base/base.router.d.ts.map +1 -1
  116. package/dist/modules/base/base.router.js +1 -0
  117. package/dist/modules/base/base.router.js.map +1 -1
  118. package/dist/server.d.ts.map +1 -1
  119. package/dist/server.js +2 -1
  120. package/dist/server.js.map +1 -1
  121. package/dist/src/utils/prisma.d.ts +3 -0
  122. package/dist/src/utils/prisma.d.ts.map +1 -0
  123. package/dist/src/utils/prisma.js +6 -0
  124. package/dist/src/utils/prisma.js.map +1 -0
  125. package/package.json +5 -1
@@ -0,0 +1,11 @@
1
+ import express from "express";
2
+ import { prisma } from "../src/utils/prisma";
3
+ export type InitConfigs = {
4
+ port?: number;
5
+ authentication?: boolean;
6
+ };
7
+ declare let initConfigs: InitConfigs;
8
+ export declare function bootstrap(app: express.Express, configs: InitConfigs): express.Express;
9
+ export declare function getInitConfigs(): InitConfigs | null;
10
+ export { initConfigs, prisma };
11
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../main/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAc9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAe7C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,QAAA,IAAI,WAAW,EAAE,WAAW,CAAC;AAE7B,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,mBA6DnE;AAED,wBAAgB,cAAc,uBAG7B;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,121 @@
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 = exports.initConfigs = void 0;
40
+ exports.bootstrap = bootstrap;
41
+ exports.getInitConfigs = getInitConfigs;
42
+ const express_1 = __importDefault(require("express"));
43
+ const body_parser_1 = __importDefault(require("body-parser"));
44
+ const cors_1 = __importDefault(require("cors"));
45
+ const cookie_parser_1 = __importDefault(require("cookie-parser"));
46
+ const express_query_parser_1 = require("express-query-parser");
47
+ const auth_router_1 = __importDefault(require("./modules/auth/auth.router"));
48
+ const base_router_1 = __importDefault(require("./modules/base/base.router"));
49
+ const error_handler_controller_1 = __importDefault(require("./modules/error-handler/error-handler.controller"));
50
+ const express_rate_limit_1 = require("express-rate-limit");
51
+ const path_1 = __importDefault(require("path"));
52
+ const dotenv = __importStar(require("dotenv"));
53
+ const compression_1 = __importDefault(require("compression"));
54
+ const base_middlewares_1 = require("./modules/base/base.middlewares");
55
+ const prisma_helpers_1 = require("./utils/features/prisma.helpers");
56
+ const prisma_1 = require("../src/utils/prisma");
57
+ Object.defineProperty(exports, "prisma", { enumerable: true, get: function () { return prisma_1.prisma; } });
58
+ const ENV = process.env.NODE_ENV || "development";
59
+ let envPath = ".env";
60
+ if (ENV === "production") {
61
+ envPath = path_1.default.resolve(process.cwd(), ".env.production");
62
+ }
63
+ else if (ENV === "staging") {
64
+ envPath = path_1.default.resolve(process.cwd(), ".env.staging");
65
+ }
66
+ else {
67
+ envPath = path_1.default.resolve(process.cwd(), ".env.development");
68
+ }
69
+ dotenv.config({ path: envPath });
70
+ let initConfigs;
71
+ function bootstrap(app, configs) {
72
+ exports.initConfigs = initConfigs = configs;
73
+ app.use((0, compression_1.default)());
74
+ const limiter = (0, express_rate_limit_1.rateLimit)({
75
+ windowMs: 60 * 1000,
76
+ limit: 1000,
77
+ standardHeaders: "draft-7",
78
+ legacyHeaders: false,
79
+ });
80
+ app.use(limiter);
81
+ app.set("trust proxy", 1);
82
+ app.use("/api/uploads", express_1.default.static(path_1.default.join("uploads"), {
83
+ maxAge: "1y",
84
+ etag: true,
85
+ lastModified: true,
86
+ dotfiles: "ignore",
87
+ fallthrough: true,
88
+ index: false,
89
+ cacheControl: true,
90
+ }));
91
+ app.use((0, cors_1.default)({
92
+ origin: (origin, callback) => {
93
+ callback(null, true);
94
+ },
95
+ methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTION"],
96
+ allowedHeaders: ["Content-Type", "Authorization", "Connection"],
97
+ credentials: true,
98
+ }));
99
+ app.use(express_1.default.json());
100
+ app.use(body_parser_1.default.json());
101
+ app.use((0, cookie_parser_1.default)());
102
+ app.use((0, express_query_parser_1.queryParser)({
103
+ parseNull: true,
104
+ parseUndefined: true,
105
+ parseBoolean: true,
106
+ parseNumber: true,
107
+ }));
108
+ app.use((0, prisma_helpers_1.checkDatabaseConnection)(prisma_1.prisma));
109
+ app.use(base_middlewares_1.handleRequestLogs);
110
+ if (configs.authentication)
111
+ app.use("/api", auth_router_1.default);
112
+ app.use("/api", base_router_1.default);
113
+ app.use(error_handler_controller_1.default);
114
+ return app;
115
+ }
116
+ function getInitConfigs() {
117
+ if (initConfigs)
118
+ return initConfigs;
119
+ return null;
120
+ }
121
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../main/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ export declare const excludedUserFields: {
3
+ password: boolean;
4
+ passwordChangedAt: boolean;
5
+ passwordResetOtp: boolean;
6
+ passwordResetOtpExpiresAt: boolean;
7
+ verificationOtp: boolean;
8
+ verificationOptExpiresAt: boolean;
9
+ isVerified: boolean;
10
+ deletedSelfAccount: boolean;
11
+ active: boolean;
12
+ };
13
+ export declare const authControllerFactory: (middlewares?: any) => {
14
+ getMe: (req: Request, res: Response, next: NextFunction) => void;
15
+ logout: (req: Request, res: Response, next: NextFunction) => void;
16
+ login: (req: Request, res: Response, next: NextFunction) => void;
17
+ signup: (req: Request, res: Response, next: NextFunction) => void;
18
+ verifyEmail: (req: Request, res: Response, next: NextFunction) => void;
19
+ forgotPassword: (req: Request, res: Response, next: NextFunction) => void;
20
+ resetPassword: (req: Request, res: Response, next: NextFunction) => void;
21
+ updatePassword: (req: Request, res: Response, next: NextFunction) => void;
22
+ };
23
+ //# sourceMappingURL=auth.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../../main/modules/auth/auth.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMzE,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,cAAa,GAAQ;;;;;;;;;CAuc1D,CAAC"}
@@ -0,0 +1,310 @@
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.authControllerFactory = exports.excludedUserFields = void 0;
7
+ const catch_async_1 = __importDefault(require("../error-handler/utils/catch-async"));
8
+ const app_error_1 = __importDefault(require("../error-handler/utils/app-error"));
9
+ const auth_service_1 = __importDefault(require("./auth.service"));
10
+ const base_service_1 = __importDefault(require("../base/base.service"));
11
+ const app_1 = require("../../app");
12
+ exports.excludedUserFields = {
13
+ password: false,
14
+ passwordChangedAt: false,
15
+ passwordResetOtp: false,
16
+ passwordResetOtpExpiresAt: false,
17
+ verificationOtp: false,
18
+ verificationOptExpiresAt: false,
19
+ isVerified: false,
20
+ deletedSelfAccount: false,
21
+ active: false,
22
+ };
23
+ const authControllerFactory = (middlewares = {}) => {
24
+ return {
25
+ getMe: (0, catch_async_1.default)(async (req, res, next) => {
26
+ Object.keys(exports.excludedUserFields).forEach((key) => {
27
+ if (req.user)
28
+ delete req.user[key];
29
+ });
30
+ if (middlewares?.afterGetMe) {
31
+ req.responseData = req.user;
32
+ req.responseStatus = 200;
33
+ return next();
34
+ }
35
+ res.status(200).json(req.user);
36
+ }),
37
+ logout: (0, catch_async_1.default)(async (req, res, next) => {
38
+ res.cookie("jwt", "no-token", {
39
+ expires: new Date(Date.now() + 10 * 1000),
40
+ httpOnly: true,
41
+ });
42
+ if (middlewares?.afterLogout) {
43
+ req.responseData = null;
44
+ req.responseStatus = 204;
45
+ return next();
46
+ }
47
+ res.status(204).json();
48
+ }),
49
+ login: (0, catch_async_1.default)(async (req, res, next) => {
50
+ const { email, password } = req.body;
51
+ if (!email || !password) {
52
+ return next(new app_error_1.default("Please provide an email and a password", 400));
53
+ }
54
+ const user = await app_1.prisma.user.findUnique({
55
+ where: { email },
56
+ });
57
+ if (!user ||
58
+ !(await auth_service_1.default.isCorrectPassword(password, user.password))) {
59
+ return next(new app_error_1.default("Incorrect email or password", 401));
60
+ }
61
+ if (!user.isVerified)
62
+ return next(new app_error_1.default("You must verifiy your email in order to proceed!", 423));
63
+ const token = auth_service_1.default.signJwtToken(user.id);
64
+ const cookieOptions = {
65
+ expires: new Date(Date.now() +
66
+ Number(process.env.JWT_COOKIE_EXPIRES_IN) * 24 * 60 * 60 * 1000),
67
+ httpOnly: true,
68
+ secure: req.secure || req.headers["x-forwarded-proto"] === "https",
69
+ sameSite: process.env.JWT_SECURE != "false" ? "lax" : "none",
70
+ };
71
+ if (process.env.NODE_ENV === "production")
72
+ cookieOptions.secure = true;
73
+ res.cookie("jwt", token, cookieOptions);
74
+ if (middlewares?.afterLogin) {
75
+ req.responseData = { token };
76
+ req.responseStatus = 200;
77
+ return next();
78
+ }
79
+ res.status(200).send();
80
+ }),
81
+ signup: (0, catch_async_1.default)(async (req, res, next) => {
82
+ const userService = base_service_1.default["user"];
83
+ const user = await userService.createOne(req.body);
84
+ // const user = await (prisma as any).user.create({
85
+ // data: {
86
+ // ...req.body,
87
+ // password: await authService.hashPassword(req.body.password),
88
+ // } as any,
89
+ // })
90
+ if (middlewares?.afterSignup) {
91
+ req.responseData = { data: user };
92
+ req.responseStatus = 201;
93
+ return next();
94
+ }
95
+ Object.keys(exports.excludedUserFields).forEach((key) => {
96
+ delete user[key];
97
+ });
98
+ res.status(201).json({ data: user });
99
+ }),
100
+ verifyEmail: (0, catch_async_1.default)(async (req, res, next) => {
101
+ const { otp, email } = req.body;
102
+ // Check if email and OTP are provided
103
+ if (!email || !otp) {
104
+ return next(new app_error_1.default("Email and otp are required", 400, {
105
+ error: "Missing parameters",
106
+ }));
107
+ }
108
+ const user = await app_1.prisma.user.findUnique({
109
+ where: { email },
110
+ });
111
+ if (!user) {
112
+ return next(new app_error_1.default("No account found with this email.", 400, {
113
+ error: "user_not_found",
114
+ }));
115
+ }
116
+ if (user.isVerified)
117
+ return next(new app_error_1.default("Your email is already verified.", 400, {
118
+ error: "already_verified",
119
+ }));
120
+ if (user.verificationOtp !== otp)
121
+ return next(new app_error_1.default("The OTP is incorrect.", 400, {
122
+ error: "invalid_otp",
123
+ }));
124
+ if (user.verificationOptExpiresAt &&
125
+ new Date() > user.verificationOptExpiresAt)
126
+ return next(new app_error_1.default("The OTP has expired. Please request a new one.", 400, {
127
+ error: "expired_otp",
128
+ }));
129
+ await app_1.prisma.user.update({
130
+ where: { email },
131
+ data: {
132
+ isVerified: true,
133
+ verificationOtp: null,
134
+ verificationOptExpiresAt: null,
135
+ },
136
+ });
137
+ if (middlewares?.afterVerifyEmail) {
138
+ req.additionalData = {
139
+ user,
140
+ };
141
+ req.responseData = {
142
+ message: "Email verified successfully.",
143
+ };
144
+ req.responseStatus = 200;
145
+ return next();
146
+ }
147
+ res.status(200).json({
148
+ message: "Email verified successfully.",
149
+ });
150
+ }),
151
+ forgotPassword: (0, catch_async_1.default)(async (req, res, next) => {
152
+ if (!req.body.email)
153
+ return next(new app_error_1.default("Email is required in order to trigger forgot password", 400));
154
+ const user = await app_1.prisma.user.findUnique({
155
+ where: {
156
+ email: req.body.email,
157
+ },
158
+ });
159
+ if (!user ||
160
+ user?.active === false ||
161
+ user?.deletedSelfAccount === true)
162
+ return next(new app_error_1.default("User not found!", 404));
163
+ if (!user.isVerified)
164
+ return next(new app_error_1.default("You need to verify your account to proceed", 423, {
165
+ error: "email_verification_required",
166
+ }));
167
+ // Verifica se um OTP foi solicitado recentemente
168
+ if (user.passwordResetOtpExpiresAt) {
169
+ const now = new Date();
170
+ const lastOtpRequestedAt = new Date(new Date(user.passwordResetOtpExpiresAt).getTime() - 15 * 60 * 1000);
171
+ const timeElapsed = (now.getTime() - lastOtpRequestedAt.getTime()) / 1000;
172
+ const minInterval = 2 * 60; // 2 minutos em segundos
173
+ if (timeElapsed < minInterval)
174
+ return next(new app_error_1.default(`Please wait ${Math.ceil(minInterval - timeElapsed)} seconds before requesting a new OTP.`, 429, {
175
+ remainingTime: Math.ceil(minInterval - timeElapsed),
176
+ }));
177
+ }
178
+ const resetOtp = Math.floor(100000 + Math.random() * 900000).toString();
179
+ const resetOtpExpiresAt = new Date(Date.now() + 15 * 60 * 1000);
180
+ await app_1.prisma.user.update({
181
+ where: {
182
+ id: user.id,
183
+ },
184
+ data: {
185
+ passwordResetOtp: resetOtp,
186
+ passwordResetOtpExpiresAt: resetOtpExpiresAt,
187
+ },
188
+ });
189
+ if (middlewares?.afterForgotPassword) {
190
+ req.additionalData = {
191
+ user,
192
+ resetOtp,
193
+ };
194
+ req.responseData = {
195
+ status: "success",
196
+ message: "OTP code sent successfully!",
197
+ };
198
+ req.responseStatus = 200;
199
+ return next();
200
+ }
201
+ res.status(200).json({
202
+ status: "success",
203
+ message: "OTP code sent successfully!",
204
+ });
205
+ }),
206
+ resetPassword: (0, catch_async_1.default)(async (req, res, next) => {
207
+ const { email, otp, newPassword } = req.body;
208
+ if (!otp || !email || !newPassword)
209
+ return next(new app_error_1.default("email, otp and newPassword are required to reset password", 400));
210
+ if (!auth_service_1.default.isPasswordStrong(newPassword))
211
+ return next(new app_error_1.default("Password must contain at least one uppercase letter, one lowercase letter, and one number", 400));
212
+ const user = await app_1.prisma.user.findUnique({
213
+ where: { email },
214
+ });
215
+ if (!user?.passwordResetOtp)
216
+ return next(new app_error_1.default("You must request an otp in order to reset password!", 400, {
217
+ error: "no_requested_otp",
218
+ }));
219
+ if (await auth_service_1.default.isCorrectPassword(newPassword, user?.password))
220
+ return next(new app_error_1.default("New password must not be the same as last one!", 400, {
221
+ error: "new_password_equals_last_password",
222
+ }));
223
+ if (!user ||
224
+ user?.active === false ||
225
+ user?.deletedSelfAccount === true)
226
+ return next(new app_error_1.default("User not found!", 404));
227
+ if (!user.isVerified)
228
+ return next(new app_error_1.default("You need to verify your account to proceed", 423, {
229
+ error: "email_verification_required",
230
+ }));
231
+ if (!user.passwordResetOtp || !user.passwordResetOtpExpiresAt)
232
+ return next(new app_error_1.default("Invalid or expired OTP.", 400));
233
+ const now = new Date();
234
+ if (now > new Date(user.passwordResetOtpExpiresAt))
235
+ return next(new app_error_1.default("OTP expired. Please request a new one.", 400));
236
+ if (user.passwordResetOtp != otp)
237
+ return next(new app_error_1.default("Invalid OTP. Please try again.", 400));
238
+ await app_1.prisma.user.update({
239
+ where: { id: user.id },
240
+ data: {
241
+ password: await auth_service_1.default.hashPassword(newPassword),
242
+ passwordResetOtp: null,
243
+ passwordResetOtpExpiresAt: null,
244
+ passwordChangedAt: new Date(),
245
+ },
246
+ });
247
+ if (middlewares?.afterResetPassword) {
248
+ req.additionalData = {
249
+ user,
250
+ };
251
+ req.responseData = {
252
+ status: "success",
253
+ message: "Password reset successfully!",
254
+ };
255
+ req.responseStatus = 200;
256
+ return next();
257
+ }
258
+ res.status(200).json({
259
+ status: "success",
260
+ message: "Password reset successfully!",
261
+ });
262
+ }),
263
+ updatePassword: (0, catch_async_1.default)(async (req, res, next) => {
264
+ const { currentPassword, newPassword } = req.body;
265
+ if (!currentPassword || !newPassword)
266
+ return next(new app_error_1.default("currentPassword and newPassword are required", 400));
267
+ const user = req.user;
268
+ if (!user ||
269
+ user?.active === false ||
270
+ user?.deletedSelfAccount === true)
271
+ return next(new app_error_1.default("User not found!", 404));
272
+ if (!user.isVerified)
273
+ return next(new app_error_1.default("You need to verify your account to proceed", 423, {
274
+ error: "email_verification_required",
275
+ }));
276
+ // Check if the current password is correct
277
+ const isPasswordCorrect = await auth_service_1.default.isCorrectPassword(String(currentPassword), String(user.password));
278
+ if (!isPasswordCorrect)
279
+ return next(new app_error_1.default("Current password is incorrect.", 400));
280
+ // Check password strength (optional but recommended)
281
+ if (!auth_service_1.default.isPasswordStrong(String(newPassword)))
282
+ return next(new app_error_1.default("Password must contain at least one uppercase letter, one lowercase letter, and one number", 400));
283
+ // Update the password
284
+ await app_1.prisma.user.update({
285
+ where: { id: user.id },
286
+ data: {
287
+ password: await auth_service_1.default.hashPassword(newPassword),
288
+ passwordChangedAt: new Date(),
289
+ },
290
+ });
291
+ if (middlewares?.afterUpdatePassword) {
292
+ req.additionalData = {
293
+ user,
294
+ };
295
+ req.responseData = {
296
+ status: "success",
297
+ message: "Password updated successfully!",
298
+ };
299
+ req.responseStatus = 200;
300
+ return next();
301
+ }
302
+ res.status(200).json({
303
+ status: "success",
304
+ message: "Password updated successfully!",
305
+ });
306
+ }),
307
+ };
308
+ };
309
+ exports.authControllerFactory = authControllerFactory;
310
+ //# sourceMappingURL=auth.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../main/modules/auth/auth.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Router } from "express";
2
+ declare const router: Router;
3
+ export default router;
4
+ //# sourceMappingURL=auth.router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.router.d.ts","sourceRoot":"","sources":["../../../../main/modules/auth/auth.router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC,QAAA,MAAM,MAAM,EAAE,MAAiB,CAAC;AAmHhC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,64 @@
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
+ const express_1 = require("express");
7
+ const auth_controller_1 = require("./auth.controller");
8
+ const auth_service_1 = __importDefault(require("./auth.service"));
9
+ const express_rate_limit_1 = __importDefault(require("express-rate-limit"));
10
+ const models_helpers_1 = require("../../utils/helpers/models.helpers");
11
+ const base_middlewares_1 = require("../base/base.middlewares");
12
+ const router = (0, express_1.Router)();
13
+ (async function () {
14
+ const { middlewares } = await (0, models_helpers_1.importPrismaModelModules)("auth");
15
+ const authController = (0, auth_controller_1.authControllerFactory)(middlewares);
16
+ router.get("/users/me", auth_service_1.default.authenticate, middlewares?.beforeGetMe ?? authController.getMe, middlewares?.beforeGetMe
17
+ ? authController.getMe
18
+ : middlewares?.afterGetMe ?? base_middlewares_1.sendResponse, middlewares?.beforeGetMe && middlewares?.afterGetMe
19
+ ? middlewares?.afterGetMe
20
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
21
+ router.use((0, express_rate_limit_1.default)({
22
+ windowMs: 5000,
23
+ limit: 10,
24
+ standardHeaders: "draft-7",
25
+ legacyHeaders: false,
26
+ }));
27
+ router.post("/auth/login", middlewares?.beforeLogin ?? authController.login, middlewares?.beforeLogin
28
+ ? authController.login
29
+ : middlewares?.afterLogin ?? base_middlewares_1.sendResponse, middlewares?.beforeLogin && middlewares?.afterLogin
30
+ ? middlewares?.afterLogin
31
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
32
+ router.delete("/auth/logout", auth_service_1.default.authenticate, middlewares?.beforeLogout ?? authController.logout, middlewares?.beforeLogout
33
+ ? authController.logout
34
+ : middlewares?.afterLogout ?? base_middlewares_1.sendResponse, middlewares?.beforeLogout && middlewares?.afterLogout
35
+ ? middlewares?.afterLogout
36
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
37
+ router.post("/auth/signup", middlewares?.beforeSignup ?? authController.signup, middlewares?.beforeSignup
38
+ ? authController.signup
39
+ : middlewares?.afterSignup ?? base_middlewares_1.sendResponse, middlewares?.beforeSignup && middlewares?.afterSignup
40
+ ? middlewares?.afterSignup
41
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
42
+ router.post("/auth/verify-email", middlewares?.beforeVerifyEmail ?? authController.verifyEmail, middlewares?.beforeVerifyEmail
43
+ ? authController.verifyEmail
44
+ : middlewares?.afterVerifyEmail ?? base_middlewares_1.sendResponse, middlewares?.beforeVerifyEmail && middlewares?.afterVerifyEmail
45
+ ? middlewares?.afterVerifyEmail
46
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
47
+ router.post("/auth/forgot-password", middlewares?.beforeForgotPassword ?? authController.forgotPassword, middlewares?.beforeForgotPassword
48
+ ? authController.forgotPassword
49
+ : middlewares?.afterForgotPassword ?? base_middlewares_1.sendResponse, middlewares?.beforeForgotPassword && middlewares?.afterForgotPassword
50
+ ? middlewares?.afterForgotPassword
51
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
52
+ router.post("/auth/reset-password", middlewares?.beforeResetPassword ?? authController.resetPassword, middlewares?.beforeResetPassword
53
+ ? authController.resetPassword
54
+ : middlewares?.afterResetPassword ?? base_middlewares_1.sendResponse, middlewares?.beforeResetPassword && middlewares?.afterResetPassword
55
+ ? middlewares?.afterResetPassword
56
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
57
+ router.post("/auth/update-password", auth_service_1.default.authenticate, middlewares?.beforeUpdatePassword ?? authController.updatePassword, middlewares?.beforeUpdatePassword
58
+ ? authController.updatePassword
59
+ : middlewares?.afterUpdatePassword ?? base_middlewares_1.sendResponse, middlewares?.beforeUpdatePassword && middlewares?.afterUpdatePassword
60
+ ? middlewares?.afterUpdatePassword
61
+ : base_middlewares_1.sendResponse, base_middlewares_1.sendResponse);
62
+ })();
63
+ exports.default = router;
64
+ //# sourceMappingURL=auth.router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.router.js","sourceRoot":"","sources":["../../../../main/modules/auth/auth.router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { AuthConfigs, AuthJwtPayload, ControllerActions, User } from "../../types";
2
+ import { NextFunction, Request, Response } from "express";
3
+ declare class AuthService {
4
+ signJwtToken(id: number | string, expiresIn?: string | number, secret?: string): string;
5
+ isCorrectPassword(candidatePassword: string, userPassword: string): Promise<boolean>;
6
+ hashPassword(password: string): Promise<string>;
7
+ isPasswordStrong(password: string): boolean;
8
+ userChangedPasswordAfter(user: User, JWTTimestamp: number): boolean;
9
+ verifyJwtToken(token: string, secret?: string): Promise<AuthJwtPayload>;
10
+ handleActionAccessControl(authConfigs: AuthConfigs, action: ControllerActions, modelName: string): (req: Request, res: Response, next: NextFunction) => void;
11
+ authenticate: (req: Request, res: Response, next: NextFunction) => void;
12
+ handleAuthenticationControl(authConfigs: AuthConfigs | undefined, action: ControllerActions, modelName: string): (req: Request, res: Response, next: NextFunction) => void;
13
+ }
14
+ declare const authService: AuthService;
15
+ export default authService;
16
+ //# sourceMappingURL=auth.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../main/modules/auth/auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,IAAI,EAEL,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK1D,cAAM,WAAW;IACf,YAAY,CACV,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,SAAS,GAAE,MAAM,GAAG,MAA2C,EAC/D,MAAM,GAAE,MAAwD,GAC/D,MAAM;IAMH,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAIjE,YAAY,CAAC,QAAQ,EAAE,MAAM;IAInC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAQjC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM;IAYnD,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAgC,GACvC,OAAO,CAAC,cAAc,CAAC;IAS1B,yBAAyB,CACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM;IA8BnB,YAAY,4DA2EV;IAEF,2BAA2B,CACzB,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM;CAapB;AAED,QAAA,MAAM,WAAW,aAAoB,CAAC;AAEtC,eAAe,WAAW,CAAC"}