UNPKG

phx-react

Version:

PHX REACT

49 lines 2.07 kB
"use strict"; exports.__esModule = true; exports.PHXFuncGetActionPermissionV3 = exports.encryptDataSync = void 0; var tslib_1 = require("tslib"); var crypto_js_1 = tslib_1.__importDefault(require("crypto-js")); var constants_1 = require("../../utils/constants"); var js_cookie_1 = tslib_1.__importDefault(require("js-cookie")); function encryptDataSync(data) { var iv = crypto_js_1["default"].lib.WordArray.random(constants_1.IV_LENGTH); var encrypted = crypto_js_1["default"].AES.encrypt(JSON.stringify(data), crypto_js_1["default"].enc.Hex.parse(constants_1.SECRET_KEY), { iv: iv, mode: crypto_js_1["default"].mode.CBC, padding: crypto_js_1["default"].pad.Pkcs7 }); return { iv: crypto_js_1["default"].enc.Base64.stringify(iv), encryptedData: encrypted.toString() }; } exports.encryptDataSync = encryptDataSync; function descriptCoookie(encryptedData) { try { var iv = encryptedData.iv, cipherText = encryptedData.encryptedData; var ivBytes = crypto_js_1["default"].enc.Base64.parse(iv); var secretKeyBytes = crypto_js_1["default"].enc.Hex.parse(constants_1.SECRET_KEY); var decrypted = crypto_js_1["default"].AES.decrypt(cipherText, secretKeyBytes, { iv: ivBytes, mode: crypto_js_1["default"].mode.CBC, padding: crypto_js_1["default"].pad.Pkcs7 }); return JSON.parse(decrypted.toString(crypto_js_1["default"].enc.Utf8)); } catch (error) { console.error(error); return null; } } var PHXFuncGetActionPermissionV3 = function (keyAction) { var actionPermissionString = js_cookie_1["default"].get(constants_1.ACTION_PERMISSION); if (!actionPermissionString) { return null; } var actionPermissionJson = JSON.parse(actionPermissionString); var result = descriptCoookie(actionPermissionJson); var isAllowed = result[keyAction]; return isAllowed; }; exports.PHXFuncGetActionPermissionV3 = PHXFuncGetActionPermissionV3; //# sourceMappingURL=getActionPermission.js.map