@starklabs/forge 1.3.4 → 1.3.6

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 (64) hide show
  1. package/dist/js/auth/builtin/getValidations.d.ts.map +1 -1
  2. package/dist/js/auth/builtin/getValidations.js +40 -24
  3. package/dist/js/auth/builtin/getValidations.js.map +1 -1
  4. package/dist/js/auth/forgotPassword.d.ts.map +1 -1
  5. package/dist/js/auth/forgotPassword.js +9 -5
  6. package/dist/js/auth/forgotPassword.js.map +1 -1
  7. package/dist/js/auth/index.d.ts.map +1 -1
  8. package/dist/js/auth/index.js +2 -0
  9. package/dist/js/auth/index.js.map +1 -1
  10. package/dist/js/auth/login.d.ts.map +1 -1
  11. package/dist/js/auth/login.js +9 -4
  12. package/dist/js/auth/login.js.map +1 -1
  13. package/dist/js/auth/refresh.js +2 -2
  14. package/dist/js/auth/refresh.js.map +1 -1
  15. package/dist/js/auth/resendOTP.d.ts.map +1 -1
  16. package/dist/js/auth/resendOTP.js +20 -11
  17. package/dist/js/auth/resendOTP.js.map +1 -1
  18. package/dist/js/auth/resetPassword.d.ts.map +1 -1
  19. package/dist/js/auth/resetPassword.js +21 -13
  20. package/dist/js/auth/resetPassword.js.map +1 -1
  21. package/dist/js/auth/signup.d.ts.map +1 -1
  22. package/dist/js/auth/signup.js +14 -7
  23. package/dist/js/auth/signup.js.map +1 -1
  24. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  25. package/dist/js/auth/utils/authenticateUser.js +11 -6
  26. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  27. package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
  28. package/dist/js/auth/utils/createOTPModel.js +8 -2
  29. package/dist/js/auth/utils/createOTPModel.js.map +1 -1
  30. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
  31. package/dist/js/auth/utils/createOTPUser.js +19 -10
  32. package/dist/js/auth/utils/createOTPUser.js.map +1 -1
  33. package/dist/js/auth/utils/createUser.d.ts.map +1 -1
  34. package/dist/js/auth/utils/createUser.js +9 -4
  35. package/dist/js/auth/utils/createUser.js.map +1 -1
  36. package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -1
  37. package/dist/js/auth/utils/getOTPUser.js +10 -2
  38. package/dist/js/auth/utils/getOTPUser.js.map +1 -1
  39. package/dist/js/auth/utils/getUser.d.ts.map +1 -1
  40. package/dist/js/auth/utils/getUser.js +12 -3
  41. package/dist/js/auth/utils/getUser.js.map +1 -1
  42. package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
  43. package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
  44. package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -1
  45. package/dist/js/auth/utils/otpVerifiedResponse.js +9 -5
  46. package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
  47. package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
  48. package/dist/js/auth/utils/verifyCredentials.js +9 -4
  49. package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
  50. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  51. package/dist/js/auth/verifyOTP.js +20 -12
  52. package/dist/js/auth/verifyOTP.js.map +1 -1
  53. package/dist/js/config/envs.js +5 -5
  54. package/dist/js/config/envs.js.map +1 -1
  55. package/dist/js/lib/model.factory.d.ts.map +1 -1
  56. package/dist/js/lib/model.factory.js +4 -1
  57. package/dist/js/lib/model.factory.js.map +1 -1
  58. package/dist/js/types/Constructor.d.ts +7 -5
  59. package/dist/js/types/Constructor.d.ts.map +1 -1
  60. package/dist/js/utils/response.d.ts +1 -1
  61. package/dist/js/utils/response.d.ts.map +1 -1
  62. package/dist/js/utils/response.js +6 -4
  63. package/dist/js/utils/response.js.map +1 -1
  64. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getValidations.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa/D,QAAA,MAAM,iBAAiB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;;;CAmC3D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"getValidations.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc/D,QAAA,MAAM,iBAAiB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;;;CAmD3D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,34 +1,50 @@
1
1
  import { buildZodObject } from "../../lib/zod.factory.js";
2
2
  import fields from "../../lib/unified.fields.js";
3
3
  import { getEnvs } from "../../config/envs.js";
4
+ import AppLog from "../../utils/AppLog.js";
4
5
  const helper = (obj, arr, internal) => {
5
6
  return buildZodObject(obj, arr, internal).shape;
6
7
  };
