e49c0c8d8140802b0bbff4d168e6e60852ad08bb
[motion2.git] / server / api / squareRecording / squareRecording.controller.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 _0x4036=['../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SquareRecording','includeAll','findAll','rows','catch','show','params','rawAttributes','length','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','SquareRecording\x20not\x20found','extname','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x1624a0,_0x46bfcb){var _0x4711de=function(_0x47791e){while(--_0x47791e){_0x1624a0['push'](_0x1624a0['shift']());}};_0x4711de(++_0x46bfcb);}(_0x4036,0x11a));var _0x6403=function(_0x18d808,_0x2093af){_0x18d808=_0x18d808-0x0;var _0x47803b=_0x4036[_0x18d808];return _0x47803b;};'use strict';var emlformat=require(_0x6403('0x0'));var rimraf=require(_0x6403('0x1'));var zipdir=require(_0x6403('0x2'));var jsonpatch=require(_0x6403('0x3'));var rp=require('request-promise');var moment=require(_0x6403('0x4'));var BPromise=require(_0x6403('0x5'));var Mustache=require(_0x6403('0x6'));var util=require(_0x6403('0x7'));var path=require(_0x6403('0x8'));var sox=require(_0x6403('0x9'));var csv=require(_0x6403('0xa'));var ejs=require(_0x6403('0xb'));var fs=require('fs');var fs_extra=require(_0x6403('0xc'));var _=require(_0x6403('0xd'));var squel=require('squel');var crypto=require(_0x6403('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6403('0xf'));var Papa=require(_0x6403('0x10'));var Redis=require(_0x6403('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x6403('0x12'));var as=require(_0x6403('0x13'));var hardwareService=require(_0x6403('0x14'));var logger=require(_0x6403('0x15'))(_0x6403('0x16'));var utils=require('../../config/utils');var config=require(_0x6403('0x17'));var licenseUtil=require(_0x6403('0x18'));var db=require(_0x6403('0x19'))['db'];function respondWithStatusCode(_0xb5f2dd,_0x30620e){_0x30620e=_0x30620e||0xcc;return function(_0x335817){if(_0x335817){return _0xb5f2dd[_0x6403('0x1a')](_0x30620e);}return _0xb5f2dd['status'](_0x30620e)[_0x6403('0x1b')]();};}function respondWithResult(_0x6b7f21,_0xf4b2d){_0xf4b2d=_0xf4b2d||0xc8;return function(_0x422a5c){if(_0x422a5c){return _0x6b7f21[_0x6403('0x1c')](_0xf4b2d)[_0x6403('0x1d')](_0x422a5c);}};}function respondWithFilteredResult(_0x3bcd70,_0x154c7a){return function(_0x502ed0){if(_0x502ed0){var _0x138aa0=typeof _0x154c7a[_0x6403('0x1e')]===_0x6403('0x1f')&&typeof _0x154c7a[_0x6403('0x20')]===_0x6403('0x1f');var _0x1e9bbf=_0x502ed0[_0x6403('0x21')];var _0x250d6d=_0x138aa0?0x0:_0x154c7a[_0x6403('0x1e')];var _0x48a7f6=_0x138aa0?_0x502ed0[_0x6403('0x21')]:_0x154c7a['offset']+_0x154c7a['limit'];var _0x1d8ace;if(_0x48a7f6>=_0x1e9bbf){_0x48a7f6=_0x1e9bbf;_0x1d8ace=0xc8;}else{_0x1d8ace=0xce;}_0x3bcd70[_0x6403('0x1c')](_0x1d8ace);return _0x3bcd70['set'](_0x6403('0x22'),_0x250d6d+'-'+_0x48a7f6+'/'+_0x1e9bbf)[_0x6403('0x1d')](_0x502ed0);}return null;};}function patchUpdates(_0x334455){return function(_0x543c37){try{jsonpatch[_0x6403('0x23')](_0x543c37,_0x334455,!![]);}catch(_0x47eb76){return BPromise[_0x6403('0x24')](_0x47eb76);}return _0x543c37[_0x6403('0x25')]();};}function saveUpdates(_0x252945,_0x136954){return function(_0x2b2d76){if(_0x2b2d76){return _0x2b2d76[_0x6403('0x26')](_0x252945)['then'](function(_0x2bb2f1){return _0x2bb2f1;});}return null;};}function removeEntity(_0x19591f,_0x51f6f3){return function(_0x478143){if(_0x478143){return _0x478143[_0x6403('0x27')]()[_0x6403('0x28')](function(){_0x19591f[_0x6403('0x1c')](0xcc)[_0x6403('0x1b')]();});}};}function handleEntityNotFound(_0x1fd7db,_0xab0c01){return function(_0x1c0aea){if(!_0x1c0aea){_0x1fd7db['sendStatus'](0x194);}return _0x1c0aea;};}function handleError(_0x4837ae,_0x1d9921){_0x1d9921=_0x1d9921||0x1f4;return function(_0x2a9be0){logger[_0x6403('0x29')](_0x2a9be0[_0x6403('0x2a')]);if(_0x2a9be0[_0x6403('0x2b')]){delete _0x2a9be0['name'];}_0x4837ae[_0x6403('0x1c')](_0x1d9921)[_0x6403('0x2c')](_0x2a9be0);};}exports[_0x6403('0x2d')]=function(_0x5d9922,_0x409cce){var _0xffeac5={},_0x294abd={},_0x2538bb={'count':0x0,'rows':[]};var _0x320354=_[_0x6403('0x2e')](db['SquareRecording']['rawAttributes'],function(_0x3c2f15){return{'name':_0x3c2f15[_0x6403('0x2f')],'type':_0x3c2f15[_0x6403('0x30')][_0x6403('0x31')]};});_0x294abd[_0x6403('0x32')]=_[_0x6403('0x2e')](_0x320354,_0x6403('0x2b'));_0x294abd[_0x6403('0x33')]=_[_0x6403('0x34')](_0x5d9922[_0x6403('0x33')]);_0x294abd[_0x6403('0x35')]=_[_0x6403('0x36')](_0x294abd[_0x6403('0x32')],_0x294abd[_0x6403('0x33')]);_0xffeac5[_0x6403('0x37')]=_[_0x6403('0x36')](_0x294abd[_0x6403('0x32')],qs['fields'](_0x5d9922[_0x6403('0x33')][_0x6403('0x38')]));_0xffeac5[_0x6403('0x37')]=_0xffeac5[_0x6403('0x37')]['length']?_0xffeac5[_0x6403('0x37')]:_0x294abd[_0x6403('0x32')];if(!_0x5d9922[_0x6403('0x33')][_0x6403('0x39')](_0x6403('0x3a'))){_0xffeac5[_0x6403('0x20')]=qs['limit'](_0x5d9922[_0x6403('0x33')]['limit']);_0xffeac5[_0x6403('0x1e')]=qs[_0x6403('0x1e')](_0x5d9922[_0x6403('0x33')][_0x6403('0x1e')]);}_0xffeac5[_0x6403('0x3b')]=qs['sort'](_0x5d9922[_0x6403('0x33')][_0x6403('0x3c')]);_0xffeac5[_0x6403('0x3d')]=qs[_0x6403('0x35')](_[_0x6403('0x3e')](_0x5d9922[_0x6403('0x33')],_0x294abd[_0x6403('0x35')]),_0x320354);if(_0x5d9922[_0x6403('0x33')][_0x6403('0x3f')]){_0xffeac5[_0x6403('0x3d')]=_[_0x6403('0x40')](_0xffeac5[_0x6403('0x3d')],{'$or':_[_0x6403('0x2e')](_0x320354,function(_0x22153c){if(_0x22153c[_0x6403('0x30')]!==_0x6403('0x41')){var _0x55e28b={};_0x55e28b[_0x22153c[_0x6403('0x2b')]]={'$like':'%'+_0x5d9922[_0x6403('0x33')][_0x6403('0x3f')]+'%'};return _0x55e28b;}})});}_0xffeac5=_[_0x6403('0x40')]({},_0xffeac5,_0x5d9922[_0x6403('0x42')]);var _0x1a6f6b={'where':_0xffeac5['where']};return db[_0x6403('0x43')]['count'](_0x1a6f6b)['then'](function(_0x383b35){_0x2538bb[_0x6403('0x21')]=_0x383b35;if(_0x5d9922[_0x6403('0x33')][_0x6403('0x44')]){_0xffeac5['include']=[{'all':!![]}];}return db[_0x6403('0x43')][_0x6403('0x45')](_0xffeac5);})[_0x6403('0x28')](function(_0xe36c19){_0x2538bb[_0x6403('0x46')]=_0xe36c19;return _0x2538bb;})[_0x6403('0x28')](respondWithFilteredResult(_0x409cce,_0xffeac5))[_0x6403('0x47')](handleError(_0x409cce,null));};exports[_0x6403('0x48')]=function(_0x21653c,_0x58f01e){var _0x83d074={'raw':!![],'where':{'id':_0x21653c[_0x6403('0x49')]['id']}},_0x5289aa={};_0x5289aa[_0x6403('0x32')]=_['keys'](db[_0x6403('0x43')][_0x6403('0x4a')]);_0x5289aa['query']=_[_0x6403('0x34')](_0x21653c['query']);_0x5289aa[_0x6403('0x35')]=_[_0x6403('0x36')](_0x5289aa[_0x6403('0x32')],_0x5289aa['query']);_0x83d074[_0x6403('0x37')]=_['intersection'](_0x5289aa[_0x6403('0x32')],qs['fields'](_0x21653c[_0x6403('0x33')][_0x6403('0x38')]));_0x83d074[_0x6403('0x37')]=_0x83d074[_0x6403('0x37')][_0x6403('0x4b')]?_0x83d074['attributes']:_0x5289aa['model'];if(_0x21653c['query'][_0x6403('0x44')]){_0x83d074['include']=[{'all':!![]}];}_0x83d074=_[_0x6403('0x40')]({},_0x83d074,_0x21653c[_0x6403('0x42')]);return db[_0x6403('0x43')][_0x6403('0x4c')](_0x83d074)[_0x6403('0x28')](handleEntityNotFound(_0x58f01e,null))['then'](respondWithResult(_0x58f01e,null))['catch'](handleError(_0x58f01e,null));};exports[_0x6403('0x4d')]=function(_0x3e80da,_0x1ee312){return db[_0x6403('0x43')][_0x6403('0x4d')](_0x3e80da['body'],{})[_0x6403('0x28')](respondWithResult(_0x1ee312,0xc9))[_0x6403('0x47')](handleError(_0x1ee312,null));};exports[_0x6403('0x26')]=function(_0x2bb262,_0x266df9){if(_0x2bb262[_0x6403('0x4e')]['id']){delete _0x2bb262[_0x6403('0x4e')]['id'];}return db[_0x6403('0x43')]['find']({'where':{'id':_0x2bb262[_0x6403('0x49')]['id']}})['then'](handleEntityNotFound(_0x266df9,null))[_0x6403('0x28')](saveUpdates(_0x2bb262[_0x6403('0x4e')],null))[_0x6403('0x28')](respondWithResult(_0x266df9,null))[_0x6403('0x47')](handleError(_0x266df9,null));};exports[_0x6403('0x4f')]=function(_0x84f1df,_0x56f938,_0x4b3e15){var _0x1442dd=require(_0x6403('0x50'));var _0x25ef24=![];var _0x2145c7={};if(_0x84f1df['query'][_0x6403('0x30')]&&_0x84f1df['query'][_0x6403('0x30')]===_0x6403('0x51')){_0x2145c7['uniqueid']=_0x84f1df[_0x6403('0x49')]['id'];}else{_0x2145c7['id']=_0x84f1df[_0x6403('0x49')]['id'];}return db['SquareRecording'][_0x6403('0x4c')]({'where':_0x2145c7,'attributes':['id',_0x6403('0x52'),_0x6403('0x53')],'raw':!![]})[_0x6403('0x28')](handleEntityNotFound(_0x56f938,null))['then'](function(_0x13a842){if(_0x13a842){var _0x444f28=_0x13a842[_0x6403('0x52')];var _0x5f3972=util[_0x6403('0x54')](_0x6403('0x55'),_0x444f28);if(fs[_0x6403('0x56')](_0x5f3972)){_0x25ef24=!![];return _0x1442dd[_0x6403('0x57')](_0x5f3972,_0x444f28,config[_0x6403('0x58')]['recording'])['then'](function(){return _0x13a842;});}return _0x13a842;}})[_0x6403('0x28')](function(_0x44f3c7){if(_0x44f3c7){var _0x1a0f81=_0x44f3c7['savePath'];if(!fs[_0x6403('0x56')](_0x1a0f81)){throw new db['Sequelize']['ValidationError'](_0x6403('0x59'));}if(_0x44f3c7[_0x6403('0x53')]){return _0x56f938[_0x6403('0x4f')](_0x1a0f81,_0x44f3c7[_0x6403('0x53')]+path[_0x6403('0x5a')](_0x1a0f81),function(){if(_0x25ef24){fs['unlink'](_0x1a0f81);}});}else{return _0x56f938[_0x6403('0x4f')](_0x1a0f81,function(_0x5326c7){if(_0x25ef24){fs['unlink'](_0x1a0f81);}});}}})[_0x6403('0x47')](function(_0x3f08de){if(_0x3f08de[_0x6403('0x5b')]===_0x6403('0x59')){_0x56f938['status'](0x194)[_0x6403('0x2c')](_0x6403('0x5c'));}else{return handleError(_0x56f938,null);}});};exports['destroy']=function(_0x154229,_0x5695a8){return db[_0x6403('0x43')][_0x6403('0x4c')]({'where':{'id':_0x154229[_0x6403('0x49')]['id']}})['then'](function(_0x404e73){if(_['isNil'](_0x404e73)){throw new ReferenceError(_0x6403('0x5d'));}return _0x404e73;})[_0x6403('0x28')](function(_0x45ec95){var _0xf02681=_0x45ec95['savePath'];logger[_0x6403('0x5e')](_0x6403('0x5f'),_0xf02681);if(!_[_0x6403('0x60')](_0x45ec95[_0x6403('0x52')])&&fs[_0x6403('0x56')](_0xf02681)){logger[_0x6403('0x5e')](_0x6403('0x61')+_0xf02681+_0x6403('0x62'));fs[_0x6403('0x63')](_0xf02681);}_0xf02681=_0xf02681+_0x6403('0x64');if(!_[_0x6403('0x60')](_0x45ec95[_0x6403('0x52')])&&fs[_0x6403('0x56')](_0xf02681)){logger['info']('File:\x20\x22'+_0xf02681+_0x6403('0x62'));fs[_0x6403('0x63')](_0xf02681);}return _0x45ec95;})['then'](function(_0xd12cc9){if(!_0xd12cc9)throw new InternalError();return _0xd12cc9[_0x6403('0x27')]();})[_0x6403('0x28')](function(){_0x5695a8[_0x6403('0x1c')](0xcc)[_0x6403('0x1b')]();})[_0x6403('0x47')](handleError(_0x5695a8,null));};