Built motion from commit d1eab355.|2.6.28
[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 _0x01b3=['../../config/utils','../../config/environment','../../mysqldb','offset','limit','count','Content-Range','apply','reject','update','then','status','end','sendStatus','error','name','send','index','type','key','model','map','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','filter','merge','options','SquareRecording','include','findAll','rows','catch','show','params','rawAttributes','fields','find','create','body','download','../../components/encryptor','uniqueid','savePath','format','%s.cypher','secrets','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','unlink','Not\x20found','destroy','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x3a0a99,_0x5e07f2){var _0x4b04e2=function(_0x2af4a8){while(--_0x2af4a8){_0x3a0a99['push'](_0x3a0a99['shift']());}};_0x4b04e2(++_0x5e07f2);}(_0x01b3,0xa3));var _0x301b=function(_0x481ebc,_0x13bb01){_0x481ebc=_0x481ebc-0x0;var _0x228026=_0x01b3[_0x481ebc];return _0x228026;};'use strict';var emlformat=require(_0x301b('0x0'));var rimraf=require(_0x301b('0x1'));var zipdir=require(_0x301b('0x2'));var jsonpatch=require(_0x301b('0x3'));var rp=require(_0x301b('0x4'));var moment=require(_0x301b('0x5'));var BPromise=require(_0x301b('0x6'));var Mustache=require(_0x301b('0x7'));var util=require(_0x301b('0x8'));var path=require(_0x301b('0x9'));var sox=require(_0x301b('0xa'));var csv=require(_0x301b('0xb'));var ejs=require(_0x301b('0xc'));var fs=require('fs');var fs_extra=require(_0x301b('0xd'));var _=require(_0x301b('0xe'));var squel=require(_0x301b('0xf'));var crypto=require(_0x301b('0x10'));var jsforce=require(_0x301b('0x11'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x301b('0x12'));var Papa=require(_0x301b('0x13'));var Redis=require(_0x301b('0x14'));var authService=require(_0x301b('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x301b('0x16'));var hardwareService=require(_0x301b('0x17'));var logger=require(_0x301b('0x18'))('api');var utils=require(_0x301b('0x19'));var config=require(_0x301b('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x301b('0x1b'))['db'];function respondWithStatusCode(_0x49995b,_0x193b9c){_0x193b9c=_0x193b9c||0xcc;return function(_0x5a8d59){if(_0x5a8d59){return _0x49995b['sendStatus'](_0x193b9c);}return _0x49995b['status'](_0x193b9c)['end']();};}function respondWithResult(_0x534333,_0x552251){_0x552251=_0x552251||0xc8;return function(_0x7b0bdf){if(_0x7b0bdf){return _0x534333['status'](_0x552251)['json'](_0x7b0bdf);}};}function respondWithFilteredResult(_0x2d55c3,_0x3e9de8){return function(_0x49d168){if(_0x49d168){var _0x41b9ff=typeof _0x3e9de8[_0x301b('0x1c')]==='undefined'&&typeof _0x3e9de8[_0x301b('0x1d')]==='undefined';var _0x3f193e=_0x49d168[_0x301b('0x1e')];var _0x28f0c8=_0x41b9ff?0x0:_0x3e9de8['offset'];var _0x40a954=_0x41b9ff?_0x49d168[_0x301b('0x1e')]:_0x3e9de8['offset']+_0x3e9de8[_0x301b('0x1d')];var _0x779812;if(_0x40a954>=_0x3f193e){_0x40a954=_0x3f193e;_0x779812=0xc8;}else{_0x779812=0xce;}_0x2d55c3['status'](_0x779812);return _0x2d55c3['set'](_0x301b('0x1f'),_0x28f0c8+'-'+_0x40a954+'/'+_0x3f193e)['json'](_0x49d168);}return null;};}function patchUpdates(_0x22d670){return function(_0x2ec630){try{jsonpatch[_0x301b('0x20')](_0x2ec630,_0x22d670,!![]);}catch(_0x28cb54){return BPromise[_0x301b('0x21')](_0x28cb54);}return _0x2ec630['save']();};}function saveUpdates(_0x5ac84e,_0x15e5b1){return function(_0x5e51ae){if(_0x5e51ae){return _0x5e51ae[_0x301b('0x22')](_0x5ac84e)['then'](function(_0x4f18d4){return _0x4f18d4;});}return null;};}function removeEntity(_0x254bf5,_0x15c069){return function(_0x33b369){if(_0x33b369){return _0x33b369['destroy']()[_0x301b('0x23')](function(){_0x254bf5[_0x301b('0x24')](0xcc)[_0x301b('0x25')]();});}};}function handleEntityNotFound(_0x21807e,_0x8119a){return function(_0x16a886){if(!_0x16a886){_0x21807e[_0x301b('0x26')](0x194);}return _0x16a886;};}function handleError(_0x2c3d8f,_0x527649){_0x527649=_0x527649||0x1f4;return function(_0x2cdbdb){logger[_0x301b('0x27')](_0x2cdbdb['stack']);if(_0x2cdbdb[_0x301b('0x28')]){delete _0x2cdbdb[_0x301b('0x28')];}_0x2c3d8f[_0x301b('0x24')](_0x527649)[_0x301b('0x29')](_0x2cdbdb);};}exports[_0x301b('0x2a')]=function(_0x98581,_0x5c4975){var _0x12bb52={},_0x500d03={},_0x2d52a2={'count':0x0,'rows':[]};var _0x21d2bb=_['map'](db['SquareRecording']['rawAttributes'],function(_0xad18f3){return{'name':_0xad18f3['fieldName'],'type':_0xad18f3[_0x301b('0x2b')][_0x301b('0x2c')]};});_0x500d03[_0x301b('0x2d')]=_[_0x301b('0x2e')](_0x21d2bb,_0x301b('0x28'));_0x500d03[_0x301b('0x2f')]=_[_0x301b('0x30')](_0x98581['query']);_0x500d03[_0x301b('0x31')]=_[_0x301b('0x32')](_0x500d03[_0x301b('0x2d')],_0x500d03[_0x301b('0x2f')]);_0x12bb52[_0x301b('0x33')]=_['intersection'](_0x500d03[_0x301b('0x2d')],qs['fields'](_0x98581['query']['fields']));_0x12bb52[_0x301b('0x33')]=_0x12bb52[_0x301b('0x33')][_0x301b('0x34')]?_0x12bb52['attributes']:_0x500d03[_0x301b('0x2d')];if(!_0x98581['query']['hasOwnProperty'](_0x301b('0x35'))){_0x12bb52[_0x301b('0x1d')]=qs[_0x301b('0x1d')](_0x98581[_0x301b('0x2f')]['limit']);_0x12bb52[_0x301b('0x1c')]=qs[_0x301b('0x1c')](_0x98581['query']['offset']);}_0x12bb52[_0x301b('0x36')]=qs['sort'](_0x98581['query'][_0x301b('0x37')]);_0x12bb52[_0x301b('0x38')]=qs[_0x301b('0x31')](_[_0x301b('0x39')](_0x98581[_0x301b('0x2f')],_0x500d03[_0x301b('0x31')]),_0x21d2bb);if(_0x98581[_0x301b('0x2f')]['filter']){_0x12bb52[_0x301b('0x38')]=_['merge'](_0x12bb52[_0x301b('0x38')],{'$or':_[_0x301b('0x2e')](_0x21d2bb,function(_0x59a4e5){if(_0x59a4e5[_0x301b('0x2b')]!=='VIRTUAL'){var _0x14def8={};_0x14def8[_0x59a4e5['name']]={'$like':'%'+_0x98581['query'][_0x301b('0x3a')]+'%'};return _0x14def8;}})});}_0x12bb52=_[_0x301b('0x3b')]({},_0x12bb52,_0x98581[_0x301b('0x3c')]);var _0x57216a={'where':_0x12bb52[_0x301b('0x38')]};return db[_0x301b('0x3d')][_0x301b('0x1e')](_0x57216a)[_0x301b('0x23')](function(_0x5e89cd){_0x2d52a2['count']=_0x5e89cd;if(_0x98581[_0x301b('0x2f')]['includeAll']){_0x12bb52[_0x301b('0x3e')]=[{'all':!![]}];}return db[_0x301b('0x3d')][_0x301b('0x3f')](_0x12bb52);})[_0x301b('0x23')](function(_0x32efa2){_0x2d52a2[_0x301b('0x40')]=_0x32efa2;return _0x2d52a2;})['then'](respondWithFilteredResult(_0x5c4975,_0x12bb52))[_0x301b('0x41')](handleError(_0x5c4975,null));};exports[_0x301b('0x42')]=function(_0x14a4f9,_0x4abe38){var _0x14c204={'raw':!![],'where':{'id':_0x14a4f9[_0x301b('0x43')]['id']}},_0x2fd0c3={};_0x2fd0c3[_0x301b('0x2d')]=_[_0x301b('0x30')](db[_0x301b('0x3d')][_0x301b('0x44')]);_0x2fd0c3[_0x301b('0x2f')]=_['keys'](_0x14a4f9[_0x301b('0x2f')]);_0x2fd0c3[_0x301b('0x31')]=_[_0x301b('0x32')](_0x2fd0c3[_0x301b('0x2d')],_0x2fd0c3[_0x301b('0x2f')]);_0x14c204[_0x301b('0x33')]=_[_0x301b('0x32')](_0x2fd0c3[_0x301b('0x2d')],qs[_0x301b('0x45')](_0x14a4f9['query']['fields']));_0x14c204[_0x301b('0x33')]=_0x14c204['attributes'][_0x301b('0x34')]?_0x14c204[_0x301b('0x33')]:_0x2fd0c3[_0x301b('0x2d')];if(_0x14a4f9[_0x301b('0x2f')]['includeAll']){_0x14c204[_0x301b('0x3e')]=[{'all':!![]}];}_0x14c204=_[_0x301b('0x3b')]({},_0x14c204,_0x14a4f9['options']);return db[_0x301b('0x3d')][_0x301b('0x46')](_0x14c204)[_0x301b('0x23')](handleEntityNotFound(_0x4abe38,null))[_0x301b('0x23')](respondWithResult(_0x4abe38,null))[_0x301b('0x41')](handleError(_0x4abe38,null));};exports[_0x301b('0x47')]=function(_0x527fb0,_0x2c67a3){return db[_0x301b('0x3d')]['create'](_0x527fb0[_0x301b('0x48')],{})[_0x301b('0x23')](respondWithResult(_0x2c67a3,0xc9))[_0x301b('0x41')](handleError(_0x2c67a3,null));};exports[_0x301b('0x22')]=function(_0x5cc8eb,_0x4ce2e3){if(_0x5cc8eb[_0x301b('0x48')]['id']){delete _0x5cc8eb[_0x301b('0x48')]['id'];}return db['SquareRecording'][_0x301b('0x46')]({'where':{'id':_0x5cc8eb[_0x301b('0x43')]['id']}})[_0x301b('0x23')](handleEntityNotFound(_0x4ce2e3,null))[_0x301b('0x23')](saveUpdates(_0x5cc8eb[_0x301b('0x48')],null))[_0x301b('0x23')](respondWithResult(_0x4ce2e3,null))[_0x301b('0x41')](handleError(_0x4ce2e3,null));};exports[_0x301b('0x49')]=function(_0x461d8f,_0x7fa1e6,_0x2f90f3){var _0x4a9951=require(_0x301b('0x4a'));var _0x1e6bed=![];var _0x3a1cf7={};if(_0x461d8f[_0x301b('0x2f')]['type']&&_0x461d8f[_0x301b('0x2f')][_0x301b('0x2b')]===_0x301b('0x4b')){_0x3a1cf7['uniqueid']=_0x461d8f['params']['id'];}else{_0x3a1cf7['id']=_0x461d8f['params']['id'];}return db['SquareRecording'][_0x301b('0x46')]({'where':_0x3a1cf7,'attributes':['id',_0x301b('0x4c'),'filename'],'raw':!![]})[_0x301b('0x23')](handleEntityNotFound(_0x7fa1e6,null))[_0x301b('0x23')](function(_0x2fe065){if(_0x2fe065){var _0x30ca57=_0x2fe065[_0x301b('0x4c')];var _0x2b96d7=util[_0x301b('0x4d')](_0x301b('0x4e'),_0x30ca57);if(fs['existsSync'](_0x2b96d7)){_0x1e6bed=!![];return _0x4a9951['decryptFile'](_0x2b96d7,_0x30ca57,config[_0x301b('0x4f')][_0x301b('0x50')])['then'](function(){return _0x2fe065;});}return _0x2fe065;}})[_0x301b('0x23')](function(_0x51849a){if(_0x51849a){var _0x5a7938=_0x51849a[_0x301b('0x4c')];if(!fs[_0x301b('0x51')](_0x5a7938)){throw new db[(_0x301b('0x52'))][(_0x301b('0x53'))](_0x301b('0x54'));}if(_0x51849a['filename']){return _0x7fa1e6[_0x301b('0x49')](_0x5a7938,_0x51849a[_0x301b('0x55')]+path['extname'](_0x5a7938),function(){if(_0x1e6bed){fs[_0x301b('0x56')](_0x5a7938);}});}else{return _0x7fa1e6[_0x301b('0x49')](_0x5a7938,function(_0x275828){if(_0x1e6bed){fs['unlink'](_0x5a7938);}});}}})[_0x301b('0x41')](function(_0x30bb7e){if(_0x30bb7e['message']===_0x301b('0x54')){_0x7fa1e6[_0x301b('0x24')](0x194)[_0x301b('0x29')](_0x301b('0x57'));}else{return handleError(_0x7fa1e6,null);}});};exports[_0x301b('0x58')]=function(_0x41ffb3,_0x31dc24){return db[_0x301b('0x3d')][_0x301b('0x46')]({'where':{'id':_0x41ffb3[_0x301b('0x43')]['id']}})[_0x301b('0x23')](function(_0x39920d){if(_[_0x301b('0x59')](_0x39920d)){throw new ReferenceError('Entity\x20not\x20found');}return _0x39920d;})[_0x301b('0x23')](function(_0x47652f){var _0x355a1d=_0x47652f[_0x301b('0x4c')];logger[_0x301b('0x5a')]('cancellazione\x20fisica\x20documento\x20%s',_0x355a1d);if(!_['isNil'](_0x47652f[_0x301b('0x4c')])&&fs[_0x301b('0x51')](_0x355a1d)){logger[_0x301b('0x5a')](_0x301b('0x5b')+_0x355a1d+_0x301b('0x5c'));fs[_0x301b('0x5d')](_0x355a1d);}_0x355a1d=_0x355a1d+'.cypher';if(!_['isNil'](_0x47652f[_0x301b('0x4c')])&&fs[_0x301b('0x51')](_0x355a1d)){logger[_0x301b('0x5a')](_0x301b('0x5b')+_0x355a1d+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x355a1d);}return _0x47652f;})[_0x301b('0x23')](function(_0x50bd39){if(!_0x50bd39)throw new InternalError();return _0x50bd39['destroy']();})['then'](function(){_0x31dc24[_0x301b('0x24')](0xcc)[_0x301b('0x25')]();})[_0x301b('0x41')](handleError(_0x31dc24,null));};