7
8
  const getValidationsObj = (obj) => {
8
- const { authConfigObj } = getEnvs();
9
- const { otp, purpose } = authConfigObj?.fieldsObj;
10
- if (!otp || !purpose)
11
- throw new Error("name, email, password, otp, provider and purpose all are required in ");
12
- const login = helper(obj, ["email", "password"]);
13
- const signup = helper(obj, ["name", "email", "password"]);
14
- const verifyOTP = helper({
15
- [otp]: fields.otp,
16
- [purpose]: fields.purposeOTP,
17
- ...obj,
18
- }, ["email", otp, purpose]);
19
- const resendOTP = helper({ [purpose]: fields.purposeOTP, ...obj }, [
20
- "email",
21
- purpose,
22
- ]);
23
- const forgotPassword = helper(obj, ["email"]);
24
- return {
25
- login,
26
- signup,
27
- verifyOTP,
28
- resendOTP,
29
- forgotPassword,
30
- resetPassword: login,
31
- };
9
+ try {
10
+ const { authConfigObj } = getEnvs();
11
+ const { otp, purpose, email, password } = authConfigObj?.fieldsObj;
12
+ if (!otp || !purpose || !email || !password)
13
+ throw new Error("email, password, otp and purpose all fields are required in authConfig.fieldsObj ");
14
+ const login = helper(obj, [email, password]);
15
+ let signupKeys = [];
16
+ for (const key in obj) {
17
+ signupKeys.push(key);
18
+ }
19
+ const signup = helper(obj, signupKeys);
20
+ const verifyOTP = helper({
21
+ [otp]: fields.otp,
22
+ [purpose]: fields.purposeOTP,
23
+ ...obj,
24
+ }, [email, otp, purpose]);
25
+ const resendOTP = helper({ [purpose]: fields.purposeOTP, ...obj }, [
26
+ email,
27
+ purpose,
28
+ ]);
29
+ const forgotPassword = helper(obj, [email]);
30
+ return {
31
+ login,
32
+ signup,
33
+ verifyOTP,
34
+ resendOTP,
35
+ forgotPassword,
36
+ resetPassword: login,
37
+ };
38
+ }
39
+ catch (error) {
40
+ let message = error.message;
41
+ if (message.includes("schema")) {
42
+ message = message.replace("schema", "'authConfig.schemaObj.schema'");
43
+ message = message.replace("does not exist", "is required");
44
+ AppLog("x", "schemaObj", message);
45
+ }
46
+ process.exit(1);
47
+ }
32
48
  };
33
49
  export default getValidationsObj;
34
50
  //# sourceMappingURL=getValidations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getValidations.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,MAAM,GAAG,CACb,GAAiC,EACjC,GAAa,EACb,QAAuC,EACvC,EAAE;IACF,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAiC,EAAE,EAAE;IAC9D,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,SAAU,CAAC;IAEnD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;QAClB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;IAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,MAAM,CACtB;QACE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;QACjB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU;QAC5B,GAAG,GAAG;KACP,EACD,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,EAAE,EAAE;QACjE,OAAO;QACP,OAAO;KACR,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9C,OAAO;QACL,KAAK;QACL,MAAM;QACN,SAAS;QACT,SAAS;QACT,cAAc;QACd,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"getValidations.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,MAAM,MAAM,GAAG,CACb,GAAiC,EACjC,GAAa,EACb,QAAuC,EACvC,EAAE;IACF,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAiC,EAAE,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,SAAU,CAAC;QAEpE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;YACzC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CACtB;YACE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;YACjB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU;YAC5B,GAAG,GAAG;SACP,EACD,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACtB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,EAAE,EAAE;YACjE,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5C,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS;YACT,SAAS;YACT,cAAc;YACd,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,GAAI,KAAe,CAAC,OAAO,CAAC;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;YACrE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMjD,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAiC1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOjD,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuC1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -4,22 +4,26 @@ import createOTPUser from "./utils/createOTPUser.js";
4
4
  import getUser from "./utils/getUser.js";
5
5
  import getValidationKey from "../utils/validationKeyError.js";
6
6
  import getErrorDetail from "../utils/getErrorDetail.js";
