@starklabs/forge 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/app.d.ts +2 -1
- package/dist/js/app.d.ts.map +1 -1
- package/dist/js/app.js +4 -4
- package/dist/js/app.js.map +1 -1
- package/dist/js/auth/builtin/auth.collection.d.ts.map +1 -1
- package/dist/js/auth/builtin/auth.collection.js +5 -0
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/bunch.auth.d.ts +1 -0
- package/dist/js/auth/bunch.auth.d.ts.map +1 -1
- package/dist/js/auth/bunch.auth.js +1 -0
- package/dist/js/auth/bunch.auth.js.map +1 -1
- package/dist/js/auth/index.js +2 -2
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.d.ts.map +1 -1
- package/dist/js/auth/login.js +2 -2
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/refresh.d.ts +10 -0
- package/dist/js/auth/refresh.d.ts.map +1 -0
- package/dist/js/auth/refresh.js +57 -0
- package/dist/js/auth/refresh.js.map +1 -0
- package/dist/js/auth/utils/authenticateUser.d.ts +3 -2
- package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +11 -6
- package/dist/js/auth/utils/authenticateUser.js.map +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPModel.js +2 -2
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +8 -5
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/modeMap.d.ts +2 -1
- package/dist/js/auth/utils/modeMap.d.ts.map +1 -1
- package/dist/js/auth/utils/sendCookie.d.ts +10 -4
- package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +26 -17
- package/dist/js/auth/utils/sendCookie.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +1 -0
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/defaultConfig.d.ts.map +1 -1
- package/dist/js/config/defaultConfig.js +0 -2
- package/dist/js/config/defaultConfig.js.map +1 -1
- package/dist/js/config/envs.d.ts.map +1 -1
- package/dist/js/config/envs.js +16 -8
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/config/handlerMap.d.ts.map +1 -1
- package/dist/js/config/handlerMap.js +2 -1
- package/dist/js/config/handlerMap.js.map +1 -1
- package/dist/js/config/refreshModel.d.ts +3 -0
- package/dist/js/config/refreshModel.d.ts.map +1 -0
- package/dist/js/config/refreshModel.js +37 -0
- package/dist/js/config/refreshModel.js.map +1 -0
- package/dist/js/crud/encryption/handleEncryption.d.ts.map +1 -1
- package/dist/js/crud/encryption/handleEncryption.js +0 -1
- package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts +1 -1
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +1 -1
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/middleware/auth.middleware.d.ts +1 -0
- package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
- package/dist/js/middleware/auth.middleware.js +14 -11
- package/dist/js/middleware/auth.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.d.ts.map +1 -1
- package/dist/js/terminal/appInfo.js +7 -2
- package/dist/js/terminal/appInfo.js.map +1 -1
- package/dist/js/types/Constructor.d.ts +7 -3
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/dist/js/types/Routepath.d.ts +1 -1
- package/dist/js/types/Routepath.d.ts.map +1 -1
- package/dist/js/types/authHandlers.d.ts +1 -1
- package/dist/js/types/authHandlers.d.ts.map +1 -1
- package/dist/js/utils/getModel.d.ts +2 -2
- package/dist/js/utils/getModel.d.ts.map +1 -1
- package/dist/js/utils/getModel.js.map +1 -1
- package/dist/js/utils/handleJWT.d.ts +3 -1
- package/dist/js/utils/handleJWT.d.ts.map +1 -1
- package/dist/js/utils/handleJWT.js +28 -23
- package/dist/js/utils/handleJWT.js.map +1 -1
- package/dist/js/utils/libsodium.d.ts +1 -1
- package/dist/js/utils/libsodium.d.ts.map +1 -1
- package/dist/js/utils/libsodium.js.map +1 -1
- package/dist/js/utils/response.d.ts +2 -1
- package/dist/js/utils/response.d.ts.map +1 -1
- package/dist/js/utils/response.js +2 -1
- package/dist/js/utils/response.js.map +1 -1
- package/dist/js/utils/saveRefreshToken.d.ts +13 -0
- package/dist/js/utils/saveRefreshToken.d.ts.map +1 -0
- package/dist/js/utils/saveRefreshToken.js +28 -0
- package/dist/js/utils/saveRefreshToken.js.map +1 -0
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI/E,QAAA,IAAI,IAAI,EAAE,mBAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI/E,QAAA,IAAI,IAAI,EAAE,mBAA0C,CAAC;AAqErD,QAAA,MAAM,OAAO,GAAI,QAAQ,mBAAmB,KAAG,IAoB9C,CAAC;AAEF,QAAA,MAAM,OAAO,QAAO,mBAEnB,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/js/config/envs.js
CHANGED
|
@@ -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.
|
|
35
|
-
vAError("
|
|
36
|
-
if (!config.
|
|
37
|
-
vAError("
|
|
38
|
-
if (!authMethods.includes(config.
|
|
39
|
-
vAError(`
|
|
40
|
-
if (!authMethods.includes(config.
|
|
41
|
-
vAError(`
|
|
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,14 @@ 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";
|
|
50
58
|
envs = values;
|
|
51
59
|
};
|
|
52
60
|
const getEnvs = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,IAAI,IAAI,GAAwB,EAAE,GAAG,aAAa,EAAE,CAAC;AAGrD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE;IACpC,MAAM,IAAI,KAAK,
|
|
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":"
|
|
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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"refreshModel.d.ts","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AA+CA,QAAA,MAAM,kBAAkB,oBAIpB,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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: NullString,
|
|
15
|
+
deviceType: NullString,
|
|
16
|
+
deviceName: NullString,
|
|
17
|
+
ipAddress: NullString,
|
|
18
|
+
os: NullString,
|
|
19
|
+
browser: NullString,
|
|
20
|
+
lastUsedAt: {
|
|
21
|
+
type: Date,
|
|
22
|
+
default: Date.now,
|
|
23
|
+
},
|
|
24
|
+
expiresAt: {
|
|
25
|
+
type: Date,
|
|
26
|
+
required: true,
|
|
27
|
+
index: { expires: 0 },
|
|
28
|
+
},
|
|
29
|
+
revoked: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false,
|
|
32
|
+
index: true,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const createRefreshModel = async () => (registerModel["RefreshToken"] = createModel("RefreshToken", refreshModelDefinition));
|
|
36
|
+
export default createRefreshModel;
|
|
37
|
+
//# 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,UAAU;IAE5B,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,
|
|
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"}
|
|
@@ -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,
|
|
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: (
|
|
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,
|
|
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 = (
|
|
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,
|
|
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;
|
|
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,CA4EpE,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,14 @@ const findUser = async (id, routeObj) => {
|
|
|
26
25
|
};
|
|
27
26
|
const protect = (routeObj) => async (req, res, next) => {
|
|
28
27
|
try {
|
|
29
|
-
const
|
|
28
|
+
const { userModelName, authConfigObj } = getEnvs();
|
|
29
|
+
const token = req.cookies?.[authConfigObj.accessTokenName];
|
|
30
30
|
if (!token) {
|
|
31
31
|
return next(new AppError({
|
|
32
|
-
message: "
|
|
32
|
+
message: "Access token is missing",
|
|
33
|
+
code: "ACCESS_TOKEN_MISSING",
|
|
33
34
|
statusCode: 401,
|
|
34
|
-
hint: "
|
|
35
|
+
hint: "Request a new access token using the /auth/refresh-token endpoint.",
|
|
35
36
|
details: getErrorDetail(routeObj),
|
|
36
37
|
}));
|
|
37
38
|
}
|
|
@@ -41,18 +42,20 @@ const protect = (routeObj) => async (req, res, next) => {
|
|
|
41
42
|
});
|
|
42
43
|
if (typeof payload === "string" || !payload.sub) {
|
|
43
44
|
return next(new AppError({
|
|
44
|
-
message: "
|
|
45
|
+
message: "Access token payload is invalid",
|
|
46
|
+
code: "ACCESS_TOKEN_PAYLOAD_INVALID",
|
|
45
47
|
statusCode: 401,
|
|
46
|
-
hint: "Sign in again to obtain a valid
|
|
48
|
+
hint: "Sign in again to obtain a valid access token.",
|
|
47
49
|
details: getErrorDetail(routeObj),
|
|
48
50
|
}));
|
|
49
51
|
}
|
|
50
|
-
const user = await findUser(payload.sub, routeObj);
|
|
52
|
+
const user = await findUser(payload.sub, routeObj, userModelName);
|
|
51
53
|
if (!user) {
|
|
52
54
|
return next(new AppError({
|
|
53
|
-
message: "
|
|
55
|
+
message: "User associated with the access token was not found",
|
|
56
|
+
code: "ACCESS_USER_NOT_FOUND",
|
|
54
57
|
statusCode: 401,
|
|
55
|
-
hint: "Sign in with an existing account.",
|
|
58
|
+
hint: "Sign in again with an existing account.",
|
|
56
59
|
details: getErrorDetail(routeObj),
|
|
57
60
|
}));
|
|
58
61
|
}
|
|
@@ -69,7 +72,7 @@ const protect = (routeObj) => async (req, res, next) => {
|
|
|
69
72
|
}
|
|
70
73
|
console.error(error);
|
|
71
74
|
return next(new AppError({
|
|
72
|
-
message: "Authentication failed",
|
|
75
|
+
message: "Authentication middleware failed",
|
|
73
76
|
statusCode: 500,
|
|
74
77
|
hint: "This issue requires a fix from the framework developer.",
|
|
75
78
|
details: getErrorDetail(routeObj),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,QAAQ,GAAG,KAAK,
|
|
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":"
|
|
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:
|
|
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
|
|
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":"
|
|
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,7 @@ export type authMode = "credentials" | "otp";
|
|
|
5
5
|
export interface AuthConfig {
|
|
6
6
|
mode: "builtin" | "manual";
|
|
7
7
|
returnAccessToken?: boolean;
|
|
8
|
+
returnRefreshToken?: boolean;
|
|
8
9
|
fieldsObj?: {
|
|
9
10
|
otp: "otp" | "[field name]" | (string & {});
|
|
10
11
|
purpose: "purpose" | "[field name]" | (string & {});
|
|
@@ -13,8 +14,12 @@ export interface AuthConfig {
|
|
|
13
14
|
modelName: "User" | "[Model Name]" | (string & {});
|
|
14
15
|
schema: Record<string, UnifiedField>;
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
accessTokenName?: "access_token" | "[choose a custom name]" | (string & {});
|
|
18
|
+
refreshTokenName?: "refresh_token" | "[choose a custom name]" | (string & {});
|
|
19
|
+
accessTokenAge?: DurationType;
|
|
20
|
+
refreshTokenAge?: DurationType;
|
|
21
|
+
signupMode?: authMode;
|
|
22
|
+
loginMode?: authMode;
|
|
18
23
|
}
|
|
19
24
|
export interface Constructor {
|
|
20
25
|
authConfigObj: AuthConfig;
|
|
@@ -41,7 +46,6 @@ export interface Constructor {
|
|
|
41
46
|
rateLimitMsg: string;
|
|
42
47
|
adminEmailSender?: string;
|
|
43
48
|
resendAPIKey?: string;
|
|
44
|
-
tokenExpiry: DurationType;
|
|
45
49
|
}
|
|
46
50
|
export interface InternalConstructor extends Constructor {
|
|
47
51
|
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;
|
|
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,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,
|
|
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
|
|
5
|
-
routeObj
|
|
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;
|
|
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,
|
|
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;
|
|
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: "
|
|
10
|
+
message: "JWT payload is missing",
|
|
11
|
+
code: "JWT_PAYLOAD_MISSING",
|
|
11
12
|
statusCode: 400,
|
|
12
|
-
hint: "Provide a valid payload
|
|
13
|
+
hint: "Provide a valid payload to generate the JWT.",
|
|
13
14
|
details: getErrorDetail(routeObj),
|
|
14
15
|
});
|
|
15
16
|
}
|
|
16
|
-
const { jwtSecret
|
|
17
|
+
const { jwtSecret } = getEnvs();
|
|
17
18
|
if (!jwtSecret) {
|
|
18
19
|
throw new AppError({
|
|
19
|
-
message: "JWT secret is
|
|
20
|
+
message: "JWT secret is not configured",
|
|
21
|
+
code: "JWT_SECRET_MISSING",
|
|
20
22
|
statusCode: 500,
|
|
21
|
-
hint: "Configure 'jwtSecret' in
|
|
23
|
+
hint: "Configure 'jwtSecret' in the environment variables.",
|
|
22
24
|
details: getErrorDetail(routeObj),
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
|
-
if (!
|
|
27
|
+
if (!age) {
|
|
26
28
|
throw new AppError({
|
|
27
|
-
message: "
|
|
29
|
+
message: "JWT expiration time is not configured",
|
|
30
|
+
code: "JWT_AGE_MISSING",
|
|
28
31
|
statusCode: 500,
|
|
29
|
-
hint: "Configure
|
|
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(
|
|
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
|
|
45
|
+
message: "Failed to generate JWT",
|
|
46
|
+
code: "JWT_SIGN_FAILED",
|
|
43
47
|
statusCode: 500,
|
|
44
|
-
hint: "This
|
|
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
|
|
57
|
+
message: "JWT is missing",
|
|
58
|
+
code: "JWT_MISSING",
|
|
54
59
|
statusCode: 400,
|
|
55
|
-
hint: "Provide a
|
|
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
|
|
66
|
+
message: "JWT secret is not configured",
|
|
67
|
+
code: "JWT_SECRET_MISSING",
|
|
63
68
|
statusCode: 500,
|
|
64
|
-
hint: "Configure 'jwtSecret' in
|
|
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: "
|
|
79
|
+
message: "JWT is invalid or has expired",
|
|
80
|
+
code: "JWT_INVALID",
|
|
76
81
|
statusCode: 401,
|
|
77
|
-
hint: "
|
|
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":"AAAA,OAAO,GAAG,EAAE,EAAmB,MAAM,cAAc,CAAC;AACpD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handleJWT.js","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAmB,MAAM,cAAc,CAAC;AACpD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,EAAE,EAAqB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,GAAG,GAKJ,EAAU,EAAE;IACX,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,wBAAwB;gBACjC,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,8CAA8C;gBACpD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qDAAqD;gBAC3D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,uCAAuC;gBAChD,IAAI,EAAE,iBAAiB;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,+DAA+D;gBACrE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE;YAClC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yEAAyE;YAC/E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,KAAK,EACL,QAAQ,GAIT,EAAuB,EAAE;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qDAAqD;gBAC3D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,+BAA+B;YACxC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ export interface SealResult {
|
|
|
5
5
|
publicKey: string;
|
|
6
6
|
securedPrivateKey: string;
|
|
7
7
|
}
|
|
8
|
-
export declare const hash: (str: string, routeObj
|
|
8
|
+
export declare const hash: (str: string, routeObj?: Route) => Promise<string>;
|
|
9
9
|
export declare const verifyHash: (password: string, storedHash: string, routeObj: Route) => Promise<boolean>;
|
|
10
10
|
export declare const generateMasterKey: () => Promise<void>;
|
|
11
11
|
export declare const generateJWTSecret: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsodium.d.ts","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAGD,eAAO,MAAM,IAAI,GAAU,KAAK,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"libsodium.d.ts","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAGD,eAAO,MAAM,IAAI,GAAU,KAAK,MAAM,EAAE,WAAW,KAAK,KAAG,OAAO,CAAC,MAAM,CAwBxE,CAAC;AAGF,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,UAAU,KAAK,KACd,OAAO,CAAC,OAAO,CA6CjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,qBAW7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,qBAc7B,CAAC;AAGF,eAAO,MAAM,IAAI,GACf,OAAO,MAAM,EACb,UAAU,KAAK,KACd,OAAO,CAAC,UAAU,CA4DpB,CAAC;AAGF,eAAO,MAAM,MAAM,GAAU,yDAM1B;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC;CACjB,KAAG,OAAO,CAAC,MAAM,CAsFjB,CAAC"}
|