datasquirel/dist/package-shared/actions/users/validate-temp-email-code.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

33 lines
1.3 KiB
JavaScript

import getAuthCookieNames from "../../functions/backend/cookies/get-auth-cookie-names";
import parseCookies from "../../utils/backend/parseCookies";
import decrypt from "../../functions/dsql/decrypt";
import EJSON from "../../utils/ejson";
/**
* # Verify the temp email code sent to the user's email address
*/
export default async function validateTempEmailCode({ request, email, cookieString, }) {
var _a;
try {
const keyNames = getAuthCookieNames();
const oneTimeCodeCookieName = keyNames.oneTimeCodeName;
const cookies = parseCookies({ request, cookieString });
const encryptedOneTimeCode = cookies[oneTimeCodeCookieName];
const encryptedPayload = decrypt({
encryptedString: encryptedOneTimeCode,
});
const payload = EJSON.parse(encryptedPayload);
if ((payload === null || payload === void 0 ? void 0 : payload.email) && !email) {
return payload;
}
if ((payload === null || payload === void 0 ? void 0 : payload.email) && payload.email === email) {
return payload;
}
return null;
}
catch (error) {
(_a = global.ERROR_CALLBACK) === null || _a === void 0 ? void 0 : _a.call(global, `Validate Temp Email Code Error`, error);
console.log("validateTempEmailCode error:", error.message);
return null;
}
}