UNPKG

phx-react

Version:

PHX REACT

43 lines 1.56 kB
import CryptoJS from 'crypto-js'; import { ACTION_PERMISSION, IV_LENGTH, SECRET_KEY } from '../../utils/constants'; import Cookies from 'js-cookie'; export function encryptDataSync(data) { var iv = CryptoJS.lib.WordArray.random(IV_LENGTH); var encrypted = CryptoJS.AES.encrypt(JSON.stringify(data), CryptoJS.enc.Hex.parse(SECRET_KEY), { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return { iv: CryptoJS.enc.Base64.stringify(iv), encryptedData: encrypted.toString() }; } function descriptCoookie(encryptedData) { try { var iv = encryptedData.iv, cipherText = encryptedData.encryptedData; var ivBytes = CryptoJS.enc.Base64.parse(iv); var secretKeyBytes = CryptoJS.enc.Hex.parse(SECRET_KEY); var decrypted = CryptoJS.AES.decrypt(cipherText, secretKeyBytes, { iv: ivBytes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8)); } catch (error) { console.error(error); return null; } } export var PHXFuncGetActionPermissionV3 = function (keyAction) { var actionPermissionString = Cookies.get(ACTION_PERMISSION); if (!actionPermissionString) { return null; } var actionPermissionJson = JSON.parse(actionPermissionString); var result = descriptCoookie(actionPermissionJson); var isAllowed = result[keyAction]; return isAllowed; }; //# sourceMappingURL=getActionPermission.js.map