@starklabs/forge 1.3.2 → 1.3.4

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 (127) hide show
  1. package/dist/js/app.d.ts +2 -1
  2. package/dist/js/app.d.ts.map +1 -1
  3. package/dist/js/app.js +4 -4
  4. package/dist/js/app.js.map +1 -1
  5. package/dist/js/auth/builtin/auth.collection.d.ts.map +1 -1
  6. package/dist/js/auth/builtin/auth.collection.js +5 -0
  7. package/dist/js/auth/builtin/auth.collection.js.map +1 -1
  8. package/dist/js/auth/bunch.auth.d.ts +1 -0
  9. package/dist/js/auth/bunch.auth.d.ts.map +1 -1
  10. package/dist/js/auth/bunch.auth.js +1 -0
  11. package/dist/js/auth/bunch.auth.js.map +1 -1
  12. package/dist/js/auth/index.js +2 -2
  13. package/dist/js/auth/index.js.map +1 -1
  14. package/dist/js/auth/login.d.ts.map +1 -1
  15. package/dist/js/auth/login.js +2 -2
  16. package/dist/js/auth/login.js.map +1 -1
  17. package/dist/js/auth/refresh.d.ts +7 -0
  18. package/dist/js/auth/refresh.d.ts.map +1 -0
  19. package/dist/js/auth/refresh.js +70 -0
  20. package/dist/js/auth/refresh.js.map +1 -0
  21. package/dist/js/auth/signup.d.ts.map +1 -1
  22. package/dist/js/auth/signup.js +2 -1
  23. package/dist/js/auth/signup.js.map +1 -1
  24. package/dist/js/auth/utils/UAParser.d.ts +11 -0
  25. package/dist/js/auth/utils/UAParser.d.ts.map +1 -0
  26. package/dist/js/auth/utils/UAParser.js +16 -0
  27. package/dist/js/auth/utils/UAParser.js.map +1 -0
  28. package/dist/js/auth/utils/authenticateUser.d.ts +3 -2
  29. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  30. package/dist/js/auth/utils/authenticateUser.js +29 -6
  31. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  32. package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
  33. package/dist/js/auth/utils/createOTPModel.js +2 -2
  34. package/dist/js/auth/utils/createOTPModel.js.map +1 -1
  35. package/dist/js/auth/utils/createUser.d.ts +3 -2
  36. package/dist/js/auth/utils/createUser.d.ts.map +1 -1
  37. package/dist/js/auth/utils/createUser.js +28 -6
  38. package/dist/js/auth/utils/createUser.js.map +1 -1
  39. package/dist/js/auth/utils/findRefreshToken.d.ts +4 -0
  40. package/dist/js/auth/utils/findRefreshToken.d.ts.map +1 -0
  41. package/dist/js/auth/utils/findRefreshToken.js +29 -0
  42. package/dist/js/auth/utils/findRefreshToken.js.map +1 -0
  43. package/dist/js/auth/utils/findRefreshTokenUser.d.ts +4 -0
  44. package/dist/js/auth/utils/findRefreshTokenUser.d.ts.map +1 -0
  45. package/dist/js/auth/utils/findRefreshTokenUser.js +18 -0
  46. package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -0
  47. package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts +4 -0
  48. package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts.map +1 -0
  49. package/dist/js/auth/utils/handleRefreshTokenValidation.js +24 -0
  50. package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -0
  51. package/dist/js/auth/utils/handleRotateRefreshToken.d.ts +18 -0
  52. package/dist/js/auth/utils/handleRotateRefreshToken.d.ts.map +1 -0
  53. package/dist/js/auth/utils/handleRotateRefreshToken.js +66 -0
  54. package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -0
  55. package/dist/js/auth/utils/modeMap.d.ts +4 -2
  56. package/dist/js/auth/utils/modeMap.d.ts.map +1 -1
  57. package/dist/js/auth/utils/returnRotationToken.d.ts +2 -0
  58. package/dist/js/auth/utils/returnRotationToken.d.ts.map +1 -0
  59. package/dist/js/auth/utils/returnRotationToken.js +3 -0
  60. package/dist/js/auth/utils/returnRotationToken.js.map +1 -0
  61. package/dist/js/auth/utils/rotateRefreshToken.d.ts +16 -0
  62. package/dist/js/auth/utils/rotateRefreshToken.d.ts.map +1 -0
  63. package/dist/js/auth/utils/rotateRefreshToken.js +53 -0
  64. package/dist/js/auth/utils/rotateRefreshToken.js.map +1 -0
  65. package/dist/js/auth/utils/sendCookie.d.ts +14 -4
  66. package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
  67. package/dist/js/auth/utils/sendCookie.js +43 -22
  68. package/dist/js/auth/utils/sendCookie.js.map +1 -1
  69. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  70. package/dist/js/auth/verifyOTP.js +1 -0
  71. package/dist/js/auth/verifyOTP.js.map +1 -1
  72. package/dist/js/config/defaultConfig.d.ts.map +1 -1
  73. package/dist/js/config/defaultConfig.js +0 -2
  74. package/dist/js/config/defaultConfig.js.map +1 -1
  75. package/dist/js/config/duration.d.ts +36 -0
  76. package/dist/js/config/duration.d.ts.map +1 -1
  77. package/dist/js/config/duration.js +40 -4
  78. package/dist/js/config/duration.js.map +1 -1
  79. package/dist/js/config/envs.d.ts.map +1 -1
  80. package/dist/js/config/envs.js +18 -8
  81. package/dist/js/config/envs.js.map +1 -1
  82. package/dist/js/config/handlerMap.d.ts.map +1 -1
  83. package/dist/js/config/handlerMap.js +2 -1
  84. package/dist/js/config/handlerMap.js.map +1 -1
  85. package/dist/js/config/refreshModel.d.ts +3 -0
  86. package/dist/js/config/refreshModel.d.ts.map +1 -0
  87. package/dist/js/config/refreshModel.js +51 -0
  88. package/dist/js/config/refreshModel.js.map +1 -0
  89. package/dist/js/crud/encryption/handleEncryption.d.ts.map +1 -1
  90. package/dist/js/crud/encryption/handleEncryption.js +0 -1
  91. package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
  92. package/dist/js/lib/model.factory.d.ts +1 -1
  93. package/dist/js/lib/model.factory.d.ts.map +1 -1
  94. package/dist/js/lib/model.factory.js +1 -1
  95. package/dist/js/lib/model.factory.js.map +1 -1
  96. package/dist/js/middleware/auth.middleware.d.ts +1 -0
  97. package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
  98. package/dist/js/middleware/auth.middleware.js +23 -19
  99. package/dist/js/middleware/auth.middleware.js.map +1 -1
  100. package/dist/js/terminal/appInfo.d.ts.map +1 -1
  101. package/dist/js/terminal/appInfo.js +7 -2
  102. package/dist/js/terminal/appInfo.js.map +1 -1
  103. package/dist/js/types/Constructor.d.ts +10 -3
  104. package/dist/js/types/Constructor.d.ts.map +1 -1
  105. package/dist/js/types/Routepath.d.ts +1 -1
  106. package/dist/js/types/Routepath.d.ts.map +1 -1
  107. package/dist/js/types/authHandlers.d.ts +1 -1
  108. package/dist/js/types/authHandlers.d.ts.map +1 -1
  109. package/dist/js/utils/getModel.d.ts +2 -2
  110. package/dist/js/utils/getModel.d.ts.map +1 -1
  111. package/dist/js/utils/getModel.js.map +1 -1
  112. package/dist/js/utils/handleJWT.d.ts +3 -1
  113. package/dist/js/utils/handleJWT.d.ts.map +1 -1
  114. package/dist/js/utils/handleJWT.js +28 -23
  115. package/dist/js/utils/handleJWT.js.map +1 -1
  116. package/dist/js/utils/libsodium.d.ts +1 -1
  117. package/dist/js/utils/libsodium.d.ts.map +1 -1
  118. package/dist/js/utils/libsodium.js.map +1 -1
  119. package/dist/js/utils/response.d.ts +2 -1
  120. package/dist/js/utils/response.d.ts.map +1 -1
  121. package/dist/js/utils/response.js +2 -1
  122. package/dist/js/utils/response.js.map +1 -1
  123. package/dist/js/utils/saveRefreshToken.d.ts +17 -0
  124. package/dist/js/utils/saveRefreshToken.d.ts.map +1 -0
  125. package/dist/js/utils/saveRefreshToken.js +18 -0
  126. package/dist/js/utils/saveRefreshToken.js.map +1 -0
  127. package/package.json +5 -4
