Built motion from commit 3c2ce842.|2.6.31
[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 _0x2e2f=['type','VIRTUAL','filter','options','SquareRecording','includeAll','include','findAll','show','rawAttributes','intersection','catch','create','update','body','params','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','Not\x20found','destroy','find','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','rimraf','zip-dir','moment','util','path','to-csv','lodash','squel','jsforce','desk.js','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','then','error','stack','name','send','index','key','model','map','query','keys','fields','attributes','length','hasOwnProperty','order','sort','where','filters','merge'];(function(_0x5a7bdb,_0x910d08){var _0x3e8738=function(_0x3bcf0c){while(--_0x3bcf0c){_0x5a7bdb['push'](_0x5a7bdb['shift']());}};_0x3e8738(++_0x910d08);}(_0x2e2f,0x190));var _0xf2e2=function(_0xd10b43,_0x440ec1){_0xd10b43=_0xd10b43-0x0;var _0x369090=_0x2e2f[_0xd10b43];return _0x369090;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf2e2('0x0'));var zipdir=require(_0xf2e2('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf2e2('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf2e2('0x3'));var path=require(_0xf2e2('0x4'));var sox=require('sox');var csv=require(_0xf2e2('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf2e2('0x6'));var squel=require(_0xf2e2('0x7'));var crypto=require('crypto');var jsforce=require(_0xf2e2('0x8'));var deskjs=require(_0xf2e2('0x9'));var toCsv=require(_0xf2e2('0x5'));var querystring=require(_0xf2e2('0xa'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xf2e2('0xb'));var hardwareService=require(_0xf2e2('0xc'));var logger=require(_0xf2e2('0xd'))(_0xf2e2('0xe'));var utils=require(_0xf2e2('0xf'));var config=require('../../config/environment');var licenseUtil=require(_0xf2e2('0x10'));var db=require(_0xf2e2('0x11'))['db'];function respondWithStatusCode(_0x4a4291,_0x33f264){_0x33f264=_0x33f264||0xcc;return function(_0x294cb9){if(_0x294cb9){return _0x4a4291[_0xf2e2('0x12')](_0x33f264);}return _0x4a4291[_0xf2e2('0x13')](_0x33f264)[_0xf2e2('0x14')]();};}function respondWithResult(_0x24d597,_0x399b2f){_0x399b2f=_0x399b2f||0xc8;return function(_0x44bc68){if(_0x44bc68){return _0x24d597[_0xf2e2('0x13')](_0x399b2f)[_0xf2e2('0x15')](_0x44bc68);}};}function respondWithFilteredResult(_0x51fc19,_0x82e3ab){return function(_0x33b832){if(_0x33b832){var _0x33ec5d=typeof _0x82e3ab['offset']==='undefined'&&typeof _0x82e3ab[_0xf2e2('0x16')]===_0xf2e2('0x17');var _0x5b6cb6=_0x33b832[_0xf2e2('0x18')];var _0x5a1bce=_0x33ec5d?0x0:_0x82e3ab[_0xf2e2('0x19')];var _0x4ae11d=_0x33ec5d?_0x33b832[_0xf2e2('0x18')]:_0x82e3ab['offset']+_0x82e3ab['limit'];var _0x2fc31f;if(_0x4ae11d>=_0x5b6cb6){_0x4ae11d=_0x5b6cb6;_0x2fc31f=0xc8;}else{_0x2fc31f=0xce;}_0x51fc19[_0xf2e2('0x13')](_0x2fc31f);return _0x51fc19[_0xf2e2('0x1a')](_0xf2e2('0x1b'),_0x5a1bce+'-'+_0x4ae11d+'/'+_0x5b6cb6)['json'](_0x33b832);}return null;};}function patchUpdates(_0x30d068){return function(_0x10bc19){try{jsonpatch[_0xf2e2('0x1c')](_0x10bc19,_0x30d068,!![]);}catch(_0x260c5d){return BPromise[_0xf2e2('0x1d')](_0x260c5d);}return _0x10bc19['save']();};}function saveUpdates(_0x5cf318,_0x3007b8){return function(_0x2d1fc1){if(_0x2d1fc1){return _0x2d1fc1['update'](_0x5cf318)[_0xf2e2('0x1e')](function(_0x3965ab){return _0x3965ab;});}return null;};}function removeEntity(_0x2cbf45,_0x48d36a){return function(_0xb9e752){if(_0xb9e752){return _0xb9e752['destroy']()[_0xf2e2('0x1e')](function(){_0x2cbf45[_0xf2e2('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x33e8b5,_0x3e99d0){return function(_0x16f4df){if(!_0x16f4df){_0x33e8b5[_0xf2e2('0x12')](0x194);}return _0x16f4df;};}function handleError(_0x255f8c,_0x1630d3){_0x1630d3=_0x1630d3||0x1f4;return function(_0x11ce59){logger[_0xf2e2('0x1f')](_0x11ce59[_0xf2e2('0x20')]);if(_0x11ce59[_0xf2e2('0x21')]){delete _0x11ce59[_0xf2e2('0x21')];}_0x255f8c[_0xf2e2('0x13')](_0x1630d3)[_0xf2e2('0x22')](_0x11ce59);};}exports[_0xf2e2('0x23')]=function(_0x487560,_0x4f5356){var _0x1dfe49={},_0x4c31ac={},_0x158e8c={'count':0x0,'rows':[]};var _0xd26d8e=_['map'](db['SquareRecording']['rawAttributes'],function(_0x56913e){return{'name':_0x56913e['fieldName'],'type':_0x56913e['type'][_0xf2e2('0x24')]};});_0x4c31ac[_0xf2e2('0x25')]=_[_0xf2e2('0x26')](_0xd26d8e,_0xf2e2('0x21'));_0x4c31ac[_0xf2e2('0x27')]=_[_0xf2e2('0x28')](_0x487560['query']);_0x4c31ac['filters']=_['intersection'](_0x4c31ac[_0xf2e2('0x25')],_0x4c31ac[_0xf2e2('0x27')]);_0x1dfe49['attributes']=_['intersection'](_0x4c31ac[_0xf2e2('0x25')],qs['fields'](_0x487560[_0xf2e2('0x27')][_0xf2e2('0x29')]));_0x1dfe49['attributes']=_0x1dfe49[_0xf2e2('0x2a')][_0xf2e2('0x2b')]?_0x1dfe49[_0xf2e2('0x2a')]:_0x4c31ac['model'];if(!_0x487560[_0xf2e2('0x27')][_0xf2e2('0x2c')]('nolimit')){_0x1dfe49[_0xf2e2('0x16')]=qs[_0xf2e2('0x16')](_0x487560[_0xf2e2('0x27')][_0xf2e2('0x16')]);_0x1dfe49[_0xf2e2('0x19')]=qs[_0xf2e2('0x19')](_0x487560[_0xf2e2('0x27')][_0xf2e2('0x19')]);}_0x1dfe49[_0xf2e2('0x2d')]=qs['sort'](_0x487560[_0xf2e2('0x27')][_0xf2e2('0x2e')]);_0x1dfe49[_0xf2e2('0x2f')]=qs[_0xf2e2('0x30')](_['pick'](_0x487560[_0xf2e2('0x27')],_0x4c31ac[_0xf2e2('0x30')]),_0xd26d8e);if(_0x487560[_0xf2e2('0x27')]['filter']){_0x1dfe49[_0xf2e2('0x2f')]=_[_0xf2e2('0x31')](_0x1dfe49[_0xf2e2('0x2f')],{'$or':_[_0xf2e2('0x26')](_0xd26d8e,function(_0x4b52f6){if(_0x4b52f6[_0xf2e2('0x32')]!==_0xf2e2('0x33')){var _0xe30997={};_0xe30997[_0x4b52f6[_0xf2e2('0x21')]]={'$like':'%'+_0x487560[_0xf2e2('0x27')][_0xf2e2('0x34')]+'%'};return _0xe30997;}})});}_0x1dfe49=_['merge']({},_0x1dfe49,_0x487560[_0xf2e2('0x35')]);var _0x2b87d3={'where':_0x1dfe49['where']};return db[_0xf2e2('0x36')]['count'](_0x2b87d3)[_0xf2e2('0x1e')](function(_0x5021f0){_0x158e8c['count']=_0x5021f0;if(_0x487560[_0xf2e2('0x27')][_0xf2e2('0x37')]){_0x1dfe49[_0xf2e2('0x38')]=[{'all':!![]}];}return db[_0xf2e2('0x36')][_0xf2e2('0x39')](_0x1dfe49);})[_0xf2e2('0x1e')](function(_0x142e94){_0x158e8c['rows']=_0x142e94;return _0x158e8c;})[_0xf2e2('0x1e')](respondWithFilteredResult(_0x4f5356,_0x1dfe49))['catch'](handleError(_0x4f5356,null));};exports[_0xf2e2('0x3a')]=function(_0x7d6ed2,_0x36e782){var _0x2921d4={'raw':!![],'where':{'id':_0x7d6ed2['params']['id']}},_0x353c9e={};_0x353c9e[_0xf2e2('0x25')]=_['keys'](db[_0xf2e2('0x36')][_0xf2e2('0x3b')]);_0x353c9e[_0xf2e2('0x27')]=_['keys'](_0x7d6ed2[_0xf2e2('0x27')]);_0x353c9e[_0xf2e2('0x30')]=_[_0xf2e2('0x3c')](_0x353c9e[_0xf2e2('0x25')],_0x353c9e[_0xf2e2('0x27')]);_0x2921d4[_0xf2e2('0x2a')]=_[_0xf2e2('0x3c')](_0x353c9e[_0xf2e2('0x25')],qs[_0xf2e2('0x29')](_0x7d6ed2[_0xf2e2('0x27')][_0xf2e2('0x29')]));_0x2921d4[_0xf2e2('0x2a')]=_0x2921d4[_0xf2e2('0x2a')][_0xf2e2('0x2b')]?_0x2921d4[_0xf2e2('0x2a')]:_0x353c9e['model'];if(_0x7d6ed2[_0xf2e2('0x27')][_0xf2e2('0x37')]){_0x2921d4[_0xf2e2('0x38')]=[{'all':!![]}];}_0x2921d4=_[_0xf2e2('0x31')]({},_0x2921d4,_0x7d6ed2['options']);return db[_0xf2e2('0x36')]['find'](_0x2921d4)[_0xf2e2('0x1e')](handleEntityNotFound(_0x36e782,null))[_0xf2e2('0x1e')](respondWithResult(_0x36e782,null))[_0xf2e2('0x3d')](handleError(_0x36e782,null));};exports['create']=function(_0xa954cb,_0x2fbad4){return db[_0xf2e2('0x36')][_0xf2e2('0x3e')](_0xa954cb['body'],{})[_0xf2e2('0x1e')](respondWithResult(_0x2fbad4,0xc9))[_0xf2e2('0x3d')](handleError(_0x2fbad4,null));};exports[_0xf2e2('0x3f')]=function(_0x26d759,_0x360672){if(_0x26d759['body']['id']){delete _0x26d759[_0xf2e2('0x40')]['id'];}return db[_0xf2e2('0x36')]['find']({'where':{'id':_0x26d759[_0xf2e2('0x41')]['id']}})[_0xf2e2('0x1e')](handleEntityNotFound(_0x360672,null))['then'](saveUpdates(_0x26d759[_0xf2e2('0x40')],null))[_0xf2e2('0x1e')](respondWithResult(_0x360672,null))[_0xf2e2('0x3d')](handleError(_0x360672,null));};exports[_0xf2e2('0x42')]=function(_0x119a22,_0x2dca68,_0x3b2e37){var _0x3c0dc1=require(_0xf2e2('0x43'));var _0x1e6a9c=![];var _0x46054e={};if(_0x119a22['query'][_0xf2e2('0x32')]&&_0x119a22['query'][_0xf2e2('0x32')]===_0xf2e2('0x44')){_0x46054e['uniqueid']=_0x119a22['params']['id'];}else{_0x46054e['id']=_0x119a22['params']['id'];}return db[_0xf2e2('0x36')]['find']({'where':_0x46054e,'attributes':['id',_0xf2e2('0x45'),_0xf2e2('0x46')],'raw':!![]})[_0xf2e2('0x1e')](handleEntityNotFound(_0x2dca68,null))[_0xf2e2('0x1e')](function(_0x238023){if(_0x238023){var _0x19980f=_0x238023[_0xf2e2('0x45')];var _0x4bc569=util[_0xf2e2('0x47')](_0xf2e2('0x48'),_0x19980f);if(fs[_0xf2e2('0x49')](_0x4bc569)){_0x1e6a9c=!![];return _0x3c0dc1[_0xf2e2('0x4a')](_0x4bc569,_0x19980f,config[_0xf2e2('0x4b')][_0xf2e2('0x4c')])[_0xf2e2('0x1e')](function(){return _0x238023;});}return _0x238023;}})[_0xf2e2('0x1e')](function(_0xfb9c49){if(_0xfb9c49){var _0x241769=_0xfb9c49[_0xf2e2('0x45')];if(!fs[_0xf2e2('0x49')](_0x241769)){throw new db[(_0xf2e2('0x4d'))][(_0xf2e2('0x4e'))](_0xf2e2('0x4f'));}if(_0xfb9c49[_0xf2e2('0x46')]){return _0x2dca68[_0xf2e2('0x42')](_0x241769,_0xfb9c49[_0xf2e2('0x46')]+path[_0xf2e2('0x50')](_0x241769),function(){if(_0x1e6a9c){fs['unlink'](_0x241769);}});}else{return _0x2dca68[_0xf2e2('0x42')](_0x241769,function(_0x3039fe){if(_0x1e6a9c){fs[_0xf2e2('0x51')](_0x241769);}});}}})[_0xf2e2('0x3d')](function(_0x5aaa8f){if(_0x5aaa8f['message']===_0xf2e2('0x4f')){_0x2dca68[_0xf2e2('0x13')](0x194)['send'](_0xf2e2('0x52'));}else{return handleError(_0x2dca68,null);}});};exports[_0xf2e2('0x53')]=function(_0x249133,_0x71b149){return db[_0xf2e2('0x36')][_0xf2e2('0x54')]({'where':{'id':_0x249133[_0xf2e2('0x41')]['id']}})[_0xf2e2('0x1e')](function(_0x210703){if(_[_0xf2e2('0x55')](_0x210703)){throw new ReferenceError(_0xf2e2('0x56'));}return _0x210703;})[_0xf2e2('0x1e')](function(_0x1d7ca0){var _0x470385=_0x1d7ca0[_0xf2e2('0x45')];logger[_0xf2e2('0x57')]('cancellazione\x20fisica\x20documento\x20%s',_0x470385);if(!_['isNil'](_0x1d7ca0[_0xf2e2('0x45')])&&fs[_0xf2e2('0x49')](_0x470385)){logger[_0xf2e2('0x57')](_0xf2e2('0x58')+_0x470385+_0xf2e2('0x59'));fs['unlinkSync'](_0x470385);}_0x470385=_0x470385+'.cypher';if(!_['isNil'](_0x1d7ca0[_0xf2e2('0x45')])&&fs[_0xf2e2('0x49')](_0x470385)){logger['info']('File:\x20\x22'+_0x470385+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x470385);}return _0x1d7ca0;})[_0xf2e2('0x1e')](function(_0x442f92){if(!_0x442f92)throw new InternalError();return _0x442f92[_0xf2e2('0x53')]();})['then'](function(){_0x71b149['status'](0xcc)[_0xf2e2('0x14')]();})[_0xf2e2('0x3d')](handleError(_0x71b149,null));};