Built motion from commit (unavailable).|2.5.5
[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 _0xdbb9=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','save','then','error','stack','name','send','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','VIRTUAL','SquareRecording','count','includeAll','rows','catch','show','params','include','options','create','body','find','download','type','uniqueid','filename','savePath','%s.cypher','existsSync','decryptFile','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x26a906,_0x3d135c){var _0x495575=function(_0x2365af){while(--_0x2365af){_0x26a906['push'](_0x26a906['shift']());}};_0x495575(++_0x3d135c);}(_0xdbb9,0xf9));var _0x9dbb=function(_0x5734d7,_0xb79ea4){_0x5734d7=_0x5734d7-0x0;var _0x5abedb=_0xdbb9[_0x5734d7];return _0x5abedb;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9dbb('0x0'));var rimraf=require(_0x9dbb('0x1'));var zipdir=require(_0x9dbb('0x2'));var jsonpatch=require(_0x9dbb('0x3'));var rp=require('request-promise');var moment=require(_0x9dbb('0x4'));var BPromise=require(_0x9dbb('0x5'));var Mustache=require(_0x9dbb('0x6'));var util=require(_0x9dbb('0x7'));var path=require(_0x9dbb('0x8'));var sox=require(_0x9dbb('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x9dbb('0xa'));var crypto=require(_0x9dbb('0xb'));var jsforce=require(_0x9dbb('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9dbb('0xd'));var Papa=require(_0x9dbb('0xe'));var Redis=require(_0x9dbb('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9dbb('0x10'));var as=require(_0x9dbb('0x11'));var hardwareService=require(_0x9dbb('0x12'));var logger=require(_0x9dbb('0x13'))('api');var utils=require(_0x9dbb('0x14'));var config=require(_0x9dbb('0x15'));var licenseUtil=require(_0x9dbb('0x16'));var db=require(_0x9dbb('0x17'))['db'];function respondWithStatusCode(_0x3fe0bd,_0x4468e8){_0x4468e8=_0x4468e8||0xcc;return function(_0x382cc6){if(_0x382cc6){return _0x3fe0bd[_0x9dbb('0x18')](_0x4468e8);}return _0x3fe0bd[_0x9dbb('0x19')](_0x4468e8)[_0x9dbb('0x1a')]();};}function respondWithResult(_0x293028,_0x2c36d3){_0x2c36d3=_0x2c36d3||0xc8;return function(_0x24b20b){if(_0x24b20b){return _0x293028[_0x9dbb('0x19')](_0x2c36d3)[_0x9dbb('0x1b')](_0x24b20b);}};}function respondWithFilteredResult(_0x464df5,_0x528110){return function(_0x1366b2){if(_0x1366b2){var _0x30add1=_0x1366b2['count'],_0x1acb08=_0x528110[_0x9dbb('0x1c')],_0x3677a6=_0x528110[_0x9dbb('0x1c')]+_0x528110[_0x9dbb('0x1d')],_0x28e5bf;if(_0x3677a6>=_0x30add1){_0x3677a6=_0x30add1;_0x28e5bf=0xc8;}else{_0x28e5bf=0xce;}_0x464df5[_0x9dbb('0x19')](_0x28e5bf);return _0x464df5[_0x9dbb('0x1e')]('Content-Range',_0x1acb08+'-'+_0x3677a6+'/'+_0x30add1)[_0x9dbb('0x1b')](_0x1366b2);}return null;};}function patchUpdates(_0x4bb2e4){return function(_0x3de435){try{jsonpatch['apply'](_0x3de435,_0x4bb2e4,!![]);}catch(_0x5b0cde){return BPromise['reject'](_0x5b0cde);}return _0x3de435[_0x9dbb('0x1f')]();};}function saveUpdates(_0x192eb5,_0x188c75){return function(_0x47ec20){if(_0x47ec20){return _0x47ec20['update'](_0x192eb5)['then'](function(_0x157cc3){return _0x157cc3;});}return null;};}function removeEntity(_0x35c136,_0x48bb65){return function(_0x4a07ef){if(_0x4a07ef){return _0x4a07ef['destroy']()[_0x9dbb('0x20')](function(){_0x35c136[_0x9dbb('0x19')](0xcc)[_0x9dbb('0x1a')]();});}};}function handleEntityNotFound(_0x55e2ef,_0x1f30ec){return function(_0x130d84){if(!_0x130d84){_0x55e2ef[_0x9dbb('0x18')](0x194);}return _0x130d84;};}function handleError(_0x327352,_0x381e42){_0x381e42=_0x381e42||0x1f4;return function(_0x3e51ca){logger[_0x9dbb('0x21')](_0x3e51ca[_0x9dbb('0x22')]);if(_0x3e51ca[_0x9dbb('0x23')]){delete _0x3e51ca[_0x9dbb('0x23')];}_0x327352[_0x9dbb('0x19')](_0x381e42)[_0x9dbb('0x24')](_0x3e51ca);};}exports['index']=function(_0x1c7077,_0x5aead8){var _0x38c36d={},_0x3a3b85={},_0x4fc354={'count':0x0,'rows':[]};var _0xbcdade=_['map'](db['SquareRecording']['rawAttributes'],function(_0x25555c){return{'name':_0x25555c[_0x9dbb('0x25')],'type':_0x25555c['type'][_0x9dbb('0x26')]};});_0x3a3b85[_0x9dbb('0x27')]=_['map'](_0xbcdade,_0x9dbb('0x23'));_0x3a3b85[_0x9dbb('0x28')]=_[_0x9dbb('0x29')](_0x1c7077['query']);_0x3a3b85[_0x9dbb('0x2a')]=_['intersection'](_0x3a3b85[_0x9dbb('0x27')],_0x3a3b85[_0x9dbb('0x28')]);_0x38c36d[_0x9dbb('0x2b')]=_[_0x9dbb('0x2c')](_0x3a3b85[_0x9dbb('0x27')],qs[_0x9dbb('0x2d')](_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x2d')]));_0x38c36d[_0x9dbb('0x2b')]=_0x38c36d[_0x9dbb('0x2b')][_0x9dbb('0x2e')]?_0x38c36d['attributes']:_0x3a3b85[_0x9dbb('0x27')];if(!_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x2f')](_0x9dbb('0x30'))){_0x38c36d[_0x9dbb('0x1d')]=qs[_0x9dbb('0x1d')](_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x1d')]);_0x38c36d[_0x9dbb('0x1c')]=qs[_0x9dbb('0x1c')](_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x1c')]);}_0x38c36d[_0x9dbb('0x31')]=qs[_0x9dbb('0x32')](_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x32')]);_0x38c36d[_0x9dbb('0x33')]=qs['filters'](_[_0x9dbb('0x34')](_0x1c7077[_0x9dbb('0x28')],_0x3a3b85[_0x9dbb('0x2a')]),_0xbcdade);if(_0x1c7077['query'][_0x9dbb('0x35')]){_0x38c36d[_0x9dbb('0x33')]=_[_0x9dbb('0x36')](_0x38c36d[_0x9dbb('0x33')],{'$or':_[_0x9dbb('0x37')](_0xbcdade,function(_0x3f9a15){if(_0x3f9a15['type']!==_0x9dbb('0x38')){var _0x507712={};_0x507712[_0x3f9a15[_0x9dbb('0x23')]]={'$like':'%'+_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x35')]+'%'};return _0x507712;}})});}_0x38c36d=_[_0x9dbb('0x36')]({},_0x38c36d,_0x1c7077['options']);var _0x1a5eeb={'where':_0x38c36d['where']};return db[_0x9dbb('0x39')]['count'](_0x1a5eeb)[_0x9dbb('0x20')](function(_0x299ada){_0x4fc354[_0x9dbb('0x3a')]=_0x299ada;if(_0x1c7077[_0x9dbb('0x28')][_0x9dbb('0x3b')]){_0x38c36d['include']=[{'all':!![]}];}return db[_0x9dbb('0x39')]['findAll'](_0x38c36d);})[_0x9dbb('0x20')](function(_0xbe6156){_0x4fc354[_0x9dbb('0x3c')]=_0xbe6156;return _0x4fc354;})[_0x9dbb('0x20')](respondWithFilteredResult(_0x5aead8,_0x38c36d))[_0x9dbb('0x3d')](handleError(_0x5aead8,null));};exports[_0x9dbb('0x3e')]=function(_0x6682aa,_0x49e63f){var _0x20b93b={'raw':!![],'where':{'id':_0x6682aa[_0x9dbb('0x3f')]['id']}},_0x4d3744={};_0x4d3744[_0x9dbb('0x27')]=_[_0x9dbb('0x29')](db[_0x9dbb('0x39')]['rawAttributes']);_0x4d3744[_0x9dbb('0x28')]=_['keys'](_0x6682aa[_0x9dbb('0x28')]);_0x4d3744['filters']=_[_0x9dbb('0x2c')](_0x4d3744[_0x9dbb('0x27')],_0x4d3744['query']);_0x20b93b['attributes']=_[_0x9dbb('0x2c')](_0x4d3744[_0x9dbb('0x27')],qs[_0x9dbb('0x2d')](_0x6682aa[_0x9dbb('0x28')][_0x9dbb('0x2d')]));_0x20b93b[_0x9dbb('0x2b')]=_0x20b93b[_0x9dbb('0x2b')][_0x9dbb('0x2e')]?_0x20b93b[_0x9dbb('0x2b')]:_0x4d3744['model'];if(_0x6682aa[_0x9dbb('0x28')]['includeAll']){_0x20b93b[_0x9dbb('0x40')]=[{'all':!![]}];}_0x20b93b=_[_0x9dbb('0x36')]({},_0x20b93b,_0x6682aa[_0x9dbb('0x41')]);return db[_0x9dbb('0x39')]['find'](_0x20b93b)[_0x9dbb('0x20')](handleEntityNotFound(_0x49e63f,null))['then'](respondWithResult(_0x49e63f,null))['catch'](handleError(_0x49e63f,null));};exports[_0x9dbb('0x42')]=function(_0x1ea87f,_0x7674b4){return db[_0x9dbb('0x39')][_0x9dbb('0x42')](_0x1ea87f[_0x9dbb('0x43')],{})['then'](respondWithResult(_0x7674b4,0xc9))[_0x9dbb('0x3d')](handleError(_0x7674b4,null));};exports['update']=function(_0x42c0cc,_0x19ec46){if(_0x42c0cc[_0x9dbb('0x43')]['id']){delete _0x42c0cc[_0x9dbb('0x43')]['id'];}return db[_0x9dbb('0x39')][_0x9dbb('0x44')]({'where':{'id':_0x42c0cc[_0x9dbb('0x3f')]['id']}})[_0x9dbb('0x20')](handleEntityNotFound(_0x19ec46,null))['then'](saveUpdates(_0x42c0cc[_0x9dbb('0x43')],null))['then'](respondWithResult(_0x19ec46,null))[_0x9dbb('0x3d')](handleError(_0x19ec46,null));};exports[_0x9dbb('0x45')]=function(_0x4d9a9d,_0x46275c,_0x57b9f6){var _0x54e5d1=require('../../components/encryptor');var _0x278ad6=![];var _0x3c19bb={};if(_0x4d9a9d['query'][_0x9dbb('0x46')]&&_0x4d9a9d['query'][_0x9dbb('0x46')]===_0x9dbb('0x47')){_0x3c19bb[_0x9dbb('0x47')]=_0x4d9a9d[_0x9dbb('0x3f')]['id'];}else{_0x3c19bb['id']=_0x4d9a9d[_0x9dbb('0x3f')]['id'];}return db[_0x9dbb('0x39')]['find']({'where':_0x3c19bb,'attributes':['id','savePath',_0x9dbb('0x48')],'raw':!![]})[_0x9dbb('0x20')](handleEntityNotFound(_0x46275c,null))['then'](function(_0x1854d7){if(_0x1854d7){var _0x20cedd=_0x1854d7[_0x9dbb('0x49')];var _0x661c0b=util['format'](_0x9dbb('0x4a'),_0x20cedd);if(fs[_0x9dbb('0x4b')](_0x661c0b)){_0x278ad6=!![];return _0x54e5d1[_0x9dbb('0x4c')](_0x661c0b,_0x20cedd,config['secrets']['recording'])['then'](function(){return _0x1854d7;});}return _0x1854d7;}})[_0x9dbb('0x20')](function(_0x464672){if(_0x464672){var _0x3b1f21=_0x464672[_0x9dbb('0x49')];if(!fs[_0x9dbb('0x4b')](_0x3b1f21)){throw new db[(_0x9dbb('0x4d'))][(_0x9dbb('0x4e'))](_0x9dbb('0x4f'));}if(_0x464672[_0x9dbb('0x48')]){return _0x46275c[_0x9dbb('0x45')](_0x3b1f21,_0x464672[_0x9dbb('0x48')]+path[_0x9dbb('0x50')](_0x3b1f21),function(){if(_0x278ad6){fs[_0x9dbb('0x51')](_0x3b1f21);}});}else{return _0x46275c['download'](_0x3b1f21,function(_0x31ab57){if(_0x278ad6){fs[_0x9dbb('0x51')](_0x3b1f21);}});}}})[_0x9dbb('0x3d')](function(_0x2a5125){if(_0x2a5125['message']===_0x9dbb('0x4f')){_0x46275c[_0x9dbb('0x19')](0x194)[_0x9dbb('0x24')]('Not\x20found');}else{return handleError(_0x46275c,null);}});};exports[_0x9dbb('0x52')]=function(_0x1ff879,_0x16bbb8){return db[_0x9dbb('0x39')]['find']({'where':{'id':_0x1ff879[_0x9dbb('0x3f')]['id']}})[_0x9dbb('0x20')](function(_0x1b31fe){if(!_0x1b31fe)throw new ReferenceError(_0x9dbb('0x53'));return _0x1b31fe;})[_0x9dbb('0x20')](function(_0x5f240b){var _0x486648=_0x5f240b['savePath'];logger[_0x9dbb('0x54')](_0x9dbb('0x55'),_0x486648);if(!_[_0x9dbb('0x56')](_0x5f240b[_0x9dbb('0x49')])&&fs['existsSync'](_0x486648)){logger[_0x9dbb('0x54')](_0x9dbb('0x57')+_0x486648+_0x9dbb('0x58'));fs[_0x9dbb('0x59')](_0x486648);}_0x486648=_0x486648+'.cypher';if(!_[_0x9dbb('0x56')](_0x5f240b[_0x9dbb('0x49')])&&fs[_0x9dbb('0x4b')](_0x486648)){logger[_0x9dbb('0x54')]('File:\x20\x22'+_0x486648+_0x9dbb('0x58'));fs[_0x9dbb('0x59')](_0x486648);}return _0x5f240b;})[_0x9dbb('0x20')](function(_0x53e40d){if(!_0x53e40d)throw new InternalError();return _0x53e40d[_0x9dbb('0x52')]();})[_0x9dbb('0x20')](function(){_0x16bbb8[_0x9dbb('0x19')](0xcc)[_0x9dbb('0x1a')]();})[_0x9dbb('0x3d')](handleError(_0x16bbb8,null));};