@@ -31,14 +31,14 @@ const validateAuth = (config) => {
31
31
  if (!config.schemaObj?.schema)
32
32
  vAError("schemaObj.schema");
33
33
  const authMethods = ["credentials", "otp"];
34
- if (!config.signup)
35
- vAError("signup");
36
- if (!config.login)
37
- vAError("login");
38
- if (!authMethods.includes(config.signup))
39
- vAError(`signup as ${authMethods.join(" or ")}`);
40
- if (!authMethods.includes(config.login))
41
- vAError(`login as ${authMethods.join(" or ")}`);
34
+ if (!config.signupMode)
35
+ vAError("signupMode");
36
+ if (!config.loginMode)
37
+ vAError("loginMode");
38
+ if (!authMethods.includes(config.signupMode))
39
+ vAError(`signupMode as ${authMethods.join(" or ")}`);
40
+ if (!authMethods.includes(config.loginMode))
41
+ vAError(`loginMode as ${authMethods.join(" or ")}`);
42
42
  }
43
43
  catch (error) {
44
44
  AppLog("x", "authConfigObj", error.message);
@@ -47,6 +47,16 @@ const validateAuth = (config) => {
47
47
  };
48
48
  const setEnvs = (values) => {
49
49
  validateAuth(values.authConfigObj);
50
+ if (!values.authConfigObj.accessTokenAge)
51
+ values.authConfigObj.accessTokenAge = "10m";
52
+ if (!values.authConfigObj.refreshTokenAge)
53
+ values.authConfigObj.refreshTokenAge = "30d";
54
+ if (!values.authConfigObj.accessTokenName)
55
+ values.authConfigObj.accessTokenName = "access_token";
56
+ if (!values.authConfigObj.refreshTokenName)
57
+ values.authConfigObj.refreshTokenName = "refresh_token";
58
+ if (!values.authConfigObj.refreshTokenRotationInterval)
59
+ values.authConfigObj.refreshTokenRotationInterval = "0s";
50
60
  envs = values;
51
61
  };
52
62
  const getEnvs = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handlerMap.d.ts","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"AAkCA,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAuBnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"handlerMap.d.ts","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"AAmCA,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAwBnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { healthDelete, healthGet, healthPatch, healthPost, healthPut, } from "../health/bunch.health.js";
2
- import { signup, verifyOTP, login, resendOTP, forgotPassword, resetPassword, logout, } from "../auth/bunch.auth.js";
2
+ import { signup, verifyOTP, login, resendOTP, forgotPassword, resetPassword, logout, refresh } from "../auth/bunch.auth.js";
3
3
  import { read, create, readAll, createBulk, remove, removeAll, update, updateFile, deleteFile, addFile, } from "../crud/bunch.crud.js";
4
4
  const handlerMap = {
5
5
  healthDelete,
@@ -14,6 +14,7 @@ const handlerMap = {
14
14
  forgotPassword,
15
15
  resetPassword,
16
16
  logout,
17
+ refresh,
17
18
  read,
18
19
  create,
19
20
  readAll,
@@ -1 +1 @@
1
- {"version":3,"file":"handlerMap.js","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,MAAM,GACP,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,UAAU,EACV,UAAU,EACV,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,GAAwB;IACtC,YAAY;IACZ,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,KAAK;IACL,SAAS;IACT,cAAc;IACd,aAAa;IACb,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;CACR,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"handlerMap.js","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,MAAM,EACN,OAAO,EACR,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,UAAU,EACV,UAAU,EACV,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,GAAwB;IACtC,YAAY;IACZ,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,KAAK;IACL,SAAS;IACT,cAAc;IACd,aAAa;IACb,MAAM;IACN,OAAO;IACP,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;CACR,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const createRefreshModel: () => Promise<any>;
2
+ export default createRefreshModel;
3
+ //# sourceMappingURL=refreshModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshModel.d.ts","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,kBAAkB,oBAIpB,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import createModel from "../lib/model.factory.js";
2
+ import mongoose from "mongoose";
3
+ import registerModel from "../lib/model.registry.js";
4
+ const NullString = {
5
+ type: String,
6
+ default: null,
7
+ };
8
+ const refreshModelDefinition = {
9
+ owner: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: "User",
12
+ required: true,
13
+ },
14
+ refreshTokenHash: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ familyId: {
19
+ type: String,
20
+ required: true,
21
+ index: true,
22
+ },
23
+ jti: {
24
+ type: String,
25
+ required: true,
26
+ unique: true,
27
+ index: true,
28
+ },
29
+ deviceType: NullString,
30
+ deviceName: NullString,
31
+ ipAddress: NullString,
32
+ os: NullString,
33
+ browser: NullString,
34
+ lastUsedAt: {
35
+ type: Date,
36
+ default: Date.now,
37
+ },
38
+ expiresAt: {
39
+ type: Date,
40
+ required: true,
41
+ index: { expires: 0 },
42
+ },
43
+ revoked: {
44
+ type: Boolean,
45
+ default: false,
46
+ index: true,
47
+ },
48
+ };
49
+ const createRefreshModel = async () => (registerModel["RefreshToken"] = createModel("RefreshToken", refreshModelDefinition));
50
+ export default createRefreshModel;
51
+ //# sourceMappingURL=refreshModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshModel.js","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACf;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ;IAED,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IAED,UAAU,EAAE,UAAU;IAEtB,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,UAAU;IAErB,EAAE,EAAE,UAAU;IAEd,OAAO,EAAE,UAAU;IAEnB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACtB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ;CACF,CAAC;AAGF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE,CACpC,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,WAAW,CAC1C,cAAc,EACd,sBAAsB,CACvB,CAAC,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleEncryption.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,QAAA,MAAM,gBAAgB,GAAU,MAAM,GAAG,EAAE,UAAU,KAAK,oDAmDzD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handleEncryption.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,QAAA,MAAM,gBAAgB,GAAU,MAAM,GAAG,EAAE,UAAU,KAAK,oDAiDzD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -37,7 +37,6 @@ const handleEncryption = async (body, routeObj) => {
37
37
  statusCode: 400,
38
38
  });
39
39
  }
