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; } }