Built motion from commit (unavailable).|2.4.17
[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 _0xe607=['apply','reject','update','then','error','name','send','SquareRecording','rawAttributes','fieldName','type','key','model','map','query','keys','attributes','intersection','fields','length','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','uniqueid','savePath','filename','format','%s.cypher','existsSync','recording','SquareRecording\x20not\x20found','extname','unlink','Not\x20found','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','status','json','count','offset','limit','Content-Range'];(function(_0x5beb0d,_0x5ec08a){var _0x4f05c1=function(_0xc8b82b){while(--_0xc8b82b){_0x5beb0d['push'](_0x5beb0d['shift']());}};_0x4f05c1(++_0x5ec08a);}(_0xe607,0xf6));var _0x7e60=function(_0x251dac,_0x550951){_0x251dac=_0x251dac-0x0;var _0x503e64=_0xe607[_0x251dac];return _0x503e64;};'use strict';var pdf=require(_0x7e60('0x0'));var emlformat=require(_0x7e60('0x1'));var rimraf=require(_0x7e60('0x2'));var zipdir=require(_0x7e60('0x3'));var jsonpatch=require(_0x7e60('0x4'));var rp=require(_0x7e60('0x5'));var moment=require('moment');var BPromise=require(_0x7e60('0x6'));var Mustache=require(_0x7e60('0x7'));var util=require(_0x7e60('0x8'));var path=require(_0x7e60('0x9'));var sox=require('sox');var csv=require(_0x7e60('0xa'));var ejs=require(_0x7e60('0xb'));var fs=require('fs');var _=require(_0x7e60('0xc'));var squel=require(_0x7e60('0xd'));var crypto=require(_0x7e60('0xe'));var jsforce=require(_0x7e60('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x7e60('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7e60('0x10'));var authService=require(_0x7e60('0x11'));var qs=require(_0x7e60('0x12'));var as=require(_0x7e60('0x13'));var hardwareService=require(_0x7e60('0x14'));var logger=require(_0x7e60('0x15'))(_0x7e60('0x16'));var utils=require(_0x7e60('0x17'));var config=require('../../config/environment');var db=require(_0x7e60('0x18'))['db'];function respondWithStatusCode(_0xb68336,_0xcce5d4){_0xcce5d4=_0xcce5d4||0xcc;return function(_0x30c00f){if(_0x30c00f){return _0xb68336[_0x7e60('0x19')](_0xcce5d4);}return _0xb68336['status'](_0xcce5d4)[_0x7e60('0x1a')]();};}function respondWithResult(_0x574089,_0x111df7){_0x111df7=_0x111df7||0xc8;return function(_0x32a7dc){if(_0x32a7dc){return _0x574089[_0x7e60('0x1b')](_0x111df7)[_0x7e60('0x1c')](_0x32a7dc);}};}function respondWithFilteredResult(_0x28765a,_0x2c49e9){return function(_0x526e9f){if(_0x526e9f){var _0x18b84d=_0x526e9f[_0x7e60('0x1d')],_0x248073=_0x2c49e9[_0x7e60('0x1e')],_0x412f86=_0x2c49e9[_0x7e60('0x1e')]+_0x2c49e9[_0x7e60('0x1f')],_0x43378c;if(_0x412f86>=_0x18b84d){_0x412f86=_0x18b84d;_0x43378c=0xc8;}else{_0x43378c=0xce;}_0x28765a[_0x7e60('0x1b')](_0x43378c);return _0x28765a['set'](_0x7e60('0x20'),_0x248073+'-'+_0x412f86+'/'+_0x18b84d)[_0x7e60('0x1c')](_0x526e9f);}return null;};}function patchUpdates(_0x1431e5){return function(_0x1f557f){try{jsonpatch[_0x7e60('0x21')](_0x1f557f,_0x1431e5,!![]);}catch(_0x179630){return BPromise[_0x7e60('0x22')](_0x179630);}return _0x1f557f['save']();};}function saveUpdates(_0x2df6f6,_0x42997f){return function(_0x172574){if(_0x172574){return _0x172574[_0x7e60('0x23')](_0x2df6f6)[_0x7e60('0x24')](function(_0x2e2879){return _0x2e2879;});}return null;};}function removeEntity(_0x5ee053,_0x4e78a4){return function(_0x2fbb56){if(_0x2fbb56){return _0x2fbb56['destroy']()['then'](function(){_0x5ee053['status'](0xcc)[_0x7e60('0x1a')]();});}};}function handleEntityNotFound(_0x108eee,_0x2b86a1){return function(_0x2f5e7e){if(!_0x2f5e7e){_0x108eee[_0x7e60('0x19')](0x194);}return _0x2f5e7e;};}function handleError(_0x4f845c,_0x2db077){_0x2db077=_0x2db077||0x1f4;return function(_0x39cb75){logger[_0x7e60('0x25')](_0x39cb75['stack']);if(_0x39cb75[_0x7e60('0x26')]){delete _0x39cb75[_0x7e60('0x26')];}_0x4f845c[_0x7e60('0x1b')](_0x2db077)[_0x7e60('0x27')](_0x39cb75);};}exports['index']=function(_0x247346,_0x569f6f){var _0x59ed96={},_0x13dfaa={},_0x5d893b={'count':0x0,'rows':[]};var _0x2be148=_['map'](db[_0x7e60('0x28')][_0x7e60('0x29')],function(_0x2793ac){return{'name':_0x2793ac[_0x7e60('0x2a')],'type':_0x2793ac[_0x7e60('0x2b')][_0x7e60('0x2c')]};});_0x13dfaa[_0x7e60('0x2d')]=_[_0x7e60('0x2e')](_0x2be148,_0x7e60('0x26'));_0x13dfaa[_0x7e60('0x2f')]=_[_0x7e60('0x30')](_0x247346[_0x7e60('0x2f')]);_0x13dfaa['filters']=_['intersection'](_0x13dfaa['model'],_0x13dfaa[_0x7e60('0x2f')]);_0x59ed96[_0x7e60('0x31')]=_[_0x7e60('0x32')](_0x13dfaa[_0x7e60('0x2d')],qs[_0x7e60('0x33')](_0x247346[_0x7e60('0x2f')][_0x7e60('0x33')]));_0x59ed96[_0x7e60('0x31')]=_0x59ed96['attributes'][_0x7e60('0x34')]?_0x59ed96[_0x7e60('0x31')]:_0x13dfaa['model'];if(!_0x247346['query']['hasOwnProperty'](_0x7e60('0x35'))){_0x59ed96['limit']=qs[_0x7e60('0x1f')](_0x247346[_0x7e60('0x2f')][_0x7e60('0x1f')]);_0x59ed96[_0x7e60('0x1e')]=qs['offset'](_0x247346['query'][_0x7e60('0x1e')]);}_0x59ed96[_0x7e60('0x36')]=qs[_0x7e60('0x37')](_0x247346['query'][_0x7e60('0x37')]);_0x59ed96[_0x7e60('0x38')]=qs[_0x7e60('0x39')](_[_0x7e60('0x3a')](_0x247346[_0x7e60('0x2f')],_0x13dfaa['filters']));if(_0x247346[_0x7e60('0x2f')][_0x7e60('0x3b')]){_0x59ed96['where']=_['merge'](_0x59ed96['where'],{'$or':_[_0x7e60('0x2e')](_0x2be148,function(_0x421d04){if(_0x421d04[_0x7e60('0x2b')]!==_0x7e60('0x3c')){var _0x181602={};_0x181602[_0x421d04[_0x7e60('0x26')]]={'$like':'%'+_0x247346[_0x7e60('0x2f')][_0x7e60('0x3b')]+'%'};return _0x181602;}})});}_0x59ed96=_[_0x7e60('0x3d')]({},_0x59ed96,_0x247346[_0x7e60('0x3e')]);var _0x52e968={'where':_0x59ed96[_0x7e60('0x38')]};return db['SquareRecording'][_0x7e60('0x1d')](_0x52e968)[_0x7e60('0x24')](function(_0x5f14ec){_0x5d893b['count']=_0x5f14ec;if(_0x247346['query'][_0x7e60('0x3f')]){_0x59ed96[_0x7e60('0x40')]=[{'all':!![]}];}return db[_0x7e60('0x28')][_0x7e60('0x41')](_0x59ed96);})[_0x7e60('0x24')](function(_0x4693d7){_0x5d893b[_0x7e60('0x42')]=_0x4693d7;return _0x5d893b;})[_0x7e60('0x24')](respondWithFilteredResult(_0x569f6f,_0x59ed96))[_0x7e60('0x43')](handleError(_0x569f6f,null));};exports[_0x7e60('0x44')]=function(_0x140158,_0x24a22c){var _0x60d5af={'raw':!![],'where':{'id':_0x140158[_0x7e60('0x45')]['id']}},_0x413501={};_0x413501['model']=_[_0x7e60('0x30')](db[_0x7e60('0x28')]['rawAttributes']);_0x413501[_0x7e60('0x2f')]=_[_0x7e60('0x30')](_0x140158[_0x7e60('0x2f')]);_0x413501['filters']=_[_0x7e60('0x32')](_0x413501['model'],_0x413501[_0x7e60('0x2f')]);_0x60d5af[_0x7e60('0x31')]=_[_0x7e60('0x32')](_0x413501[_0x7e60('0x2d')],qs['fields'](_0x140158[_0x7e60('0x2f')][_0x7e60('0x33')]));_0x60d5af[_0x7e60('0x31')]=_0x60d5af['attributes'][_0x7e60('0x34')]?_0x60d5af['attributes']:_0x413501[_0x7e60('0x2d')];if(_0x140158[_0x7e60('0x2f')][_0x7e60('0x3f')]){_0x60d5af['include']=[{'all':!![]}];}_0x60d5af=_[_0x7e60('0x3d')]({},_0x60d5af,_0x140158[_0x7e60('0x3e')]);return db[_0x7e60('0x28')]['find'](_0x60d5af)[_0x7e60('0x24')](handleEntityNotFound(_0x24a22c,null))['then'](respondWithResult(_0x24a22c,null))['catch'](handleError(_0x24a22c,null));};exports['create']=function(_0x4a9936,_0x31ea5c){return db['SquareRecording'][_0x7e60('0x46')](_0x4a9936[_0x7e60('0x47')],{})[_0x7e60('0x24')](respondWithResult(_0x31ea5c,0xc9))[_0x7e60('0x43')](handleError(_0x31ea5c,null));};exports[_0x7e60('0x23')]=function(_0x3d9326,_0x44b245){if(_0x3d9326[_0x7e60('0x47')]['id']){delete _0x3d9326[_0x7e60('0x47')]['id'];}return db[_0x7e60('0x28')][_0x7e60('0x48')]({'where':{'id':_0x3d9326['params']['id']}})[_0x7e60('0x24')](handleEntityNotFound(_0x44b245,null))[_0x7e60('0x24')](saveUpdates(_0x3d9326[_0x7e60('0x47')],null))[_0x7e60('0x24')](respondWithResult(_0x44b245,null))[_0x7e60('0x43')](handleError(_0x44b245,null));};exports['download']=function(_0x1d7c65,_0x331896,_0x371e7f){var _0x212c05=require('../../components/encryptor');var _0x5c2f6c=![];var _0x1f0e10={};if(_0x1d7c65[_0x7e60('0x2f')][_0x7e60('0x2b')]&&_0x1d7c65[_0x7e60('0x2f')][_0x7e60('0x2b')]===_0x7e60('0x49')){_0x1f0e10[_0x7e60('0x49')]=_0x1d7c65[_0x7e60('0x45')]['id'];}else{_0x1f0e10['id']=_0x1d7c65[_0x7e60('0x45')]['id'];}return db[_0x7e60('0x28')][_0x7e60('0x48')]({'where':_0x1f0e10,'attributes':['id',_0x7e60('0x4a'),_0x7e60('0x4b')],'raw':!![]})[_0x7e60('0x24')](handleEntityNotFound(_0x331896,null))[_0x7e60('0x24')](function(_0x295fa8){if(_0x295fa8){var _0x19e711=_0x295fa8['savePath'];var _0x3c139c=util[_0x7e60('0x4c')](_0x7e60('0x4d'),_0x19e711);if(fs[_0x7e60('0x4e')](_0x3c139c)){_0x5c2f6c=!![];return _0x212c05['decryptFile'](_0x3c139c,_0x19e711,config['secrets'][_0x7e60('0x4f')])[_0x7e60('0x24')](function(){return _0x295fa8;});}return _0x295fa8;}})[_0x7e60('0x24')](function(_0x1165fa){if(_0x1165fa){var _0x4c9bf7=_0x1165fa[_0x7e60('0x4a')];if(!fs[_0x7e60('0x4e')](_0x4c9bf7)){throw new db['Sequelize']['ValidationError'](_0x7e60('0x50'));}if(_0x1165fa[_0x7e60('0x4b')]){return _0x331896['download'](_0x4c9bf7,_0x1165fa[_0x7e60('0x4b')]+path[_0x7e60('0x51')](_0x4c9bf7),function(){if(_0x5c2f6c){fs['unlink'](_0x4c9bf7);}});}else{return _0x331896['download'](_0x4c9bf7,function(_0xedcb50){if(_0x5c2f6c){fs[_0x7e60('0x52')](_0x4c9bf7);}});}}})[_0x7e60('0x43')](function(_0xd31be6){if(_0xd31be6['message']===_0x7e60('0x50')){_0x331896[_0x7e60('0x1b')](0x194)[_0x7e60('0x27')](_0x7e60('0x53'));}else{return handleError(_0x331896,null);}});};exports[_0x7e60('0x54')]=function(_0xc47890,_0xa17ed6){return db[_0x7e60('0x28')][_0x7e60('0x48')]({'where':{'id':_0xc47890[_0x7e60('0x45')]['id']}})[_0x7e60('0x24')](function(_0x516223){if(!_0x516223)throw new ReferenceError(_0x7e60('0x55'));return _0x516223;})[_0x7e60('0x24')](function(_0x5c3fec){var _0x170f37=_0x5c3fec['savePath'];logger[_0x7e60('0x56')](_0x7e60('0x57'),_0x170f37);if(!_[_0x7e60('0x58')](_0x5c3fec[_0x7e60('0x4a')])&&fs[_0x7e60('0x4e')](_0x170f37)){logger[_0x7e60('0x56')](_0x7e60('0x59')+_0x170f37+_0x7e60('0x5a'));fs['unlinkSync'](_0x170f37);}_0x170f37=_0x170f37+_0x7e60('0x5b');if(!_[_0x7e60('0x58')](_0x5c3fec['savePath'])&&fs['existsSync'](_0x170f37)){logger[_0x7e60('0x56')](_0x7e60('0x59')+_0x170f37+_0x7e60('0x5a'));fs[_0x7e60('0x5c')](_0x170f37);}return _0x5c3fec;})[_0x7e60('0x24')](function(_0x3b3cb1){if(!_0x3b3cb1)throw new InternalError();return _0x3b3cb1[_0x7e60('0x54')]();})['then'](function(){_0xa17ed6['status'](0xcc)[_0x7e60('0x1a')]();})[_0x7e60('0x43')](handleError(_0xa17ed6,null));};