phx-react
Version:
PHX REACT
49 lines • 2.07 kB
JavaScript
;
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