7
+ import { getEnvs } from "../config/envs.js";
7
8
  const forgotPassword = ({ modelName, routeName, validationsObj, routeObj, }) => {
8
9
  return async (req, res) => {
10
+ const { authConfigObj } = getEnvs();
11
+ const { fieldsObj } = authConfigObj;
12
+ const emailKey = fieldsObj?.email;
9
13
  const validationObj = getValidationKey(routeObj, validationsObj);
10
14
  const body = validate(validationObj, req.body, routeObj);
11
- if (!req.body.email)
15
+ if (!req.body?.[emailKey])
12
16
  throw new AppError({
13
- message: "Email is required",
17
+ message: `${emailKey} is required.`,
14
18
  statusCode: 409,
15
- hint: 'Provide email your email for resetting password',
19
+ hint: `Provide your ${emailKey} for resetting password.`,
16
20
  details: getErrorDetail(routeObj),
17
21
  });
18
22
  await getUser({
19
23
  modelName,
20
24
  routeName,
21
- email: body.email,
22
- routeObj
25
+ email: body[emailKey],
26
+ routeObj,
23
27
  });
24
28
  await createOTPUser({
25
29
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;YACjB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,mBAAmB;gBAC5B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,iDAAiD;gBACvD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,OAAO,CAAC;YACZ,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,gBAAgB;YACzB,SAAS;YACT,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAGlC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,eAAe;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gBAAgB,QAAQ,0BAA0B;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,OAAO,CAAC;YACZ,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,QAAS,CAAW;YAChC,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,gBAAgB;YACzB,SAAS;YACT,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,EAC/B,oBAAoB,cAAc,SA4CnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,EAC/B,oBAAoB,cAAc,SA8CnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -17,6 +17,8 @@ const auth = (app, routeName, routes, modelName, validationsObj, mongooseSchemaO
17
17
  : item);
18
18
  }
19
19
  envs.userModelName = modelName;
20
+ if (!mongooseSchemaObj)
21
+ throw new Error("User model schema should also be written in auth collection");
20
22
  const otpUserModel = createOTPModel(routeName, mongooseSchemaObj);
21
23
  registerModel["otpUser"] = otpUserModel;
22
24
  for (const routeObj of routes) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,iBAAkC,EAClC,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,SAAmB,CAAC;IAKzC,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,iBAAkB,CAAC,CAAC;IACnE,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IAGxC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAElB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,GAAG,UAAU,EACb,YAAY,CACV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc,EAAE,iBAAiB,IAAI,cAAc;SACpD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,iBAAkC,EAClC,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,SAAmB,CAAC;IAEzC,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAKtG,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,iBAAkB,CAAC,CAAC;IACnE,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IAGxC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAElB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,GAAG,UAAU,EACb,YAAY,CACV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc,EAAE,iBAAiB,IAAI,cAAc;SACpD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,KAAK,GAAI,qDAKZ;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA0B1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQpE,QAAA,MAAM,KAAK,GAAI,qDAKZ;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgC1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -3,15 +3,20 @@ import validate from "../utils/validate.js";
3
3
  import AppError from "../utils/AppError.js";
4
4
  import getValidationKey from "../utils/validationKeyError.js";
5
5
  import getErrorDetail from "../utils/getErrorDetail.js";
6
+ import { getEnvs } from "../config/envs.js";
6
7
  const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
7
8
  return async (req, res) => {
9
+ const { authConfigObj } = getEnvs();
10
+ const { fieldsObj } = authConfigObj;
11
+ const emailKey = fieldsObj?.email;
12
+ const passwordKey = fieldsObj?.password;
8
13
  const validationObj = getValidationKey(routeObj, validationsObj);
9
14
  const body = validate(validationObj, req.body, routeObj);
10
- if (!req.body.email || !req.body.password)
15
+ if (!req.body?.[emailKey] || !req.body?.[passwordKey])
11
16
  throw new AppError({
12
- message: "Email and password are required",
17
+ message: `${emailKey} and ${passwordKey} are required.`,
13
18
  statusCode: 409,
14
- hint: 'Provide email and password to login',
19
+ hint: `Provide ${emailKey} and ${passwordKey} to login.`,
15
20
  details: getErrorDetail(routeObj),
16
21
  });
17
22
  await modeMap.login[routeObj.mode]({
@@ -21,7 +26,7 @@ const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
21
26
  routeName,
22
27
  modelName,
23
28
  routeObj,
24
- req
29
+ req,
25
30
  });
26
31
  };
27
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ;YACvC,MAAM,IAAI,QAAQ,CAAC;gBAChB,OAAO,EAAE,iCAAiC;gBAC3C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qCAAqC;gBAC3C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YAClC,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAGxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAY,CAAC;YACrD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,YAAY;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YAClC,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -19,7 +19,7 @@ const refresh = ({ routeObj }) => {
19
19
  message: "Refresh token is missing",
20
20
  code: "REFRESH_TOKEN_MISSING",
21
21
  details: getErrorDetail(routeObj),
22
- hint: "Sign in again to create a new authentication session.",
22
+ hint: "Log in again to create a new authentication session.",
23
23
  statusCode: 401,
24
24
  });
25
25
  const payload = verifyJWT({
@@ -31,7 +31,7 @@ const refresh = ({ routeObj }) => {
31
31
  message: "Refresh token payload is invalid",
32
32
  code: "REFRESH_TOKEN_PAYLOAD_INVALID",
33
33
  statusCode: 401,
34
- hint: "Sign in again to obtain a valid refresh token.",
34
+ hint: "Log in again to obtain a valid refresh token.",
35
35
  details: getErrorDetail(routeObj),
36
36
  });
37
37
  const foundRefreshToken = await findRefreshToken(payload.sub, payload.jti, routeObj);
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resendOTP.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYpE,QAAA,MAAM,SAAS,GAAI,qDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA+D1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"resendOTP.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYpE,QAAA,MAAM,SAAS,GAAI,qDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgF1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -7,40 +7,49 @@ import getOTPUser from "./utils/getOTPUser.js";
7
7
  import getUser from "./utils/getUser.js";
8
8
  import getValidationKey from "../utils/validationKeyError.js";
9
9
  import getErrorDetail from "../utils/getErrorDetail.js";
10
+ import { getEnvs } from "../config/envs.js";
10
11
  const resendOTP = ({ modelName, routeName, validationsObj, routeObj, }) => {
11
12
  return async (req, res) => {
13
+ const { authConfigObj } = getEnvs();
14
+ const { fieldsObj } = authConfigObj;
15
+ const emailKey = fieldsObj?.email;
16
+ const passwordKey = fieldsObj?.password;
17
+ const otpKey = fieldsObj?.otp;
18
+ const purposeKey = fieldsObj?.purpose;
12
19
  const validationObj = getValidationKey(routeObj, validationsObj);
13
20
  const body = validate(validationObj, req.body, routeObj);
14
- if (!req.body.purpose || !req.body.email)
21
+ if (!req.body?.[emailKey] ||
22
+ !req.body?.[otpKey] ||
23
+ !req.body?.[purposeKey])
15
24
  throw new AppError({
16
- message: "email and purpose are required.",
25
+ message: `${emailKey}, ${otpKey}, and ${purposeKey} are required.`,
17
26
  statusCode: 400,
18
- hint: 'Provide email and purpose (e.g. "login", "signup", "password_reset") in the request body.',
27
+ hint: `Provide ${emailKey}, ${otpKey}, and ${purposeKey} in the request body.`,
19
28
  details: getErrorDetail(routeObj),
20
29
  });
21
30
  await getUser({
22
31
  modelName,
23
32
  routeName,
24
- email: body.email,
25
- routeObj
33
+ email: body[emailKey],
34
+ routeObj,
26
35
  });
27
36
  const OTPUser = await getOTPUser({
28
- email: body.email,
29
- purpose: body.purpose,
37
+ email: body[emailKey],
38
+ purpose: body[purposeKey],
30
39
  routeObj,
31
40
  });
32
41
  if (OTPUser.isVerified) {
33
42
  appResponse({
34
43
  res,
35
- message: `${body.purpose}: OTP has already been verified.`,
44
+ message: `${body[purposeKey]}: OTP has already been verified.`,
36
45
  data: undefined,
37
46
  });
38
47
  return;
39
48
  }
40
- const { OTP, otpExpiry } = await sendOTP(body.email, routeObj);
49
+ const { OTP, otpExpiry } = await sendOTP(body[emailKey], routeObj);
41
50
  const hashedOTP = await hash(OTP, routeObj);
42
51
  OTPUser.otpCount = 0;
43
- OTPUser.OTP = hashedOTP;
52
+ OTPUser[otpKey] = hashedOTP;
44
53
  OTPUser.otpExpiry = otpExpiry;
45
54
  OTPUser.isVerified = false;
46
55
  await OTPUser.save();
@@ -49,7 +58,7 @@ const resendOTP = ({ modelName, routeName, validationsObj, routeObj, }) => {
49
58
  message: "OTP resent successfully!",
50
59
  statusCode: 200,
51
60
  data: {
52
- nextStep: `go to /verify-otp with purpose: ${req.body.purpose}`,
61
+ nextStep: `go to /verify-otp with ${purposeKey}: ${req.body[purposeKey]}`,
53
62
  },
54
63
  });
55
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resendOTP.js","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;YACtC,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,iCAAiC;gBAC1C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,2FAA2F;gBACjG,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,OAAO,CAAC;YACZ,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAiB;YAC/B,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,WAAW,CAAC;gBACV,GAAG;gBACH,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,kCAAkC;gBAC1D,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAGD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAe,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;QACxB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAG3B,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAGrB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE;gBACJ,QAAQ,EAAE,mCAAmC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;aAChE;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"resendOTP.js","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,aAAa,GAAI,qDAKpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA4D1C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,aAAa,GAAI,qDAKpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA2E1C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -8,40 +8,48 @@ import getOTPModel from "./utils/getOTPModel.js";
8
8
  import appResponse from "../utils/response.js";
9
9
  import getValidationKey from "../utils/validationKeyError.js";
10
10
  import getErrorDetail from "../utils/getErrorDetail.js";
11
+ import { getEnvs } from "../config/envs.js";
11
12
  const resetPassword = ({ modelName, routeObj, routeName, validationsObj, }) => {
12
13
  return async (req, res) => {
14
+ const { authConfigObj } = getEnvs();
15
+ const { fieldsObj } = authConfigObj;
16
+ const emailKey = fieldsObj?.email;
17
+ const passwordKey = fieldsObj?.password;
18
+ const otpKey = fieldsObj?.otp;
19
+ const purposeKey = fieldsObj?.purpose;
13
20
  const validationObj = getValidationKey(routeObj, validationsObj);
14
21
  const body = validate(validationObj, req.body, routeObj);
15
- if (!req.body.email || !req.body.password)
22
+ if (!req.body?.[emailKey] || !req.body?.[passwordKey])
16
23
  throw new AppError({
17
- message: "email and password are required.",
24
+ message: `${emailKey} and ${passwordKey} are required.`,
18
25
  statusCode: 400,
19
- hint: "Provide email and password in the request body.",
26
+ hint: `Provide ${emailKey} and ${passwordKey} in the request body.`,
20
27
  details: getErrorDetail(routeObj),
21
28
  });
29
+ const purpose = "password_reset";
22
30
  await getOTPUser({
23
- email: body.email,
24
- purpose: "password_reset",
31
+ email: body[emailKey],
32
+ purpose,
25
33
  routeObj,
26
34
  });
27
35
  const { isVerified } = await handleIsVerified({
28
- email: body.email,
29
- purpose: "password_reset",
30
- routeObj
36
+ email: body[emailKey],
37
+ purpose,
38
+ routeObj,
31
39
  });
32
40
  const user = await getUser({
33
41
  modelName,
34
42
  routeName,
35
- email: body.email,
36
- routeObj
43
+ email: body[emailKey],
44
+ routeObj,
37
45
  });
38
- user.password = await hash(body.password, routeObj);
46
+ user[passwordKey] = await hash(body[passwordKey], routeObj);
39
47
  await user.save();
40
48
  const OTPModel = getOTPModel(routeObj);
41
49
  if (isVerified)
42
50
  await OTPModel.deleteOne({
43
- email: body.email,
44
- purpose: "password_reset",
51
+ [emailKey]: body[emailKey],
52
+ [purposeKey]: purpose,
45
53
  });
46
54
  appResponse({
47
55
  res,
@@ -1 +1 @@
1
- {"version":3,"file":"resetPassword.js","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ;YACvC,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,kCAAkC;gBAC3C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,iDAAiD;gBACvD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,UAAU,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,OAAO,EAAE,gBAAgB;YACzB,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,gBAAgB,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,OAAO,EAAE,gBAAgB;YACzB,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAkB,EAAE,QAAQ,CAAC,CAAC;QAG9D,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,UAAU;YACZ,MAAM,QAAQ,CAAC,SAAS,CAAC;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;QAEL,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,8BAA8B;YACvC,IAAI,EAAE;gBACJ,QAAQ,EAAE,cAAc;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"resetPassword.js","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuC1C,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA+C1C,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,24 +4,31 @@ import modeMap from "./utils/modeMap.js";
4
4
  import getModel from "../utils/getModel.js";
5
5
  import getValidationKey from "../utils/validationKeyError.js";
6
6
  import getErrorDetail from "../utils/getErrorDetail.js";
7
+ import { getEnvs } from "../config/envs.js";
7
8
  const signup = ({ modelName, routeObj, routeName, validationsObj, }) => {
8
9
  return async (req, res) => {
10
+ const { authConfigObj } = getEnvs();
11
+ const { fieldsObj } = authConfigObj;
12
+ const emailKey = fieldsObj?.email;
13
+ const passwordKey = fieldsObj?.password;
9
14
  const validationObj = getValidationKey(routeObj, validationsObj);
10
15
  const body = validate(validationObj, req.body, routeObj);
11
- if (!req.body.email || !req.body.password)
16
+ if (!req.body[emailKey] || !req.body[passwordKey])
12
17
  throw new AppError({
13
- message: "email and password are required.",
18
+ message: `${emailKey} and ${passwordKey} are required.`,
14
19
  statusCode: 400,
15
- hint: "Provide email and password in the request body.",
20
+ hint: `Provide ${emailKey} and ${passwordKey} in the request body.`,
16
21
  details: getErrorDetail(routeObj),
17
22
  });
18
23
  const Model = getModel({ modelName, routeName, routeObj });
19
- const existing = await Model.findOne({ email: body.email });
24
+ const existing = await Model.findOne({
25
+ [emailKey]: body[emailKey],
26
+ });
20
27
  if (existing)
21
28
  throw new AppError({
22
- message: "User with this email already exists.",
29
+ message: `User with this ${emailKey} already exists.`,
23
30
  statusCode: 409,
24
- hint: "Login with the existing account or use a different email address.",
31
+ hint: `Login with the existing account or use a different ${emailKey}.`,
25
32
  details: getErrorDetail(routeObj),
26
33
  });
27
34
  await modeMap.signup[routeObj.mode]({
@@ -31,7 +38,7 @@ const signup = ({ modelName, routeObj, routeName, validationsObj, }) => {
31
38
  modelName,
32
39
  purpose: "signup",
33
40
  routeObj,
34
- req
41
+ req,
35
42
  });
36
43
  };
37
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ;YACvC,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,kCAAkC;gBAC3C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,iDAAiD;gBACvD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE5D,IAAI,QAAQ;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sCAAsC;gBAC/C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mEAAmE;gBACzE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YACnC,IAAI;YACJ,GAAG;YACH,SAAS;YACT,SAAS;YACT,OAAO,EAAE,QAAQ;YACjB,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAGxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAY,CAAC;YACjD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,uBAAuB;gBACnE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YACnC,CAAC,QAAS,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAI,QAAQ;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,kBAAkB,QAAQ,kBAAkB;gBACrD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sDAAsD,QAAQ,GAAG;gBACvE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YACnC,IAAI;YACJ,GAAG;YACH,SAAS;YACT,SAAS;YACT,OAAO,EAAE,QAAQ;YACjB,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"authenticateUser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOvD,QAAA,MAAM,gBAAgB,GAAU,qDAO7B;IACD,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,kBA0FA,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"authenticateUser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOvD,QAAA,MAAM,gBAAgB,GAAU,qDAO7B;IACD,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,kBAqGA,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -12,31 +12,36 @@ import saveRefreshToken from "../../utils/saveRefreshToken.js";
12
12
  import tokenInfo from "./UAParser.js";
13
13
  import { hash } from "../../utils/libsodium.js";
14
14
  const authenticateUser = async ({ body, modelName, res, req, routeName, routeObj, }) => {
15
+ const { authConfigObj } = getEnvs();
16
+ const { fieldsObj } = authConfigObj;
17
+ const emailKey = fieldsObj?.email;
18
+ const passwordKey = fieldsObj?.password;
19
+ const otpKey = fieldsObj?.otp;
20
+ const purposeKey = fieldsObj?.purpose;
15
21
  const OTPModel = getOTPModel(routeObj);
16
22
  const { deviceType, familyId, jti, deviceName, ipAddress, os } = tokenInfo(req);
17
- const { authConfigObj } = getEnvs();
18
23
  let isVerified = false;
19
24
  let isOTPUser = null;
20
25
  if ("isVerified" in body)
21
26
  ({ isVerified, isOTPUser } = await handleIsVerified({
22
- email: body.email,
27
+ email: body[emailKey],
23
28
  purpose: "login",
24
29
  routeObj,
25
30
  }));
26
31
  const user = await getUser({
27
32
  modelName,
28
33
  routeName,
29
- email: body.email,
34
+ email: body[emailKey],
30
35
  needPassword: true,
31
36
  routeObj,
32
37
  });
33
38
  if (!isOTPUser) {
34
- const isValid = await verifyHash(body.password, user.password, routeObj);
39
+ const isValid = await verifyHash(body[passwordKey], user.password, routeObj);
35
40
  if (!isValid)
36
41
  throw new AppError({
37
42
  message: "Invalid password.",
38
43
  statusCode: 409,
39
- hint: "Verify your password and try again.",
44
+ hint: `Verify your ${passwordKey} and try again.`,
40
45
  details: getErrorDetail(routeObj),
41
46
  });
42
47
  }
@@ -76,7 +81,7 @@ const authenticateUser = async ({ body, modelName, res, req, routeName, routeObj
76
81
  data: sanitizeOne(user.toObject(), routeObj),
77
82
  accessToken: authConfigObj?.returnAccessToken ? accessToken : undefined,
78
83
  refreshToken: authConfigObj?.returnRefreshToken ? refreshToken : undefined,
79
- purpose: body.purpose,
84
+ purpose: body[purposeKey],
80
85
  });
81
86
  };
82
87
  export default authenticateUser;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticateUser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authenticateUser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createOTPModel.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/createOTPModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGrE,QAAA,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,mBAAmB,SAAS,QAgDtE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"createOTPModel.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/createOTPModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAIrE,QAAA,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,mBAAmB,SAAS,QAwDtE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import createModel from "../../lib/model.factory.js";
2
2
  import otpPurposes from "../../utils/otpPurposes.js";
3
+ import { getEnvs } from "../../config/envs.js";
3
4
  const createOTPModel = (routeName, mongooseSchemaObj) => {
5
+ const { authConfigObj } = getEnvs();
6
+ const { fieldsObj } = authConfigObj;
7
+ const emailKey = fieldsObj?.email;
8
+ const otpKey = fieldsObj?.otp;
9
+ const purposeKey = fieldsObj?.purpose;
4
10
  const makeOptional = (field) => {
5
11
  if (Array.isArray(field)) {
6
12
  return field.map(makeOptional);
@@ -21,12 +27,12 @@ const createOTPModel = (routeName, mongooseSchemaObj) => {
21
27
  return createModel("otpUser", {
22
28
  ...optionalSchema,
23
29
  otpCount: { type: Number, default: 0 },
24
- OTP: { type: String },
30
+ [otpKey]: { type: String },
25
31
  otpExpiry: { type: Date },
26
32
  isVerified: { type: Boolean, default: false },
27
33
  maxOTPTries: { type: Number, default: 10 },
28
34
  role: { type: String, enum: ["user", "admin"], default: "user" },
29
- purpose: {
35
+ [purposeKey]: {
30
36
  type: String,
31
37
  enum: otpPurposes,
32
38
  required: true,
@@ -1 +1 @@
1
- {"version":3,"file":"createOTPModel.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/createOTPModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,iBAA4B,EAAE,EAAE;IAEzE,MAAM,YAAY,GAAG,CAAC,KAAU,EAAO,EAAE;QAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAGD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1D,OAAO;gBACL,GAAG,KAAK;gBACR,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAGD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEvD,OAAO,WAAW,CAChB,SAAS,EACT;QACE,GAAG,cAAc;QAEjB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACrB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACzB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE;QAChE,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;KACF,EACD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"createOTPModel.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/createOTPModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,iBAA4B,EAAE,EAAE;IAEzE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAEpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC;IAC9B,MAAM,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC;IAGtC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAO,EAAE;QAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAGD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1D,OAAO;gBACL,GAAG,KAAK;gBACR,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;QAGD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEvD,OAAO,WAAW,CAChB,SAAS,EACT;QACE,GAAG,cAAc;QAEjB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,CAAC,MAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACzB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE;QAChE,CAAC,UAAW,CAAC,EAAE;YACb,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;SACf;KACF,EACD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}