40
- console.log(field);
41
40
  encrypted[field] = await seal(body[field], routeObj);
42
41
  }
43
42
  return encrypted;
@@ -1 +1 @@
1
- {"version":3,"file":"handleEncryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAG7C,IAAI,CAAC,MAAM;QAAE,OAAO;IAGpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,uDAAuD;YAC7D,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,sDAAsD;YAC5D,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAG9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,oCAAoC;oBAC7D,OAAO,EAAE,uBAAuB,KAAK,eAAe;oBACpD,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handleEncryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAG7C,IAAI,CAAC,MAAM;QAAE,OAAO;IAGpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,uDAAuD;YAC7D,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,sDAAsD;YAC5D,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAG9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,oCAAoC;oBAC7D,OAAO,EAAE,uBAAuB,KAAK,eAAe;oBACpD,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -5,6 +5,6 @@ type ModelField = {
5
5
  zod?: any;
6
6
  } | SchemaDefinitionProperty<unknown> | Primitive;
7
7
  type ModelDefinition = Record<string, ModelField>;
8
- declare const createModel: (routeName: string, name: string, definition: ModelDefinition) => any;
8
+ declare const createModel: (name: string, definition: ModelDefinition, routeName?: string) => any;
9
9
  export default createModel;
10
10
  //# sourceMappingURL=model.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAQlD,KAAK,UAAU,GACX;IAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1D,wBAAwB,CAAC,OAAO,CAAC,GACjC,SAAS,CAAC;AAEd,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AA8DlD,QAAA,MAAM,WAAW,GACf,WAAW,MAAM,EACjB,MAAM,MAAM,EACZ,YAAY,eAAe,KAC1B,GAyBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAQlD,KAAK,UAAU,GACX;IAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1D,wBAAwB,CAAC,OAAO,CAAC,GACjC,SAAS,CAAC;AAEd,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AA8DlD,QAAA,MAAM,WAAW,GACf,MAAM,MAAM,EACZ,YAAY,eAAe,EAC3B,YAAY,MAAM,KACjB,GAyBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -35,7 +35,7 @@ const normalizeDefinition = (definition) => {
