Built motion from commit 85328c08.|2.5.50
[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 _0x244a=['VIRTUAL','merge','options','includeAll','catch','show','params','keys','rawAttributes','length','find','create','body','download','uniqueid','savePath','format','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','message','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','undefined','count','offset','limit','status','set','Content-Range','apply','reject','update','then','error','stack','name','send','index','map','SquareRecording','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','filter'];(function(_0x158cfc,_0x3ff9e0){var _0x38baee=function(_0x1e30e0){while(--_0x1e30e0){_0x158cfc['push'](_0x158cfc['shift']());}};_0x38baee(++_0x3ff9e0);}(_0x244a,0x8b));var _0xa244=function(_0x4bb055,_0x48257a){_0x4bb055=_0x4bb055-0x0;var _0x2ab87e=_0x244a[_0x4bb055];return _0x2ab87e;};'use strict';var emlformat=require(_0xa244('0x0'));var rimraf=require(_0xa244('0x1'));var zipdir=require(_0xa244('0x2'));var jsonpatch=require(_0xa244('0x3'));var rp=require('request-promise');var moment=require(_0xa244('0x4'));var BPromise=require(_0xa244('0x5'));var Mustache=require(_0xa244('0x6'));var util=require(_0xa244('0x7'));var path=require(_0xa244('0x8'));var sox=require(_0xa244('0x9'));var csv=require('to-csv');var ejs=require(_0xa244('0xa'));var fs=require('fs');var fs_extra=require(_0xa244('0xb'));var _=require(_0xa244('0xc'));var squel=require(_0xa244('0xd'));var crypto=require('crypto');var jsforce=require(_0xa244('0xe'));var deskjs=require(_0xa244('0xf'));var toCsv=require(_0xa244('0x10'));var querystring=require('querystring');var Papa=require(_0xa244('0x11'));var Redis=require(_0xa244('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xa244('0x13'));var as=require(_0xa244('0x14'));var hardwareService=require(_0xa244('0x15'));var logger=require(_0xa244('0x16'))(_0xa244('0x17'));var utils=require(_0xa244('0x18'));var config=require(_0xa244('0x19'));var licenseUtil=require(_0xa244('0x1a'));var db=require(_0xa244('0x1b'))['db'];function respondWithStatusCode(_0x7a6a1,_0xd5c1e7){_0xd5c1e7=_0xd5c1e7||0xcc;return function(_0x3ab9e7){if(_0x3ab9e7){return _0x7a6a1[_0xa244('0x1c')](_0xd5c1e7);}return _0x7a6a1['status'](_0xd5c1e7)[_0xa244('0x1d')]();};}function respondWithResult(_0x13e000,_0x5ef64a){_0x5ef64a=_0x5ef64a||0xc8;return function(_0x5c7e99){if(_0x5c7e99){return _0x13e000['status'](_0x5ef64a)[_0xa244('0x1e')](_0x5c7e99);}};}function respondWithFilteredResult(_0xd513d6,_0x1af25c){return function(_0x47b541){if(_0x47b541){var _0x567edf=typeof _0x1af25c['offset']===_0xa244('0x1f')&&typeof _0x1af25c['limit']===_0xa244('0x1f');var _0x5bdfbc=_0x47b541[_0xa244('0x20')];var _0x1ed7f9=_0x567edf?0x0:_0x1af25c[_0xa244('0x21')];var _0x147c24=_0x567edf?_0x47b541[_0xa244('0x20')]:_0x1af25c[_0xa244('0x21')]+_0x1af25c[_0xa244('0x22')];var _0x27d8c2;if(_0x147c24>=_0x5bdfbc){_0x147c24=_0x5bdfbc;_0x27d8c2=0xc8;}else{_0x27d8c2=0xce;}_0xd513d6[_0xa244('0x23')](_0x27d8c2);return _0xd513d6[_0xa244('0x24')](_0xa244('0x25'),_0x1ed7f9+'-'+_0x147c24+'/'+_0x5bdfbc)[_0xa244('0x1e')](_0x47b541);}return null;};}function patchUpdates(_0x5928c1){return function(_0x28b34e){try{jsonpatch[_0xa244('0x26')](_0x28b34e,_0x5928c1,!![]);}catch(_0x27c7a3){return BPromise[_0xa244('0x27')](_0x27c7a3);}return _0x28b34e['save']();};}function saveUpdates(_0x4f9565,_0x2b0b84){return function(_0x3f7bed){if(_0x3f7bed){return _0x3f7bed[_0xa244('0x28')](_0x4f9565)[_0xa244('0x29')](function(_0x3d4efa){return _0x3d4efa;});}return null;};}function removeEntity(_0xab646e,_0x538c35){return function(_0x45fa98){if(_0x45fa98){return _0x45fa98['destroy']()[_0xa244('0x29')](function(){_0xab646e[_0xa244('0x23')](0xcc)[_0xa244('0x1d')]();});}};}function handleEntityNotFound(_0x25f09f,_0x31c3b3){return function(_0x7b4450){if(!_0x7b4450){_0x25f09f['sendStatus'](0x194);}return _0x7b4450;};}function handleError(_0x529d62,_0x3cbf13){_0x3cbf13=_0x3cbf13||0x1f4;return function(_0x3ef2b2){logger[_0xa244('0x2a')](_0x3ef2b2[_0xa244('0x2b')]);if(_0x3ef2b2[_0xa244('0x2c')]){delete _0x3ef2b2['name'];}_0x529d62[_0xa244('0x23')](_0x3cbf13)[_0xa244('0x2d')](_0x3ef2b2);};}exports[_0xa244('0x2e')]=function(_0x18a380,_0x3920ce){var _0xfddf3e={},_0x42d592={},_0x279c0b={'count':0x0,'rows':[]};var _0x57bb9a=_[_0xa244('0x2f')](db[_0xa244('0x30')]['rawAttributes'],function(_0x4399fb){return{'name':_0x4399fb[_0xa244('0x31')],'type':_0x4399fb[_0xa244('0x32')][_0xa244('0x33')]};});_0x42d592[_0xa244('0x34')]=_[_0xa244('0x2f')](_0x57bb9a,_0xa244('0x2c'));_0x42d592['query']=_['keys'](_0x18a380[_0xa244('0x35')]);_0x42d592[_0xa244('0x36')]=_[_0xa244('0x37')](_0x42d592[_0xa244('0x34')],_0x42d592['query']);_0xfddf3e[_0xa244('0x38')]=_[_0xa244('0x37')](_0x42d592['model'],qs[_0xa244('0x39')](_0x18a380[_0xa244('0x35')][_0xa244('0x39')]));_0xfddf3e['attributes']=_0xfddf3e[_0xa244('0x38')]['length']?_0xfddf3e[_0xa244('0x38')]:_0x42d592[_0xa244('0x34')];if(!_0x18a380[_0xa244('0x35')][_0xa244('0x3a')]('nolimit')){_0xfddf3e[_0xa244('0x22')]=qs[_0xa244('0x22')](_0x18a380[_0xa244('0x35')][_0xa244('0x22')]);_0xfddf3e[_0xa244('0x21')]=qs[_0xa244('0x21')](_0x18a380[_0xa244('0x35')]['offset']);}_0xfddf3e[_0xa244('0x3b')]=qs[_0xa244('0x3c')](_0x18a380[_0xa244('0x35')][_0xa244('0x3c')]);_0xfddf3e[_0xa244('0x3d')]=qs['filters'](_['pick'](_0x18a380[_0xa244('0x35')],_0x42d592[_0xa244('0x36')]),_0x57bb9a);if(_0x18a380[_0xa244('0x35')][_0xa244('0x3e')]){_0xfddf3e[_0xa244('0x3d')]=_['merge'](_0xfddf3e['where'],{'$or':_[_0xa244('0x2f')](_0x57bb9a,function(_0x8309bf){if(_0x8309bf['type']!==_0xa244('0x3f')){var _0x2ce3f9={};_0x2ce3f9[_0x8309bf['name']]={'$like':'%'+_0x18a380[_0xa244('0x35')][_0xa244('0x3e')]+'%'};return _0x2ce3f9;}})});}_0xfddf3e=_[_0xa244('0x40')]({},_0xfddf3e,_0x18a380[_0xa244('0x41')]);var _0x4fe386={'where':_0xfddf3e[_0xa244('0x3d')]};return db[_0xa244('0x30')][_0xa244('0x20')](_0x4fe386)[_0xa244('0x29')](function(_0x3a1c0f){_0x279c0b[_0xa244('0x20')]=_0x3a1c0f;if(_0x18a380[_0xa244('0x35')][_0xa244('0x42')]){_0xfddf3e['include']=[{'all':!![]}];}return db[_0xa244('0x30')]['findAll'](_0xfddf3e);})[_0xa244('0x29')](function(_0xb08af4){_0x279c0b['rows']=_0xb08af4;return _0x279c0b;})[_0xa244('0x29')](respondWithFilteredResult(_0x3920ce,_0xfddf3e))[_0xa244('0x43')](handleError(_0x3920ce,null));};exports[_0xa244('0x44')]=function(_0x144570,_0x1a851f){var _0x2ba24d={'raw':!![],'where':{'id':_0x144570[_0xa244('0x45')]['id']}},_0x2e8129={};_0x2e8129[_0xa244('0x34')]=_[_0xa244('0x46')](db[_0xa244('0x30')][_0xa244('0x47')]);_0x2e8129['query']=_[_0xa244('0x46')](_0x144570[_0xa244('0x35')]);_0x2e8129['filters']=_['intersection'](_0x2e8129['model'],_0x2e8129['query']);_0x2ba24d[_0xa244('0x38')]=_['intersection'](_0x2e8129['model'],qs['fields'](_0x144570['query'][_0xa244('0x39')]));_0x2ba24d['attributes']=_0x2ba24d[_0xa244('0x38')][_0xa244('0x48')]?_0x2ba24d[_0xa244('0x38')]:_0x2e8129['model'];if(_0x144570[_0xa244('0x35')][_0xa244('0x42')]){_0x2ba24d['include']=[{'all':!![]}];}_0x2ba24d=_['merge']({},_0x2ba24d,_0x144570[_0xa244('0x41')]);return db[_0xa244('0x30')][_0xa244('0x49')](_0x2ba24d)[_0xa244('0x29')](handleEntityNotFound(_0x1a851f,null))[_0xa244('0x29')](respondWithResult(_0x1a851f,null))[_0xa244('0x43')](handleError(_0x1a851f,null));};exports[_0xa244('0x4a')]=function(_0x520f6f,_0x35d6e2){return db[_0xa244('0x30')][_0xa244('0x4a')](_0x520f6f[_0xa244('0x4b')],{})[_0xa244('0x29')](respondWithResult(_0x35d6e2,0xc9))[_0xa244('0x43')](handleError(_0x35d6e2,null));};exports[_0xa244('0x28')]=function(_0x1b7444,_0x11f39){if(_0x1b7444['body']['id']){delete _0x1b7444['body']['id'];}return db[_0xa244('0x30')][_0xa244('0x49')]({'where':{'id':_0x1b7444[_0xa244('0x45')]['id']}})['then'](handleEntityNotFound(_0x11f39,null))[_0xa244('0x29')](saveUpdates(_0x1b7444['body'],null))[_0xa244('0x29')](respondWithResult(_0x11f39,null))[_0xa244('0x43')](handleError(_0x11f39,null));};exports[_0xa244('0x4c')]=function(_0x272108,_0x274b31,_0x19b10a){var _0x5b8a4b=require('../../components/encryptor');var _0x58676f=![];var _0x11f88e={};if(_0x272108[_0xa244('0x35')][_0xa244('0x32')]&&_0x272108[_0xa244('0x35')][_0xa244('0x32')]==='uniqueid'){_0x11f88e[_0xa244('0x4d')]=_0x272108[_0xa244('0x45')]['id'];}else{_0x11f88e['id']=_0x272108[_0xa244('0x45')]['id'];}return db[_0xa244('0x30')][_0xa244('0x49')]({'where':_0x11f88e,'attributes':['id',_0xa244('0x4e'),'filename'],'raw':!![]})[_0xa244('0x29')](handleEntityNotFound(_0x274b31,null))[_0xa244('0x29')](function(_0x72dc67){if(_0x72dc67){var _0x2c3c81=_0x72dc67['savePath'];var _0x51c626=util[_0xa244('0x4f')](_0xa244('0x50'),_0x2c3c81);if(fs['existsSync'](_0x51c626)){_0x58676f=!![];return _0x5b8a4b[_0xa244('0x51')](_0x51c626,_0x2c3c81,config[_0xa244('0x52')][_0xa244('0x53')])[_0xa244('0x29')](function(){return _0x72dc67;});}return _0x72dc67;}})[_0xa244('0x29')](function(_0x349f56){if(_0x349f56){var _0x4812ae=_0x349f56[_0xa244('0x4e')];if(!fs[_0xa244('0x54')](_0x4812ae)){throw new db[(_0xa244('0x55'))][(_0xa244('0x56'))](_0xa244('0x57'));}if(_0x349f56[_0xa244('0x58')]){return _0x274b31[_0xa244('0x4c')](_0x4812ae,_0x349f56[_0xa244('0x58')]+path[_0xa244('0x59')](_0x4812ae),function(){if(_0x58676f){fs['unlink'](_0x4812ae);}});}else{return _0x274b31[_0xa244('0x4c')](_0x4812ae,function(_0x3b8782){if(_0x58676f){fs[_0xa244('0x5a')](_0x4812ae);}});}}})[_0xa244('0x43')](function(_0x1ecc2f){if(_0x1ecc2f[_0xa244('0x5b')]===_0xa244('0x57')){_0x274b31[_0xa244('0x23')](0x194)[_0xa244('0x2d')]('Not\x20found');}else{return handleError(_0x274b31,null);}});};exports[_0xa244('0x5c')]=function(_0x1eca56,_0x51987f){return db['SquareRecording']['find']({'where':{'id':_0x1eca56[_0xa244('0x45')]['id']}})[_0xa244('0x29')](function(_0x1f0068){if(_['isNil'](_0x1f0068)){throw new ReferenceError(_0xa244('0x5d'));}return _0x1f0068;})[_0xa244('0x29')](function(_0x4872cd){var _0x13a663=_0x4872cd[_0xa244('0x4e')];logger[_0xa244('0x5e')](_0xa244('0x5f'),_0x13a663);if(!_[_0xa244('0x60')](_0x4872cd[_0xa244('0x4e')])&&fs['existsSync'](_0x13a663)){logger['info'](_0xa244('0x61')+_0x13a663+_0xa244('0x62'));fs['unlinkSync'](_0x13a663);}_0x13a663=_0x13a663+_0xa244('0x63');if(!_[_0xa244('0x60')](_0x4872cd[_0xa244('0x4e')])&&fs[_0xa244('0x54')](_0x13a663)){logger[_0xa244('0x5e')]('File:\x20\x22'+_0x13a663+_0xa244('0x62'));fs[_0xa244('0x64')](_0x13a663);}return _0x4872cd;})[_0xa244('0x29')](function(_0x22ec55){if(!_0x22ec55)throw new InternalError();return _0x22ec55[_0xa244('0x5c')]();})[_0xa244('0x29')](function(){_0x51987f[_0xa244('0x23')](0xcc)['end']();})[_0xa244('0x43')](handleError(_0x51987f,null));};