3721f5387b8dcc2915e4bbe47764f4ace1d1b044
[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 _0x548d=['error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','include','catch','show','params','find','create','body','download','uniqueid','savePath','filename','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','extname','unlink','message','SquareRecording\x20not\x20found','Not\x20found','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','end','json','count','offset','Content-Range','apply','reject','save','update','then','destroy'];(function(_0x1aa3fe,_0x27c5fa){var _0x163cee=function(_0x2a1505){while(--_0x2a1505){_0x1aa3fe['push'](_0x1aa3fe['shift']());}};_0x163cee(++_0x27c5fa);}(_0x548d,0x1b1));var _0xd548=function(_0x3dc3af,_0xe0c39){_0x3dc3af=_0x3dc3af-0x0;var _0x53bdde=_0x548d[_0x3dc3af];return _0x53bdde;};'use strict';var pdf=require(_0xd548('0x0'));var emlformat=require(_0xd548('0x1'));var rimraf=require(_0xd548('0x2'));var zipdir=require(_0xd548('0x3'));var jsonpatch=require(_0xd548('0x4'));var rp=require(_0xd548('0x5'));var moment=require(_0xd548('0x6'));var BPromise=require(_0xd548('0x7'));var Mustache=require(_0xd548('0x8'));var util=require('util');var path=require(_0xd548('0x9'));var sox=require('sox');var csv=require(_0xd548('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd548('0xb'));var squel=require(_0xd548('0xc'));var crypto=require(_0xd548('0xd'));var jsforce=require(_0xd548('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xd548('0xa'));var querystring=require(_0xd548('0xf'));var Papa=require('papaparse');var Redis=require(_0xd548('0x10'));var authService=require(_0xd548('0x11'));var qs=require(_0xd548('0x12'));var as=require(_0xd548('0x13'));var hardwareService=require(_0xd548('0x14'));var logger=require(_0xd548('0x15'))(_0xd548('0x16'));var utils=require(_0xd548('0x17'));var config=require(_0xd548('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4f1230,_0x36b876){_0x36b876=_0x36b876||0xcc;return function(_0x4ea3b0){if(_0x4ea3b0){return _0x4f1230['sendStatus'](_0x36b876);}return _0x4f1230[_0xd548('0x19')](_0x36b876)[_0xd548('0x1a')]();};}function respondWithResult(_0x575349,_0x1073bb){_0x1073bb=_0x1073bb||0xc8;return function(_0x587f1d){if(_0x587f1d){return _0x575349[_0xd548('0x19')](_0x1073bb)[_0xd548('0x1b')](_0x587f1d);}};}function respondWithFilteredResult(_0x34dc5b,_0x4c2f77){return function(_0x557264){if(_0x557264){var _0x50c21c=_0x557264[_0xd548('0x1c')],_0x286021=_0x4c2f77[_0xd548('0x1d')],_0x450907=_0x4c2f77['offset']+_0x4c2f77['limit'],_0x444fbc;if(_0x450907>=_0x50c21c){_0x450907=_0x50c21c;_0x444fbc=0xc8;}else{_0x444fbc=0xce;}_0x34dc5b['status'](_0x444fbc);return _0x34dc5b['set'](_0xd548('0x1e'),_0x286021+'-'+_0x450907+'/'+_0x50c21c)[_0xd548('0x1b')](_0x557264);}return null;};}function patchUpdates(_0x5c55f1){return function(_0x4b54d0){try{jsonpatch[_0xd548('0x1f')](_0x4b54d0,_0x5c55f1,!![]);}catch(_0x495553){return BPromise[_0xd548('0x20')](_0x495553);}return _0x4b54d0[_0xd548('0x21')]();};}function saveUpdates(_0x3d0522,_0x12fb7f){return function(_0x333a00){if(_0x333a00){return _0x333a00[_0xd548('0x22')](_0x3d0522)[_0xd548('0x23')](function(_0x382250){return _0x382250;});}return null;};}function removeEntity(_0x5dfd87,_0x20d056){return function(_0x54f1b4){if(_0x54f1b4){return _0x54f1b4[_0xd548('0x24')]()[_0xd548('0x23')](function(){_0x5dfd87['status'](0xcc)[_0xd548('0x1a')]();});}};}function handleEntityNotFound(_0x409b61,_0x15e919){return function(_0x528323){if(!_0x528323){_0x409b61['sendStatus'](0x194);}return _0x528323;};}function handleError(_0x3144df,_0x40eb8a){_0x40eb8a=_0x40eb8a||0x1f4;return function(_0x29e786){logger[_0xd548('0x25')](_0x29e786[_0xd548('0x26')]);if(_0x29e786[_0xd548('0x27')]){delete _0x29e786['name'];}_0x3144df[_0xd548('0x19')](_0x40eb8a)[_0xd548('0x28')](_0x29e786);};}exports[_0xd548('0x29')]=function(_0x5c6e31,_0x367a1c){var _0x37cea2={},_0x31142b={},_0x5cadbb={'count':0x0,'rows':[]};var _0x49030b=_[_0xd548('0x2a')](db[_0xd548('0x2b')][_0xd548('0x2c')],function(_0x3959ea){return{'name':_0x3959ea[_0xd548('0x2d')],'type':_0x3959ea[_0xd548('0x2e')][_0xd548('0x2f')]};});_0x31142b[_0xd548('0x30')]=_[_0xd548('0x2a')](_0x49030b,_0xd548('0x27'));_0x31142b[_0xd548('0x31')]=_[_0xd548('0x32')](_0x5c6e31[_0xd548('0x31')]);_0x31142b['filters']=_[_0xd548('0x33')](_0x31142b[_0xd548('0x30')],_0x31142b['query']);_0x37cea2[_0xd548('0x34')]=_[_0xd548('0x33')](_0x31142b['model'],qs['fields'](_0x5c6e31[_0xd548('0x31')][_0xd548('0x35')]));_0x37cea2['attributes']=_0x37cea2[_0xd548('0x34')][_0xd548('0x36')]?_0x37cea2['attributes']:_0x31142b[_0xd548('0x30')];if(!_0x5c6e31[_0xd548('0x31')][_0xd548('0x37')](_0xd548('0x38'))){_0x37cea2['limit']=qs[_0xd548('0x39')](_0x5c6e31['query'][_0xd548('0x39')]);_0x37cea2[_0xd548('0x1d')]=qs[_0xd548('0x1d')](_0x5c6e31[_0xd548('0x31')][_0xd548('0x1d')]);}_0x37cea2['order']=qs[_0xd548('0x3a')](_0x5c6e31[_0xd548('0x31')][_0xd548('0x3a')]);_0x37cea2[_0xd548('0x3b')]=qs['filters'](_[_0xd548('0x3c')](_0x5c6e31[_0xd548('0x31')],_0x31142b['filters']),_0x49030b);if(_0x5c6e31['query']['filter']){_0x37cea2['where']=_['merge'](_0x37cea2['where'],{'$or':_['map'](_0x49030b,function(_0x2bc14a){if(_0x2bc14a[_0xd548('0x2e')]!==_0xd548('0x3d')){var _0x28b693={};_0x28b693[_0x2bc14a[_0xd548('0x27')]]={'$like':'%'+_0x5c6e31['query'][_0xd548('0x3e')]+'%'};return _0x28b693;}})});}_0x37cea2=_[_0xd548('0x3f')]({},_0x37cea2,_0x5c6e31[_0xd548('0x40')]);var _0x30e1e1={'where':_0x37cea2[_0xd548('0x3b')]};return db[_0xd548('0x2b')][_0xd548('0x1c')](_0x30e1e1)[_0xd548('0x23')](function(_0x1e6c92){_0x5cadbb[_0xd548('0x1c')]=_0x1e6c92;if(_0x5c6e31[_0xd548('0x31')][_0xd548('0x41')]){_0x37cea2[_0xd548('0x42')]=[{'all':!![]}];}return db[_0xd548('0x2b')]['findAll'](_0x37cea2);})[_0xd548('0x23')](function(_0x591dec){_0x5cadbb['rows']=_0x591dec;return _0x5cadbb;})[_0xd548('0x23')](respondWithFilteredResult(_0x367a1c,_0x37cea2))[_0xd548('0x43')](handleError(_0x367a1c,null));};exports[_0xd548('0x44')]=function(_0x1ec653,_0x37eb6f){var _0x52890c={'raw':!![],'where':{'id':_0x1ec653[_0xd548('0x45')]['id']}},_0x4e38d0={};_0x4e38d0[_0xd548('0x30')]=_[_0xd548('0x32')](db[_0xd548('0x2b')]['rawAttributes']);_0x4e38d0[_0xd548('0x31')]=_['keys'](_0x1ec653[_0xd548('0x31')]);_0x4e38d0['filters']=_[_0xd548('0x33')](_0x4e38d0[_0xd548('0x30')],_0x4e38d0['query']);_0x52890c[_0xd548('0x34')]=_[_0xd548('0x33')](_0x4e38d0[_0xd548('0x30')],qs[_0xd548('0x35')](_0x1ec653[_0xd548('0x31')][_0xd548('0x35')]));_0x52890c[_0xd548('0x34')]=_0x52890c[_0xd548('0x34')][_0xd548('0x36')]?_0x52890c[_0xd548('0x34')]:_0x4e38d0['model'];if(_0x1ec653[_0xd548('0x31')][_0xd548('0x41')]){_0x52890c['include']=[{'all':!![]}];}_0x52890c=_[_0xd548('0x3f')]({},_0x52890c,_0x1ec653['options']);return db[_0xd548('0x2b')][_0xd548('0x46')](_0x52890c)[_0xd548('0x23')](handleEntityNotFound(_0x37eb6f,null))[_0xd548('0x23')](respondWithResult(_0x37eb6f,null))[_0xd548('0x43')](handleError(_0x37eb6f,null));};exports[_0xd548('0x47')]=function(_0x2c4c23,_0x523ff6){return db[_0xd548('0x2b')]['create'](_0x2c4c23['body'],{})[_0xd548('0x23')](respondWithResult(_0x523ff6,0xc9))['catch'](handleError(_0x523ff6,null));};exports['update']=function(_0x276d55,_0x3d7d60){if(_0x276d55[_0xd548('0x48')]['id']){delete _0x276d55[_0xd548('0x48')]['id'];}return db[_0xd548('0x2b')]['find']({'where':{'id':_0x276d55[_0xd548('0x45')]['id']}})[_0xd548('0x23')](handleEntityNotFound(_0x3d7d60,null))[_0xd548('0x23')](saveUpdates(_0x276d55['body'],null))[_0xd548('0x23')](respondWithResult(_0x3d7d60,null))['catch'](handleError(_0x3d7d60,null));};exports[_0xd548('0x49')]=function(_0x5812e2,_0x37664b,_0x403ff2){var _0x8675b2=require('../../components/encryptor');var _0x57a076=![];var _0x52d758={};if(_0x5812e2['query'][_0xd548('0x2e')]&&_0x5812e2[_0xd548('0x31')][_0xd548('0x2e')]==='uniqueid'){_0x52d758[_0xd548('0x4a')]=_0x5812e2['params']['id'];}else{_0x52d758['id']=_0x5812e2['params']['id'];}return db[_0xd548('0x2b')][_0xd548('0x46')]({'where':_0x52d758,'attributes':['id',_0xd548('0x4b'),_0xd548('0x4c')],'raw':!![]})[_0xd548('0x23')](handleEntityNotFound(_0x37664b,null))[_0xd548('0x23')](function(_0x514e46){if(_0x514e46){var _0x85247a=_0x514e46['savePath'];var _0x4d1579=util['format'](_0xd548('0x4d'),_0x85247a);if(fs[_0xd548('0x4e')](_0x4d1579)){_0x57a076=!![];return _0x8675b2[_0xd548('0x4f')](_0x4d1579,_0x85247a,config[_0xd548('0x50')][_0xd548('0x51')])[_0xd548('0x23')](function(){return _0x514e46;});}return _0x514e46;}})[_0xd548('0x23')](function(_0x4f0498){if(_0x4f0498){var _0x3a73ae=_0x4f0498[_0xd548('0x4b')];if(!fs[_0xd548('0x4e')](_0x3a73ae)){throw new db['Sequelize'][(_0xd548('0x52'))]('SquareRecording\x20not\x20found');}if(_0x4f0498[_0xd548('0x4c')]){return _0x37664b[_0xd548('0x49')](_0x3a73ae,_0x4f0498[_0xd548('0x4c')]+path[_0xd548('0x53')](_0x3a73ae),function(){if(_0x57a076){fs[_0xd548('0x54')](_0x3a73ae);}});}else{return _0x37664b[_0xd548('0x49')](_0x3a73ae,function(_0x5ddb24){if(_0x57a076){fs['unlink'](_0x3a73ae);}});}}})[_0xd548('0x43')](function(_0x1a2c53){if(_0x1a2c53[_0xd548('0x55')]===_0xd548('0x56')){_0x37664b[_0xd548('0x19')](0x194)['send'](_0xd548('0x57'));}else{return handleError(_0x37664b,null);}});};exports[_0xd548('0x24')]=function(_0x1e670a,_0x4bc9e8){return db[_0xd548('0x2b')][_0xd548('0x46')]({'where':{'id':_0x1e670a[_0xd548('0x45')]['id']}})['then'](function(_0x4f599d){if(!_0x4f599d)throw new ReferenceError('Entity\x20not\x20found');return _0x4f599d;})[_0xd548('0x23')](function(_0x5a1190){var _0x4a2a3f=_0x5a1190[_0xd548('0x4b')];logger[_0xd548('0x58')]('cancellazione\x20fisica\x20documento\x20%s',_0x4a2a3f);if(!_[_0xd548('0x59')](_0x5a1190['savePath'])&&fs[_0xd548('0x4e')](_0x4a2a3f)){logger[_0xd548('0x58')](_0xd548('0x5a')+_0x4a2a3f+_0xd548('0x5b'));fs[_0xd548('0x5c')](_0x4a2a3f);}_0x4a2a3f=_0x4a2a3f+_0xd548('0x5d');if(!_[_0xd548('0x59')](_0x5a1190[_0xd548('0x4b')])&&fs[_0xd548('0x4e')](_0x4a2a3f)){logger[_0xd548('0x58')]('File:\x20\x22'+_0x4a2a3f+_0xd548('0x5b'));fs['unlinkSync'](_0x4a2a3f);}return _0x5a1190;})[_0xd548('0x23')](function(_0x36e779){if(!_0x36e779)throw new InternalError();return _0x36e779[_0xd548('0x24')]();})[_0xd548('0x23')](function(){_0x4bc9e8[_0xd548('0x19')](0xcc)[_0xd548('0x1a')]();})[_0xd548('0x43')](handleError(_0x4bc9e8,null));};