@starklabs/forge 1.3.5 → 1.3.7
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/auth/builtin/auth.collection.d.ts.map +1 -1
- package/dist/js/auth/builtin/auth.collection.js +7 -2
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/builtin/getValidations.d.ts.map +1 -1
- package/dist/js/auth/builtin/getValidations.js +40 -24
- package/dist/js/auth/builtin/getValidations.js.map +1 -1
- package/dist/js/auth/forgotPassword.d.ts.map +1 -1
- package/dist/js/auth/forgotPassword.js +9 -5
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.d.ts.map +1 -1
- package/dist/js/auth/index.js +2 -0
- 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 +9 -4
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/refresh.d.ts.map +1 -1
- package/dist/js/auth/refresh.js +4 -11
- package/dist/js/auth/refresh.js.map +1 -1
- package/dist/js/auth/resendOTP.d.ts.map +1 -1
- package/dist/js/auth/resendOTP.js +20 -11
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.d.ts.map +1 -1
- package/dist/js/auth/resetPassword.js +21 -13
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.d.ts.map +1 -1
- package/dist/js/auth/signup.js +14 -7
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/UAParser.d.ts +1 -0
- package/dist/js/auth/utils/UAParser.d.ts.map +1 -1
- package/dist/js/auth/utils/UAParser.js +1 -0
- package/dist/js/auth/utils/UAParser.js.map +1 -1
- 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 +8 -2
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +19 -10
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +9 -4
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +10 -2
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getUser.js +12 -3
- package/dist/js/auth/utils/getUser.js.map +1 -1
- package/dist/js/auth/utils/handleGetRefreshToken.d.ts +9 -0
- package/dist/js/auth/utils/handleGetRefreshToken.d.ts.map +1 -0
- package/dist/js/auth/utils/handleGetRefreshToken.js +42 -0
- package/dist/js/auth/utils/handleGetRefreshToken.js.map +1 -0
- package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
- package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
- package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -1
- package/dist/js/auth/utils/otpVerifiedResponse.js +9 -5
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +9 -4
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +20 -12
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/envs.js +3 -3
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +4 -1
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/types/Constructor.d.ts +2 -0
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.collection.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.collection.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,eAAO,MAAM,cAAc,YA2DzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -55,8 +55,13 @@ export const authCollection = collection({
|
|
|
55
55
|
{
|
|
56
56
|
method: "get",
|
|
57
57
|
handler: "refresh",
|
|
58
|
-
path: "/refresh-token"
|
|
59
|
-
}
|
|
58
|
+
path: "/refresh-token",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
method: "post",
|
|
62
|
+
handler: "refresh",
|
|
63
|
+
path: "/refresh-token",
|
|
64
|
+
},
|
|
60
65
|
],
|
|
61
66
|
});
|
|
62
67
|
export default authCollection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,iBAAiB,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE;QACX;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,QAAQ;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,OAAO;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,gBAAgB;SAChC;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,eAAe;SAC/B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,iBAAiB,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE;QACX;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,QAAQ;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,OAAO;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,gBAAgB;SAChC;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,eAAe;SAC/B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValidations.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"getValidations.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc/D,QAAA,MAAM,iBAAiB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;;;CAmD3D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,34 +1,50 @@
|
|
|
1
1
|
import { buildZodObject } from "../../lib/zod.factory.js";
|
|
2
2
|
import fields from "../../lib/unified.fields.js";
|
|
3
3
|
import { getEnvs } from "../../config/envs.js";
|
|
4
|
+
import AppLog from "../../utils/AppLog.js";
|
|
4
5
|
const helper = (obj, arr, internal) => {
|
|
5
6
|
return buildZodObject(obj, arr, internal).shape;
|
|
6
7
|
};
|
|
7
8
|
const getValidationsObj = (obj) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
9
|
+
try {
|
|
10
|
+
const { authConfigObj } = getEnvs();
|
|
11
|
+
const { otp, purpose, email, password } = authConfigObj?.fieldsObj;
|
|
12
|
+
if (!otp || !purpose || !email || !password)
|
|
13
|
+
throw new Error("email, password, otp and purpose all fields are required in authConfig.fieldsObj ");
|
|
14
|
+
const login = helper(obj, [email, password]);
|
|
15
|
+
let signupKeys = [];
|
|
16
|
+
for (const key in obj) {
|
|
17
|
+
signupKeys.push(key);
|
|
18
|
+
}
|
|
19
|
+
const signup = helper(obj, signupKeys);
|
|
20
|
+
const verifyOTP = helper({
|
|
21
|
+
[otp]: fields.otp,
|
|
22
|
+
[purpose]: fields.purposeOTP,
|
|
23
|
+
...obj,
|
|
24
|
+
}, [email, otp, purpose]);
|
|
25
|
+
const resendOTP = helper({ [purpose]: fields.purposeOTP, ...obj }, [
|
|
26
|
+
email,
|
|
27
|
+
purpose,
|
|
28
|
+
]);
|
|
29
|
+
const forgotPassword = helper(obj, [email]);
|
|
30
|
+
return {
|
|
31
|
+
login,
|
|
32
|
+
signup,
|
|
33
|
+
verifyOTP,
|
|
34
|
+
resendOTP,
|
|
35
|
+
forgotPassword,
|
|
36
|
+
resetPassword: login,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
let message = error.message;
|
|
41
|
+
if (message.includes("schema")) {
|
|
42
|
+
message = message.replace("schema", "'authConfig.schemaObj.schema'");
|
|
43
|
+
message = message.replace("does not exist", "is required");
|
|
44
|
+
AppLog("x", "schemaObj", message);
|
|
45
|
+
}
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
32
48
|
};
|
|
33
49
|
export default getValidationsObj;
|
|
34
50
|
//# sourceMappingURL=getValidations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValidations.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"getValidations.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/getValidations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,MAAM,MAAM,GAAG,CACb,GAAiC,EACjC,GAAa,EACb,QAAuC,EACvC,EAAE;IACF,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAiC,EAAE,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,SAAU,CAAC;QAEpE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;YACzC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CACtB;YACE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;YACjB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU;YAC5B,GAAG,GAAG;SACP,EACD,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACtB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,EAAE,EAAE;YACjE,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5C,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS;YACT,SAAS;YACT,cAAc;YACd,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,GAAI,KAAe,CAAC,OAAO,CAAC;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;YACrE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOjD,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuC1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -4,22 +4,26 @@ import createOTPUser from "./utils/createOTPUser.js";
|
|
|
4
4
|
import getUser from "./utils/getUser.js";
|
|
5
5
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
6
6
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
7
|
+
import { getEnvs } from "../config/envs.js";
|
|
7
8
|
const forgotPassword = ({ modelName, routeName, validationsObj, routeObj, }) => {
|
|
8
9
|
return async (req, res) => {
|
|
10
|
+
const { authConfigObj } = getEnvs();
|
|
11
|
+
const { fieldsObj } = authConfigObj;
|
|
12
|
+
const emailKey = fieldsObj?.email;
|
|
9
13
|
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
10
14
|
const body = validate(validationObj, req.body, routeObj);
|
|
11
|
-
if (!req.body
|
|
15
|
+
if (!req.body?.[emailKey])
|
|
12
16
|
throw new AppError({
|
|
13
|
-
message:
|
|
17
|
+
message: `${emailKey} is required.`,
|
|
14
18
|
statusCode: 409,
|
|
15
|
-
hint:
|
|
19
|
+
hint: `Provide your ${emailKey} for resetting password.`,
|
|
16
20
|
details: getErrorDetail(routeObj),
|
|
17
21
|
});
|
|
18
22
|
await getUser({
|
|
19
23
|
modelName,
|
|
20
24
|
routeName,
|
|
21
|
-
email: body
|
|
22
|
-
routeObj
|
|
25
|
+
email: body[emailKey],
|
|
26
|
+
routeObj,
|
|
23
27
|
});
|
|
24
28
|
await createOTPUser({
|
|
25
29
|
body,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAGlC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,eAAe;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gBAAgB,QAAQ,0BAA0B;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,OAAO,CAAC;YACZ,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,QAAS,CAAW;YAChC,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,gBAAgB;YACzB,SAAS;YACT,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,EAC/B,oBAAoB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,EAC/B,oBAAoB,cAAc,SA8CnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/js/auth/index.js
CHANGED
|
@@ -17,6 +17,8 @@ const auth = (app, routeName, routes, modelName, validationsObj, mongooseSchemaO
|
|
|
17
17
|
: item);
|
|
18
18
|
}
|
|
19
19
|
envs.userModelName = modelName;
|
|
20
|
+
if (!mongooseSchemaObj)
|
|
21
|
+
throw new Error("User model schema should also be written in auth collection");
|
|
20
22
|
const otpUserModel = createOTPModel(routeName, mongooseSchemaObj);
|
|
21
23
|
registerModel["otpUser"] = otpUserModel;
|
|
22
24
|
for (const routeObj of routes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,iBAAkC,EAClC,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,SAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,iBAAkC,EAClC,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,SAAmB,CAAC;IAEzC,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAKtG,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,iBAAkB,CAAC,CAAC;IACnE,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IAGxC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAElB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,GAAG,UAAU,EACb,YAAY,CACV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc,EAAE,iBAAiB,IAAI,cAAc;SACpD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQpE,QAAA,MAAM,KAAK,GAAI,qDAKZ;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgC1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/dist/js/auth/login.js
CHANGED
|
@@ -3,15 +3,20 @@ import validate from "../utils/validate.js";
|
|
|
3
3
|
import AppError from "../utils/AppError.js";
|
|
4
4
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
5
5
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
6
|
+
import { getEnvs } from "../config/envs.js";
|
|
6
7
|
const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
|
|
7
8
|
return async (req, res) => {
|
|
9
|
+
const { authConfigObj } = getEnvs();
|
|
10
|
+
const { fieldsObj } = authConfigObj;
|
|
11
|
+
const emailKey = fieldsObj?.email;
|
|
12
|
+
const passwordKey = fieldsObj?.password;
|
|
8
13
|
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
9
14
|
const body = validate(validationObj, req.body, routeObj);
|
|
10
|
-
if (!req.body
|
|
15
|
+
if (!req.body?.[emailKey] || !req.body?.[passwordKey])
|
|
11
16
|
throw new AppError({
|
|
12
|
-
message:
|
|
17
|
+
message: `${emailKey} and ${passwordKey} are required.`,
|
|
13
18
|
statusCode: 409,
|
|
14
|
-
hint:
|
|
19
|
+
hint: `Provide ${emailKey} and ${passwordKey} to login.`,
|
|
15
20
|
details: getErrorDetail(routeObj),
|
|
16
21
|
});
|
|
17
22
|
await modeMap.login[routeObj.mode]({
|
|
@@ -21,7 +26,7 @@ const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
|
|
|
21
26
|
routeName,
|
|
22
27
|
modelName,
|
|
23
28
|
routeObj,
|
|
24
|
-
req
|
|
29
|
+
req,
|
|
25
30
|
});
|
|
26
31
|
};
|
|
27
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAGxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAY,CAAC;YACrD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,YAAY;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YAClC,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAcjD,QAAA,MAAM,OAAO,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,MAClC,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA8E1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
package/dist/js/auth/refresh.js
CHANGED
|
@@ -9,19 +9,12 @@ import findRefreshToken from "./utils/findRefreshToken.js";
|
|
|
9
9
|
import handleRefreshTokenValidation from "./utils/handleRefreshTokenValidation.js";
|
|
10
10
|
import findRefreshTokenUser from "./utils/findRefreshTokenUser.js";
|
|
11
11
|
import handleRotateRefreshToken from "./utils/handleRotateRefreshToken.js";
|
|
12
|
+
import getRefreshToken from "./utils/handleGetRefreshToken.js";
|
|
12
13
|
const refresh = ({ routeObj }) => {
|
|
13
14
|
return async (req, res) => {
|
|
14
15
|
const { authConfigObj, userModelName } = getEnvs();
|
|
15
|
-
const { deviceType, jti, deviceName, os, ipAddress, familyId } = tokenInfo(req);
|
|
16
|
-
let token = req
|
|
17
|
-
if (!token)
|
|
18
|
-
throw new AppError({
|
|
19
|
-
message: "Refresh token is missing",
|
|
20
|
-
code: "REFRESH_TOKEN_MISSING",
|
|
21
|
-
details: getErrorDetail(routeObj),
|
|
22
|
-
hint: "Sign in again to create a new authentication session.",
|
|
23
|
-
statusCode: 401,
|
|
24
|
-
});
|
|
16
|
+
const { deviceType, jti, deviceName, os, ipAddress, familyId, reqMethod } = tokenInfo(req);
|
|
17
|
+
let token = getRefreshToken({ reqMethod, req, routeObj });
|
|
25
18
|
const payload = verifyJWT({
|
|
26
19
|
token,
|
|
27
20
|
routeObj,
|
|
@@ -31,7 +24,7 @@ const refresh = ({ routeObj }) => {
|
|
|
31
24
|
message: "Refresh token payload is invalid",
|
|
32
25
|
code: "REFRESH_TOKEN_PAYLOAD_INVALID",
|
|
33
26
|
statusCode: 401,
|
|
34
|
-
hint: "
|
|
27
|
+
hint: "Log in again to obtain a valid refresh token.",
|
|
35
28
|
details: getErrorDetail(routeObj),
|
|
36
29
|
});
|
|
37
30
|
const foundRefreshToken = await findRefreshToken(payload.sub, payload.jti, routeObj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,4BAA4B,MAAM,yCAAyC,CAAC;AACnF,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,wBAAwB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/js/auth/refresh.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resendOTP.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYpE,QAAA,MAAM,SAAS,GAAI,qDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"resendOTP.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYpE,QAAA,MAAM,SAAS,GAAI,qDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgF1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -7,40 +7,49 @@ import getOTPUser from "./utils/getOTPUser.js";
|
|
|
7
7
|
import getUser from "./utils/getUser.js";
|
|
8
8
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
9
9
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
10
|
+
import { getEnvs } from "../config/envs.js";
|
|
10
11
|
const resendOTP = ({ modelName, routeName, validationsObj, routeObj, }) => {
|
|
11
12
|
return async (req, res) => {
|
|
13
|
+
const { authConfigObj } = getEnvs();
|
|
14
|
+
const { fieldsObj } = authConfigObj;
|
|
15
|
+
const emailKey = fieldsObj?.email;
|
|
16
|
+
const passwordKey = fieldsObj?.password;
|
|
17
|
+
const otpKey = fieldsObj?.otp;
|
|
18
|
+
const purposeKey = fieldsObj?.purpose;
|
|
12
19
|
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
13
20
|
const body = validate(validationObj, req.body, routeObj);
|
|
14
|
-
if (!req.body
|
|
21
|
+
if (!req.body?.[emailKey] ||
|
|
22
|
+
!req.body?.[otpKey] ||
|
|
23
|
+
!req.body?.[purposeKey])
|
|
15
24
|
throw new AppError({
|
|
16
|
-
message:
|
|
25
|
+
message: `${emailKey}, ${otpKey}, and ${purposeKey} are required.`,
|
|
17
26
|
statusCode: 400,
|
|
18
|
-
hint:
|
|
27
|
+
hint: `Provide ${emailKey}, ${otpKey}, and ${purposeKey} in the request body.`,
|
|
19
28
|
details: getErrorDetail(routeObj),
|
|
20
29
|
});
|
|
21
30
|
await getUser({
|
|
22
31
|
modelName,
|
|
23
32
|
routeName,
|
|
24
|
-
email: body
|
|
25
|
-
routeObj
|
|
33
|
+
email: body[emailKey],
|
|
34
|
+
routeObj,
|
|
26
35
|
});
|
|
27
36
|
const OTPUser = await getOTPUser({
|
|
28
|
-
email: body
|
|
29
|
-
purpose: body
|
|
37
|
+
email: body[emailKey],
|
|
38
|
+
purpose: body[purposeKey],
|
|
30
39
|
routeObj,
|
|
31
40
|
});
|
|
32
41
|
if (OTPUser.isVerified) {
|
|
33
42
|
appResponse({
|
|
34
43
|
res,
|
|
35
|
-
message: `${body
|
|
44
|
+
message: `${body[purposeKey]}: OTP has already been verified.`,
|
|
36
45
|
data: undefined,
|
|
37
46
|
});
|
|
38
47
|
return;
|
|
39
48
|
}
|
|
40
|
-
const { OTP, otpExpiry } = await sendOTP(body
|
|
49
|
+
const { OTP, otpExpiry } = await sendOTP(body[emailKey], routeObj);
|
|
41
50
|
const hashedOTP = await hash(OTP, routeObj);
|
|
42
51
|
OTPUser.otpCount = 0;
|
|
43
|
-
OTPUser
|
|
52
|
+
OTPUser[otpKey] = hashedOTP;
|
|
44
53
|
OTPUser.otpExpiry = otpExpiry;
|
|
45
54
|
OTPUser.isVerified = false;
|
|
46
55
|
await OTPUser.save();
|
|
@@ -49,7 +58,7 @@ const resendOTP = ({ modelName, routeName, validationsObj, routeObj, }) => {
|
|
|
49
58
|
message: "OTP resent successfully!",
|
|
50
59
|
statusCode: 200,
|
|
51
60
|
data: {
|
|
52
|
-
nextStep: `go to /verify-otp with
|
|
61
|
+
nextStep: `go to /verify-otp with ${purposeKey}: ${req.body[purposeKey]}`,
|
|
53
62
|
},
|
|
54
63
|
});
|
|
55
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resendOTP.js","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"resendOTP.js","sourceRoot":"","sources":["../../../src/js/auth/resendOTP.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,aAAa,GAAI,qDAKpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,aAAa,GAAI,qDAKpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA2E1C,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -8,40 +8,48 @@ import getOTPModel from "./utils/getOTPModel.js";
|
|
|
8
8
|
import appResponse from "../utils/response.js";
|
|
9
9
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
10
10
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
11
|
+
import { getEnvs } from "../config/envs.js";
|
|
11
12
|
const resetPassword = ({ modelName, routeObj, routeName, validationsObj, }) => {
|
|
12
13
|
return async (req, res) => {
|
|
14
|
+
const { authConfigObj } = getEnvs();
|
|
15
|
+
const { fieldsObj } = authConfigObj;
|
|
16
|
+
const emailKey = fieldsObj?.email;
|
|
17
|
+
const passwordKey = fieldsObj?.password;
|
|
18
|
+
const otpKey = fieldsObj?.otp;
|
|
19
|
+
const purposeKey = fieldsObj?.purpose;
|
|
13
20
|
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
14
21
|
const body = validate(validationObj, req.body, routeObj);
|
|
15
|
-
if (!req.body
|
|
22
|
+
if (!req.body?.[emailKey] || !req.body?.[passwordKey])
|
|
16
23
|
throw new AppError({
|
|
17
|
-
message:
|
|
24
|
+
message: `${emailKey} and ${passwordKey} are required.`,
|
|
18
25
|
statusCode: 400,
|
|
19
|
-
hint:
|
|
26
|
+
hint: `Provide ${emailKey} and ${passwordKey} in the request body.`,
|
|
20
27
|
details: getErrorDetail(routeObj),
|
|
21
28
|
});
|
|
29
|
+
const purpose = "password_reset";
|
|
22
30
|
await getOTPUser({
|
|
23
|
-
email: body
|
|
24
|
-
purpose
|
|
31
|
+
email: body[emailKey],
|
|
32
|
+
purpose,
|
|
25
33
|
routeObj,
|
|
26
34
|
});
|
|
27
35
|
const { isVerified } = await handleIsVerified({
|
|
28
|
-
email: body
|
|
29
|
-
purpose
|
|
30
|
-
routeObj
|
|
36
|
+
email: body[emailKey],
|
|
37
|
+
purpose,
|
|
38
|
+
routeObj,
|
|
31
39
|
});
|
|
32
40
|
const user = await getUser({
|
|
33
41
|
modelName,
|
|
34
42
|
routeName,
|
|
35
|
-
email: body
|
|
36
|
-
routeObj
|
|
43
|
+
email: body[emailKey],
|
|
44
|
+
routeObj,
|
|
37
45
|
});
|
|
38
|
-
user
|
|
46
|
+
user[passwordKey] = await hash(body[passwordKey], routeObj);
|
|
39
47
|
await user.save();
|
|
40
48
|
const OTPModel = getOTPModel(routeObj);
|
|
41
49
|
if (isVerified)
|
|
42
50
|
await OTPModel.deleteOne({
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
[emailKey]: body[emailKey],
|
|
52
|
+
[purposeKey]: purpose,
|
|
45
53
|
});
|
|
46
54
|
appResponse({
|
|
47
55
|
res,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resetPassword.js","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"resetPassword.js","sourceRoot":"","sources":["../../../src/js/auth/resetPassword.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AASpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA+C1C,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/js/auth/signup.js
CHANGED
|
@@ -4,24 +4,31 @@ import modeMap from "./utils/modeMap.js";
|
|
|
4
4
|
import getModel from "../utils/getModel.js";
|
|
5
5
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
6
6
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
7
|
+
import { getEnvs } from "../config/envs.js";
|
|
7
8
|
const signup = ({ modelName, routeObj, routeName, validationsObj, }) => {
|
|
8
9
|
return async (req, res) => {
|
|
10
|
+
const { authConfigObj } = getEnvs();
|
|
11
|
+
const { fieldsObj } = authConfigObj;
|
|
12
|
+
const emailKey = fieldsObj?.email;
|
|
13
|
+
const passwordKey = fieldsObj?.password;
|
|
9
14
|
const validationObj = getValidationKey(routeObj, validationsObj);
|
|
10
15
|
const body = validate(validationObj, req.body, routeObj);
|
|
11
|
-
if (!req.body
|
|
16
|
+
if (!req.body[emailKey] || !req.body[passwordKey])
|
|
12
17
|
throw new AppError({
|
|
13
|
-
message:
|
|
18
|
+
message: `${emailKey} and ${passwordKey} are required.`,
|
|
14
19
|
statusCode: 400,
|
|
15
|
-
hint:
|
|
20
|
+
hint: `Provide ${emailKey} and ${passwordKey} in the request body.`,
|
|
16
21
|
details: getErrorDetail(routeObj),
|
|
17
22
|
});
|
|
18
23
|
const Model = getModel({ modelName, routeName, routeObj });
|
|
19
|
-
const existing = await Model.findOne({
|
|
24
|
+
const existing = await Model.findOne({
|
|
25
|
+
[emailKey]: body[emailKey],
|
|
26
|
+
});
|
|
20
27
|
if (existing)
|
|
21
28
|
throw new AppError({
|
|
22
|
-
message:
|
|
29
|
+
message: `User with this ${emailKey} already exists.`,
|
|
23
30
|
statusCode: 409,
|
|
24
|
-
hint:
|
|
31
|
+
hint: `Login with the existing account or use a different ${emailKey}.`,
|
|
25
32
|
details: getErrorDetail(routeObj),
|
|
26
33
|
});
|
|
27
34
|
await modeMap.signup[routeObj.mode]({
|
|
@@ -31,7 +38,7 @@ const signup = ({ modelName, routeObj, routeName, validationsObj, }) => {
|
|
|
31
38
|
modelName,
|
|
32
39
|
purpose: "signup",
|
|
33
40
|
routeObj,
|
|
34
|
-
req
|
|
41
|
+
req,
|
|
35
42
|
});
|
|
36
43
|
};
|
|
37
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/js/auth/signup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAGxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAY,CAAC;YACjD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,uBAAuB;gBACnE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YACnC,CAAC,QAAS,CAAC,EAAE,IAAI,CAAC,QAAS,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAI,QAAQ;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,kBAAkB,QAAQ,kBAAkB;gBACrD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sDAAsD,QAAQ,GAAG;gBACvE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YACnC,IAAI;YACJ,GAAG;YACH,SAAS;YACT,SAAS;YACT,OAAO,EAAE,QAAQ;YACjB,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UAParser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,QAAA,MAAM,SAAS,GAAI,KAAK,OAAO
|
|
1
|
+
{"version":3,"file":"UAParser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,QAAA,MAAM,SAAS,GAAI,KAAK,OAAO;;;;;;;;CAa9B,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UAParser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QAC5C,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS;QAC9B,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE;QAClD,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"UAParser.js","sourceRoot":"","sources":["../../../../src/js/auth/utils/UAParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;QAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;QAC5C,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS;QAC9B,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE;QAClD,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChD,SAAS,EAAE,GAAG,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticateUser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOvD,QAAA,MAAM,gBAAgB,GAAU,qDAO7B;IACD,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,
|
|
1
|
+
{"version":3,"file":"authenticateUser.d.ts","sourceRoot":"","sources":["../../../../src/js/auth/utils/authenticateUser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAOvD,QAAA,MAAM,gBAAgB,GAAU,qDAO7B;IACD,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,kBAqGA,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|