Built motion from commit (unavailable).|2.2.0
[motion2.git] / server / components / encryptor / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x5d4f=['close','unlink','crypto','bluebird','hasOwnProperty','encryptFile','createReadStream','algorithm','data','update','write','final','binary','end'];(function(_0x51815c,_0x5a7372){var _0x27e74d=function(_0x47899b){while(--_0x47899b){_0x51815c['push'](_0x51815c['shift']());}};_0x27e74d(++_0x5a7372);}(_0x5d4f,0x64));var _0xf5d4=function(_0x55887a,_0x31f82d){_0x55887a=_0x55887a-0x0;var _0x25c4bf=_0x5d4f[_0x55887a];return _0x25c4bf;};'use strict';var crypto=require(_0xf5d4('0x0'));var fs=require('fs');var BPromise=require(_0xf5d4('0x1'));var defaultOptions={'algorithm':'aes192'};function combineOptions(_0x5eb2ce){var _0x2a4157={};for(var _0x535c73 in defaultOptions){if(defaultOptions[_0xf5d4('0x2')](_0x535c73)){_0x2a4157[_0x535c73]=defaultOptions[_0x535c73];}}if(_0x5eb2ce){for(var _0x391487 in _0x5eb2ce){if(_0x5eb2ce[_0xf5d4('0x2')](_0x391487)){_0x2a4157[_0x391487]=_0x5eb2ce[_0x391487];}}}return _0x2a4157;}exports[_0xf5d4('0x3')]=function(_0x3bbdb6,_0x50c6bf,_0x6c010e,_0x57b3f2){return new BPromise(function(_0x4eb95c,_0x1e82a0){_0x57b3f2=combineOptions(_0x57b3f2);var _0x6aff41=new Buffer(_0x6c010e);var _0x1aa85c=fs[_0xf5d4('0x4')](_0x3bbdb6);var _0x5aa5ff=fs['createWriteStream'](_0x50c6bf);var _0x357dd2=crypto['createCipher'](_0x57b3f2[_0xf5d4('0x5')],_0x6aff41);_0x1aa85c['on'](_0xf5d4('0x6'),function(_0x1cc6d5){var _0x2306ba=new Buffer(_0x357dd2[_0xf5d4('0x7')](_0x1cc6d5),'binary');_0x5aa5ff[_0xf5d4('0x8')](_0x2306ba);});_0x1aa85c['on']('end',function(){try{var _0x38a17e=new Buffer(_0x357dd2[_0xf5d4('0x9')](_0xf5d4('0xa')),_0xf5d4('0xa'));_0x5aa5ff[_0xf5d4('0x8')](_0x38a17e);_0x5aa5ff[_0xf5d4('0xb')]();_0x5aa5ff['on'](_0xf5d4('0xc'),function(){return _0x4eb95c(_0x50c6bf);});}catch(_0x44a66e){fs['unlink'](_0x50c6bf);return _0x1e82a0(_0x44a66e);}});});};exports['decryptFile']=function(_0x5ba1a6,_0x7d23f9,_0x34c99f,_0xa4e5d9){return new BPromise(function(_0x3df658,_0x3b9f69){_0xa4e5d9=combineOptions(_0xa4e5d9);var _0x2bec88=new Buffer(_0x34c99f);var _0x596093=fs['createReadStream'](_0x5ba1a6);var _0x42c097=fs['createWriteStream'](_0x7d23f9);var _0x3161f7=crypto['createDecipher'](_0xa4e5d9[_0xf5d4('0x5')],_0x2bec88);_0x596093['on'](_0xf5d4('0x6'),function(_0x405861){var _0x2ce972=new Buffer(_0x3161f7[_0xf5d4('0x7')](_0x405861),_0xf5d4('0xa'));_0x42c097['write'](_0x2ce972);});_0x596093['on'](_0xf5d4('0xb'),function(){try{var _0x2b84c1=new Buffer(_0x3161f7[_0xf5d4('0x9')]('binary'),_0xf5d4('0xa'));_0x42c097['write'](_0x2b84c1);_0x42c097[_0xf5d4('0xb')]();_0x42c097['on']('close',function(){return _0x3df658(_0x7d23f9);});}catch(_0x41597c){fs[_0xf5d4('0xd')](_0x7d23f9);return _0x3b9f69(_0x41597c);}});});};