35
35
  extractMongooseDefinition(value),
36
36
  ]));
37
37
  };
38
- const createModel = (routeName, name, definition) => {
38
+ const createModel = (name, definition, routeName) => {
39
39
  if (mongoose.modelNames().includes(name)) {
40
40
  return mongoose.model(name);
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAoB5C,MAAM,yBAAyB,GAAG,CAChC,KAAiB,EACkB,EAAE;IAErC,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,UAAU,IAAI,KAAK,EACnB,CAAC;QACD,OAAO,KAAK,CAAC,QAA6C,CAAC;IAC7D,CAAC;IAGD,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,IAAI,KAAK,EACf,CAAC;QACD,OAAO,KAA0C,CAAC;IACpD,CAAC;IAGD,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3C;YACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACxC,CAAC;YAED,OAAO,KAA0C,CAAC;IACtD,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG;QACH,yBAAyB,CAAC,KAAK,CAAC;KACjC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,UAA2B,EACtB,EAAE;IAEP,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAE5C,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAoB5C,MAAM,yBAAyB,GAAG,CAChC,KAAiB,EACkB,EAAE;IAErC,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,UAAU,IAAI,KAAK,EACnB,CAAC;QACD,OAAO,KAAK,CAAC,QAA6C,CAAC;IAC7D,CAAC;IAGD,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,IAAI,KAAK,EACf,CAAC;QACD,OAAO,KAA0C,CAAC;IACpD,CAAC;IAGD,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3C;YACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACxC,CAAC;YAED,OAAO,KAA0C,CAAC;IACtD,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG;QACH,yBAAyB,CAAC,KAAK,CAAC;KACjC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,WAAW,GAAG,CAClB,IAAY,EACZ,UAA2B,EAC3B,SAAkB,EACb,EAAE;IAEP,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAE5C,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { NextFunction, Request, Response } from "express";
2
2
  import type { Route } from "../types/Collection.js";
3
+ export declare const findUser: (id: string, routeObj: Route, userModelName: string) => Promise<any>;
3
4
  declare const protect: (routeObj: Route) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
4
5
  export default protect;
5
6
  //# sourceMappingURL=auth.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AA4BpD,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MAEd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEJ,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,QAAQ,GACnB,IAAI,MAAM,EACV,UAAU,KAAK,EACf,eAAe,MAAM,iBAuBtB,CAAC;AAEF,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MACT,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CA8EpE,CAAC;AAEJ,eAAe,OAAO,CAAC"}
@@ -3,8 +3,7 @@ import AppError from "../utils/AppError.js";
3
3
  import registerModel from "../lib/model.registry.js";
4
4
  import { getEnvs } from "../config/envs.js";
5
5
  import getErrorDetail from "../utils/getErrorDetail.js";
6
- const findUser = async (id, routeObj) => {
7
- const { userModelName } = getEnvs();
6
+ export const findUser = async (id, routeObj, userModelName) => {
8
7
  if (!userModelName) {
9
8
  throw new AppError({
10
9
  message: "User model is required for authentication",
@@ -26,12 +25,15 @@ const findUser = async (id, routeObj) => {
26
25
  };
27
26
  const protect = (routeObj) => async (req, res, next) => {
28
27
  try {
29
- const token = req.cookies?.authToken;
28
+ const { userModelName, authConfigObj } = getEnvs();
29
+ const { accessTokenName, verifyAccessUser } = authConfigObj;
30
+ const token = req.cookies?.[accessTokenName];
30
31
  if (!token) {
31
32
  return next(new AppError({
32
- message: "Authentication required",
33
+ message: "Access token is missing",
34
+ code: "ACCESS_TOKEN_MISSING",
33
35
  statusCode: 401,
34
- hint: "Log in to access this resource.",
36
+ hint: "Request a new access token using the /auth/refresh-token endpoint.",
35
37
  details: getErrorDetail(routeObj),
36
38
  }));
37
39
  }
@@ -41,25 +43,27 @@ const protect = (routeObj) => async (req, res, next) => {
41
43
  });
42
44
  if (typeof payload === "string" || !payload.sub) {
43
45
  return next(new AppError({
44
- message: "Invalid JWT payload",
46
+ message: "Access token payload is invalid",
47
+ code: "ACCESS_TOKEN_PAYLOAD_INVALID",
45
48
  statusCode: 401,
46
- hint: "Sign in again to obtain a valid authentication token.",
49
+ hint: "Sign in again to obtain a valid access token.",
47
50
  details: getErrorDetail(routeObj),
48
51
  }));
49
52
  }
50
- const user = await findUser(payload.sub, routeObj);
51
- if (!user) {
52
- return next(new AppError({
53
- message: "This account no longer exists",
54
- statusCode: 401,
55
- hint: "Sign in with an existing account.",
56
- details: getErrorDetail(routeObj),
57
- }));
53
+ if (verifyAccessUser) {
54
+ const user = await findUser(payload.sub, routeObj, userModelName);
55
+ if (!user) {
56
+ return next(new AppError({
57
+ message: "User associated with the access token was not found",
58
+ code: "ACCESS_USER_NOT_FOUND",
59
+ statusCode: 401,
60
+ hint: "Sign in again with an existing account.",
61
+ details: getErrorDetail(routeObj),
62
+ }));
63
+ }
58
64
  }
59
65
  req.user = {
60
- email: user.email,
61
- role: user.role,
62
- _id: user._id,
66
+ _id: payload.sub,
63
67
  };
64
68
  next();
65
69
  }
@@ -69,7 +73,7 @@ const protect = (routeObj) => async (req, res, next) => {
69
73
  }
70
74
  console.error(error);
71
75
  return next(new AppError({
72
- message: "Authentication failed",
76
+ message: "Authentication middleware failed",
73
77
  statusCode: 500,
74
78
  hint: "This issue requires a fix from the framework developer.",
75
79
  details: getErrorDetail(routeObj),
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"appInfo.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,OAAO;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,QAAA,IAAI,OAAO,EAAE,OAYZ,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,MAAM,EAAkB,CAAC;AAE1C,QAAA,MAAM,UAAU,GAAI,KAAK,UAAU,SAmBlC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"appInfo.d.ts","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,OAAO;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,QAAA,IAAI,OAAO,EAAE,OAYZ,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,MAAM,EAA4B,CAAC;AAEpD,QAAA,MAAM,UAAU,GAAI,KAAK,UAAU,SA2BlC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { getEnvs } from "../config/envs.js";
1
2
  let appInfo = {
2
- modelsCount: 1,
3
+ modelsCount: 2,
3
4
  validationsCount: 0,
4
5
  routesCount: 0,
5
6
  authentication: false,
@@ -11,13 +12,17 @@ let appInfo = {
11
12
  cors: false,
12
13
  dbConnectionStatus: null,
13
14
  };
14
- const resources = ["OTP Model"];
15
+ const resources = ["OTP", "RefreshToken"];
15
16
  const setAppInfo = (req) => {
17
+ const { authConfigObj } = getEnvs();
16
18
  if (req.modelName && !resources.includes(req.modelName)) {
17
19
  if (req.mongooseSchemaObj)
18
20
  appInfo.modelsCount++;
19
21
  resources.push(req.modelName);
20
22
  }
23
+ if (authConfigObj.mode === "builtin" &&
24
+ !resources.includes(authConfigObj.schemaObj?.modelName || "User"))
25
+ appInfo.modelsCount++;
21
26
  if (req.validationsObj)
22
27
  appInfo.validationsCount++;
23
28
  if (req.reqType === "auth")
@@ -1 +1 @@
1
- {"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAgBA,IAAI,OAAO,GAAY;IACrB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,WAAW,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;IACrC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,WAAY,EAAE,CAAC;QAElD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,CAAC,gBAAiB,EAAE,CAAC;IAEpD,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAE1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,WAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5C,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,cAAc;gBAC3D,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/js/terminal/appInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAiB5C,IAAI,OAAO,GAAY;IACrB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;IACrC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEpC,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,WAAY,EAAE,CAAC;QAElD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IACE,aAAa,CAAC,IAAI,KAAK,SAAS;QAChC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC;QAEjE,OAAO,CAAC,WAAY,EAAE,CAAC;IAEzB,IAAI,GAAG,CAAC,cAAc;QAAE,OAAO,CAAC,gBAAiB,EAAE,CAAC;IAEpD,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAE1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,WAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5C,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,cAAc;gBAC3D,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -5,6 +5,10 @@ export type authMode = "credentials" | "otp";
5
5
  export interface AuthConfig {
6
6
  mode: "builtin" | "manual";
7
7
  returnAccessToken?: boolean;
8
+ returnRefreshToken?: boolean;
9
+ rotateRefreshToken?: boolean;
10
+ refreshTokenRotationInterval?: DurationType;
11
+ verifyAccessUser?: boolean;
8
12
  fieldsObj?: {
9
13
  otp: "otp" | "[field name]" | (string & {});
10
14
  purpose: "purpose" | "[field name]" | (string & {});
@@ -13,8 +17,12 @@ export interface AuthConfig {
13
17
  modelName: "User" | "[Model Name]" | (string & {});
14
18
  schema: Record<string, UnifiedField>;
15
19
  };
16
- signup?: authMode;
17
- login?: authMode;
20
+ accessTokenName?: "access_token" | "[choose a custom name]" | (string & {});
21
+ refreshTokenName?: "refresh_token" | "[choose a custom name]" | (string & {});
22
+ accessTokenAge?: DurationType;
23
+ refreshTokenAge?: DurationType;
24
+ signupMode?: authMode;
25
+ loginMode?: authMode;
18
26
  }
19
27
  export interface Constructor {
20
28
  authConfigObj: AuthConfig;
@@ -41,7 +49,6 @@ export interface Constructor {
41
49
  rateLimitMsg: string;
42
50
  adminEmailSender?: string;
43
51
  resendAPIKey?: string;
44
- tokenExpiry: DurationType;
45
52
  }
46
53
  export interface InternalConstructor extends Constructor {
47
54
  userModelName?: String;
@@ -1 +1 @@
1
- {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,KAAK,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;KACpD,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtC,CAAC;IAEF,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,UAAU,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4BAA4B,CAAC,EAAE,YAAY,CAAC;IAE5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,KAAK,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KACrD,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtC,CAAC;IAEF,eAAe,CAAC,EAAE,cAAc,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5E,gBAAgB,CAAC,EAAE,eAAe,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE9E,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,eAAe,CAAC,EAAE,YAAY,CAAC;IAE/B,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,UAAU,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,2 +1,2 @@
1
- export type RoutePath = "/" | "/:id" | "/update/:id" | "/delete/:id" | "/signup" | "/login" | "/logout" | "/forgot-password" | "/reset-password" | "/verify-otp" | "/resend-otp" | "/:id/addFile" | "/:id/updateFile" | "/:id/deleteFile";
1
+ export type RoutePath = "/" | "/:id" | "/update/:id" | "/delete/:id" | "/signup" | "/login" | "/logout" | "/refresh-token" | "/forgot-password" | "/reset-password" | "/verify-otp" | "/resend-otp" | "/:id/addFile" | "/:id/updateFile" | "/:id/deleteFile";
2
2
  //# sourceMappingURL=Routepath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Routepath.d.ts","sourceRoot":"","sources":["../../../src/js/types/Routepath.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAEjB,GAAG,GAGH,MAAM,GAON,aAAa,GACb,aAAa,GAKb,SAAS,GACT,QAAQ,GACR,SAAS,GAET,kBAAkB,GAClB,iBAAiB,GAGjB,aAAa,GACb,aAAa,GAmCb,cAAc,GACd,iBAAiB,GACjB,iBAAiB,CAAA"}
1
+ {"version":3,"file":"Routepath.d.ts","sourceRoot":"","sources":["../../../src/js/types/Routepath.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAEjB,GAAG,GAGH,MAAM,GAON,aAAa,GACb,aAAa,GAKb,SAAS,GACT,QAAQ,GACR,SAAS,GACT,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GAGjB,aAAa,GACb,aAAa,GAmCb,cAAc,GACd,iBAAiB,GACjB,iBAAiB,CAAA"}
@@ -1,2 +1,2 @@
1
- export type authHandlers = "signup" | "verifyOTP" | "login" | "resendOTP" | "forgotPassword" | "resetPassword" | "logout";
1
+ export type authHandlers = "signup" | "verifyOTP" | "login" | "resendOTP" | "forgotPassword" | "resetPassword" | "logout" | "refresh";
2
2
  //# sourceMappingURL=authHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authHandlers.d.ts","sourceRoot":"","sources":["../../../src/js/types/authHandlers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,QAAQ,CAAC"}
1
+ {"version":3,"file":"authHandlers.d.ts","sourceRoot":"","sources":["../../../src/js/types/authHandlers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,QAAQ,GACR,SAAS,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { Route } from "../types/Collection.js";
2
2
  declare const getModel: ({ modelName, routeName, routeObj, }: {
3
3
  modelName: string;
4
- routeName: string;
5
- routeObj: Route;
4
+ routeName?: string;
5
+ routeObj?: Route;
6
6
  }) => any;
7
7
  export default getModel;
8
8
  //# sourceMappingURL=getModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,qCAIf;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,QAsBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,qCAIf;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,QAsBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getModel.js","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wCAAwC,SAAS,GAAG;YAC7D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4DAA4D;YAClE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,UAAU,SAAS,qBAAqB;YACjD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qDAAqD;YAC3D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getModel.js","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wCAAwC,SAAS,GAAG;YAC7D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4DAA4D;YAClE,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,UAAU,SAAS,qBAAqB;YACjD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qDAAqD;YAC3D,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { type JwtPayload } from "jsonwebtoken";
2
+ import { type DurationType } from "../config/duration.js";
2
3
  import type { Route } from "../types/Collection.js";
3
- export declare const signJWT: ({ payload, routeObj, }: {
4
+ export declare const signJWT: ({ payload, routeObj, age, }: {
4
5
  payload: string | object | Buffer;
5
6
  routeObj: Route;
7
+ age: DurationType;
6
8
  }) => string;
7
9
  export declare const verifyJWT: ({ token, routeObj, }: {
8
10
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handleJWT.d.ts","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,OAAO,GAAI,wBAGrB;IACD,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;CACjB,KAAG,MA8CH,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,sBAGvB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB,KAAG,MAAM,GAAG,UAmCZ,CAAC"}
1
+ {"version":3,"file":"handleJWT.d.ts","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,OAAO,GAAI,6BAIrB;IACD,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;CACnB,KAAG,MAkDH,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,sBAGvB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB,KAAG,MAAM,GAAG,UAoCZ,CAAC"}
@@ -1,37 +1,40 @@
1
1
  import jwt, {} from "jsonwebtoken";
2
2
  import AppError from "./AppError.js";
3
- import getDuration from "../config/duration.js";
3
+ import getDuration, {} from "../config/duration.js";
4
4
  import { getEnvs } from "../config/envs.js";
5
5
  import getErrorDetail from "./getErrorDetail.js";
6
- export const signJWT = ({ payload, routeObj, }) => {
6
+ export const signJWT = ({ payload, routeObj, age, }) => {
7
7
  try {
8
8
  if (!payload) {
9
9
  throw new AppError({
10
- message: "Payload is required to sign a JWT",
10
+ message: "JWT payload is missing",
11
+ code: "JWT_PAYLOAD_MISSING",
11
12
  statusCode: 400,
12
- hint: "Provide a valid payload for JWT generation.",
13
+ hint: "Provide a valid payload to generate the JWT.",
13
14
  details: getErrorDetail(routeObj),
14
15
  });
15
16
  }
16
- const { jwtSecret, tokenExpiry } = getEnvs();
17
+ const { jwtSecret } = getEnvs();
17
18
  if (!jwtSecret) {
18
19
  throw new AppError({
19
- message: "JWT secret is required",
20
+ message: "JWT secret is not configured",
21
+ code: "JWT_SECRET_MISSING",
20
22
  statusCode: 500,
21
- hint: "Configure 'jwtSecret' in your environment variables.",
23
+ hint: "Configure 'jwtSecret' in the environment variables.",
22
24
  details: getErrorDetail(routeObj),
23
25
  });
24
26
  }
25
- if (!tokenExpiry) {
27
+ if (!age) {
26
28
  throw new AppError({
27
- message: "Token expiry is required",
29
+ message: "JWT expiration time is not configured",
30
+ code: "JWT_AGE_MISSING",
28
31
  statusCode: 500,
29
- hint: "Configure 'tokenExpiry' in your environment variables.",
32
+ hint: "Configure the access or refresh token age in 'authConfigObj'.",
30
33
  details: getErrorDetail(routeObj),
31
34
  });
32
35
  }
33
36
  return jwt.sign(payload, jwtSecret, {
34
- expiresIn: Math.floor(getDuration(tokenExpiry, routeObj) / 1000),
37
+ expiresIn: Math.floor(getDuration(age, routeObj) / 1000),
35
38
  });
36
39
  }
37
40
  catch (error) {
@@ -39,32 +42,33 @@ export const signJWT = ({ payload, routeObj, }) => {
39
42
  throw error;
40
43
  console.error(error);
41
44
  throw new AppError({
42
- message: "Failed to sign JWT",
45
+ message: "Failed to generate JWT",
46
+ code: "JWT_SIGN_FAILED",
43
47
  statusCode: 500,
44
- hint: "This issue requires a fix from the framework developer.",
48
+ hint: "This is an internal framework error. Check the server logs for details.",
45
49
  details: getErrorDetail(routeObj),
46
50
  });
47
51
  }
48
52
  };
49
53
  export const verifyJWT = ({ token, routeObj, }) => {
50
54
  try {
51
- if (!token) {
55
+ if (!token)
52
56
  throw new AppError({
53
- message: "JWT token is required",
57
+ message: "JWT is missing",
58
+ code: "JWT_MISSING",
54
59
  statusCode: 400,
55
- hint: "Provide a valid JWT for verification.",
60
+ hint: "Provide a JWT to verify.",
56
61
  details: getErrorDetail(routeObj),
57
62
  });
58
- }
59
63
  const { jwtSecret } = getEnvs();
60
- if (!jwtSecret) {
64
+ if (!jwtSecret)
61
65
  throw new AppError({
62
- message: "JWT secret is required",
66
+ message: "JWT secret is not configured",
67
+ code: "JWT_SECRET_MISSING",
63
68
  statusCode: 500,
64
- hint: "Configure 'jwtSecret' in your environment variables.",
69
+ hint: "Configure 'jwtSecret' in the environment variables.",
65
70
  details: getErrorDetail(routeObj),
66
71
  });
67
- }
68
72
  return jwt.verify(token, jwtSecret);
69
73
  }
70
74
  catch (error) {
@@ -72,9 +76,10 @@ export const verifyJWT = ({ token, routeObj, }) => {
72
76
  throw error;
73
77
  console.error(error);
74
78
  throw new AppError({
75
- message: "Invalid or expired JWT",
79
+ message: "JWT is invalid or has expired",
80
+ code: "JWT_INVALID",
76
81
  statusCode: 401,
77
- hint: "Ensure the token is valid, has not expired, and was signed using the correct secret.",
82
+ hint: "Provide a valid, unexpired JWT.",
78
83
  details: getErrorDetail(routeObj),
79
84
  });
80
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleJWT.js","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handleJWT.js","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"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"}