"use strict"; exports.id = 4432; exports.ids = [4432]; exports.modules = { /***/ 4432: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // @ts-check const { IncomingMessage } = __webpack_require__(3685); const decrypt = __webpack_require__(5425); /** * @async * @param {import("next").NextApiRequest | IncomingMessage & { cookies: Partial<{ [key: string]: string; }>} } req - https request object * * @returns {Promise<({ email: string, password: string, authKey: string, logged_in_status: boolean, date: number } | null)>} */ module.exports = async function(req) { /** ********************* Check for existence of required cookie */ if (!req.cookies?.datasquirelSuAdminUserAuthKey) { return null; } /** ********************* Grab the payload */ let userPayload = decrypt(req.cookies.datasquirelSuAdminUserAuthKey); /** ********************* Return if no payload */ if (!userPayload) return null; /** ********************* Parse the payload */ let userObject = JSON.parse(userPayload); if (userObject.password !== process.env.DSQL_USER_KEY) return null; if (userObject.authKey !== process.env.DSQL_SPECIAL_KEY) return null; //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// /** ********************* return user object */ return userObject; }; /***/ }), /***/ 5425: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // @ts-check const { scryptSync , createDecipheriv } = __webpack_require__(6113); const { Buffer } = __webpack_require__(4300); /** * @param {string} encryptedString * @returns {string | null} */ const decrypt = (encryptedString)=>{ const algorithm = "aes-192-cbc"; const password = process.env.DSQL_ENCRYPTION_PASSWORD || ""; const salt = process.env.DSQL_ENCRYPTION_SALT || ""; let key = scryptSync(password, salt, 24); let iv = Buffer.alloc(16, 0); // @ts-ignore const decipher = createDecipheriv(algorithm, key, iv); try { let decrypted = decipher.update(encryptedString, "hex", "utf8"); decrypted += decipher.final("utf8"); return decrypted; } catch (error) { return null; } }; module.exports = decrypt; /***/ }) }; ;