Built motion from commit 4ca75f1b.|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 _0x188d=['filter','VIRTUAL','merge','include','findAll','rows','show','params','length','includeAll','create','body','catch','download','../../components/encryptor','uniqueid','find','savePath','format','existsSync','decryptFile','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','message','send','Not\x20found','Entity\x20not\x20found','File:\x20\x22','unlinkSync','isNil','info','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','end','eml-format','zip-dir','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','Content-Range','reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','nolimit','order','sort','where','filters','pick'];(function(_0xef89d,_0x287047){var _0x23d599=function(_0x20ebad){while(--_0x20ebad){_0xef89d['push'](_0xef89d['shift']());}};_0x23d599(++_0x287047);}(_0x188d,0xdd));var _0xd188=function(_0x5aba03,_0x161ec6){_0x5aba03=_0x5aba03-0x0;var _0x24d080=_0x188d[_0x5aba03];return _0x24d080;};'use strict';var emlformat=require(_0xd188('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd188('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xd188('0x2'));var BPromise=require(_0xd188('0x3'));var Mustache=require(_0xd188('0x4'));var util=require(_0xd188('0x5'));var path=require('path');var sox=require(_0xd188('0x6'));var csv=require(_0xd188('0x7'));var ejs=require(_0xd188('0x8'));var fs=require('fs');var fs_extra=require(_0xd188('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd188('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xd188('0xb'));var toCsv=require(_0xd188('0x7'));var querystring=require('querystring');var Papa=require(_0xd188('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd188('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd188('0xe'));var logger=require(_0xd188('0xf'))('api');var utils=require(_0xd188('0x10'));var config=require(_0xd188('0x11'));var licenseUtil=require(_0xd188('0x12'));var db=require(_0xd188('0x13'))['db'];function respondWithStatusCode(_0x322ed6,_0x29f014){_0x29f014=_0x29f014||0xcc;return function(_0x2eb051){if(_0x2eb051){return _0x322ed6['sendStatus'](_0x29f014);}return _0x322ed6[_0xd188('0x14')](_0x29f014)['end']();};}function respondWithResult(_0x5bfea3,_0x5efeb0){_0x5efeb0=_0x5efeb0||0xc8;return function(_0x185c73){if(_0x185c73){return _0x5bfea3[_0xd188('0x14')](_0x5efeb0)[_0xd188('0x15')](_0x185c73);}};}function respondWithFilteredResult(_0x3fd6dc,_0x42558f){return function(_0x48bb41){if(_0x48bb41){var _0x3b2cd9=typeof _0x42558f[_0xd188('0x16')]===_0xd188('0x17')&&typeof _0x42558f[_0xd188('0x18')]==='undefined';var _0x9edaa1=_0x48bb41['count'];var _0x43c84a=_0x3b2cd9?0x0:_0x42558f[_0xd188('0x16')];var _0x46068e=_0x3b2cd9?_0x48bb41[_0xd188('0x19')]:_0x42558f[_0xd188('0x16')]+_0x42558f[_0xd188('0x18')];var _0x406d64;if(_0x46068e>=_0x9edaa1){_0x46068e=_0x9edaa1;_0x406d64=0xc8;}else{_0x406d64=0xce;}_0x3fd6dc['status'](_0x406d64);return _0x3fd6dc['set'](_0xd188('0x1a'),_0x43c84a+'-'+_0x46068e+'/'+_0x9edaa1)[_0xd188('0x15')](_0x48bb41);}return null;};}function patchUpdates(_0x3cfa08){return function(_0x4cdb6e){try{jsonpatch['apply'](_0x4cdb6e,_0x3cfa08,!![]);}catch(_0x5b601e){return BPromise[_0xd188('0x1b')](_0x5b601e);}return _0x4cdb6e[_0xd188('0x1c')]();};}function saveUpdates(_0x14f602,_0x31718c){return function(_0x364d6c){if(_0x364d6c){return _0x364d6c[_0xd188('0x1d')](_0x14f602)[_0xd188('0x1e')](function(_0xb3cb9c){return _0xb3cb9c;});}return null;};}function removeEntity(_0x383993,_0x52a450){return function(_0x1ff83e){if(_0x1ff83e){return _0x1ff83e[_0xd188('0x1f')]()[_0xd188('0x1e')](function(){_0x383993[_0xd188('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c9208,_0x4ea2b1){return function(_0x196b15){if(!_0x196b15){_0x2c9208[_0xd188('0x20')](0x194);}return _0x196b15;};}function handleError(_0xa53c81,_0x25b481){_0x25b481=_0x25b481||0x1f4;return function(_0x24ad20){logger[_0xd188('0x21')](_0x24ad20[_0xd188('0x22')]);if(_0x24ad20[_0xd188('0x23')]){delete _0x24ad20['name'];}_0xa53c81[_0xd188('0x14')](_0x25b481)['send'](_0x24ad20);};}exports[_0xd188('0x24')]=function(_0x36960f,_0x43f481){var _0x4daedf={},_0x1601f3={},_0x502576={'count':0x0,'rows':[]};var _0x68182c=_[_0xd188('0x25')](db[_0xd188('0x26')][_0xd188('0x27')],function(_0x75c7fc){return{'name':_0x75c7fc[_0xd188('0x28')],'type':_0x75c7fc[_0xd188('0x29')][_0xd188('0x2a')]};});_0x1601f3[_0xd188('0x2b')]=_[_0xd188('0x25')](_0x68182c,_0xd188('0x23'));_0x1601f3['query']=_[_0xd188('0x2c')](_0x36960f[_0xd188('0x2d')]);_0x1601f3['filters']=_[_0xd188('0x2e')](_0x1601f3['model'],_0x1601f3[_0xd188('0x2d')]);_0x4daedf['attributes']=_[_0xd188('0x2e')](_0x1601f3[_0xd188('0x2b')],qs[_0xd188('0x2f')](_0x36960f[_0xd188('0x2d')][_0xd188('0x2f')]));_0x4daedf['attributes']=_0x4daedf[_0xd188('0x30')]['length']?_0x4daedf['attributes']:_0x1601f3[_0xd188('0x2b')];if(!_0x36960f['query']['hasOwnProperty'](_0xd188('0x31'))){_0x4daedf[_0xd188('0x18')]=qs[_0xd188('0x18')](_0x36960f[_0xd188('0x2d')][_0xd188('0x18')]);_0x4daedf[_0xd188('0x16')]=qs['offset'](_0x36960f['query'][_0xd188('0x16')]);}_0x4daedf[_0xd188('0x32')]=qs['sort'](_0x36960f['query'][_0xd188('0x33')]);_0x4daedf[_0xd188('0x34')]=qs[_0xd188('0x35')](_[_0xd188('0x36')](_0x36960f[_0xd188('0x2d')],_0x1601f3[_0xd188('0x35')]),_0x68182c);if(_0x36960f[_0xd188('0x2d')][_0xd188('0x37')]){_0x4daedf['where']=_['merge'](_0x4daedf['where'],{'$or':_[_0xd188('0x25')](_0x68182c,function(_0x3d30f1){if(_0x3d30f1[_0xd188('0x29')]!==_0xd188('0x38')){var _0x27a7cd={};_0x27a7cd[_0x3d30f1[_0xd188('0x23')]]={'$like':'%'+_0x36960f['query']['filter']+'%'};return _0x27a7cd;}})});}_0x4daedf=_[_0xd188('0x39')]({},_0x4daedf,_0x36960f['options']);var _0x3a1b3f={'where':_0x4daedf[_0xd188('0x34')]};return db[_0xd188('0x26')]['count'](_0x3a1b3f)['then'](function(_0x38e914){_0x502576[_0xd188('0x19')]=_0x38e914;if(_0x36960f[_0xd188('0x2d')]['includeAll']){_0x4daedf[_0xd188('0x3a')]=[{'all':!![]}];}return db[_0xd188('0x26')][_0xd188('0x3b')](_0x4daedf);})[_0xd188('0x1e')](function(_0x2ea9a7){_0x502576[_0xd188('0x3c')]=_0x2ea9a7;return _0x502576;})[_0xd188('0x1e')](respondWithFilteredResult(_0x43f481,_0x4daedf))['catch'](handleError(_0x43f481,null));};exports[_0xd188('0x3d')]=function(_0x1f08c0,_0x1ea62c){var _0x1aaac3={'raw':!![],'where':{'id':_0x1f08c0[_0xd188('0x3e')]['id']}},_0x1039d3={};_0x1039d3[_0xd188('0x2b')]=_[_0xd188('0x2c')](db[_0xd188('0x26')][_0xd188('0x27')]);_0x1039d3[_0xd188('0x2d')]=_[_0xd188('0x2c')](_0x1f08c0[_0xd188('0x2d')]);_0x1039d3['filters']=_[_0xd188('0x2e')](_0x1039d3['model'],_0x1039d3['query']);_0x1aaac3[_0xd188('0x30')]=_[_0xd188('0x2e')](_0x1039d3['model'],qs[_0xd188('0x2f')](_0x1f08c0['query'][_0xd188('0x2f')]));_0x1aaac3[_0xd188('0x30')]=_0x1aaac3['attributes'][_0xd188('0x3f')]?_0x1aaac3[_0xd188('0x30')]:_0x1039d3[_0xd188('0x2b')];if(_0x1f08c0[_0xd188('0x2d')][_0xd188('0x40')]){_0x1aaac3[_0xd188('0x3a')]=[{'all':!![]}];}_0x1aaac3=_['merge']({},_0x1aaac3,_0x1f08c0['options']);return db[_0xd188('0x26')]['find'](_0x1aaac3)['then'](handleEntityNotFound(_0x1ea62c,null))[_0xd188('0x1e')](respondWithResult(_0x1ea62c,null))['catch'](handleError(_0x1ea62c,null));};exports[_0xd188('0x41')]=function(_0x4d12da,_0x42c747){return db[_0xd188('0x26')][_0xd188('0x41')](_0x4d12da[_0xd188('0x42')],{})[_0xd188('0x1e')](respondWithResult(_0x42c747,0xc9))[_0xd188('0x43')](handleError(_0x42c747,null));};exports[_0xd188('0x1d')]=function(_0x252242,_0x3cb29e){if(_0x252242[_0xd188('0x42')]['id']){delete _0x252242[_0xd188('0x42')]['id'];}return db[_0xd188('0x26')]['find']({'where':{'id':_0x252242[_0xd188('0x3e')]['id']}})['then'](handleEntityNotFound(_0x3cb29e,null))[_0xd188('0x1e')](saveUpdates(_0x252242[_0xd188('0x42')],null))[_0xd188('0x1e')](respondWithResult(_0x3cb29e,null))[_0xd188('0x43')](handleError(_0x3cb29e,null));};exports[_0xd188('0x44')]=function(_0x2da5f3,_0x2514b2,_0x2881a7){var _0x230965=require(_0xd188('0x45'));var _0x3ac8cf=![];var _0x366539={};if(_0x2da5f3[_0xd188('0x2d')]['type']&&_0x2da5f3['query'][_0xd188('0x29')]==='uniqueid'){_0x366539[_0xd188('0x46')]=_0x2da5f3[_0xd188('0x3e')]['id'];}else{_0x366539['id']=_0x2da5f3[_0xd188('0x3e')]['id'];}return db[_0xd188('0x26')][_0xd188('0x47')]({'where':_0x366539,'attributes':['id','savePath','filename'],'raw':!![]})[_0xd188('0x1e')](handleEntityNotFound(_0x2514b2,null))[_0xd188('0x1e')](function(_0x178ea7){if(_0x178ea7){var _0x389f26=_0x178ea7[_0xd188('0x48')];var _0x4e87ca=util[_0xd188('0x49')]('%s.cypher',_0x389f26);if(fs[_0xd188('0x4a')](_0x4e87ca)){_0x3ac8cf=!![];return _0x230965[_0xd188('0x4b')](_0x4e87ca,_0x389f26,config['secrets']['recording'])[_0xd188('0x1e')](function(){return _0x178ea7;});}return _0x178ea7;}})[_0xd188('0x1e')](function(_0xf90dac){if(_0xf90dac){var _0x29241b=_0xf90dac[_0xd188('0x48')];if(!fs[_0xd188('0x4a')](_0x29241b)){throw new db[(_0xd188('0x4c'))][(_0xd188('0x4d'))](_0xd188('0x4e'));}if(_0xf90dac[_0xd188('0x4f')]){return _0x2514b2[_0xd188('0x44')](_0x29241b,_0xf90dac[_0xd188('0x4f')]+path[_0xd188('0x50')](_0x29241b),function(){if(_0x3ac8cf){fs[_0xd188('0x51')](_0x29241b);}});}else{return _0x2514b2[_0xd188('0x44')](_0x29241b,function(_0x4f3993){if(_0x3ac8cf){fs[_0xd188('0x51')](_0x29241b);}});}}})[_0xd188('0x43')](function(_0x4a2315){if(_0x4a2315[_0xd188('0x52')]===_0xd188('0x4e')){_0x2514b2[_0xd188('0x14')](0x194)[_0xd188('0x53')](_0xd188('0x54'));}else{return handleError(_0x2514b2,null);}});};exports[_0xd188('0x1f')]=function(_0x4927dd,_0x4f7d27){return db[_0xd188('0x26')]['find']({'where':{'id':_0x4927dd[_0xd188('0x3e')]['id']}})[_0xd188('0x1e')](function(_0x571dc0){if(_['isNil'](_0x571dc0)){throw new ReferenceError(_0xd188('0x55'));}return _0x571dc0;})[_0xd188('0x1e')](function(_0x54f8ea){var _0x268622=_0x54f8ea[_0xd188('0x48')];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x268622);if(!_['isNil'](_0x54f8ea['savePath'])&&fs['existsSync'](_0x268622)){logger['info'](_0xd188('0x56')+_0x268622+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xd188('0x57')](_0x268622);}_0x268622=_0x268622+'.cypher';if(!_[_0xd188('0x58')](_0x54f8ea[_0xd188('0x48')])&&fs['existsSync'](_0x268622)){logger[_0xd188('0x59')](_0xd188('0x56')+_0x268622+_0xd188('0x5a'));fs[_0xd188('0x57')](_0x268622);}return _0x54f8ea;})[_0xd188('0x1e')](function(_0x3b3348){if(!_0x3b3348)throw new InternalError();return _0x3b3348[_0xd188('0x1f')]();})['then'](function(){_0x4f7d27[_0xd188('0x14')](0xcc)[_0xd188('0x5b')]();})[_0xd188('0x43')](handleError(_0x4f7d27,null));};