ab2d7950cc4004ea49e8676a4d3d951272e0a41a
[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 _0x7634=['VIRTUAL','options','include','findAll','rows','params','fields','includeAll','find','catch','create','body','../../components/encryptor','uniqueid','savePath','format','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','filename','download','extname','unlink','message','Not\x20found','destroy','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','fast-json-patch','moment','util','path','to-csv','ejs','fs-extra','squel','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','end','name','send','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x7634,0x1ad));var _0x4763=function(_0xa675d6,_0x23a45e){_0xa675d6=_0xa675d6-0x0;var _0x4d2423=_0x7634[_0xa675d6];return _0x4d2423;};'use strict';var emlformat=require(_0x4763('0x0'));var rimraf=require(_0x4763('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4763('0x2'));var rp=require('request-promise');var moment=require(_0x4763('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x4763('0x4'));var path=require(_0x4763('0x5'));var sox=require('sox');var csv=require(_0x4763('0x6'));var ejs=require(_0x4763('0x7'));var fs=require('fs');var fs_extra=require(_0x4763('0x8'));var _=require('lodash');var squel=require(_0x4763('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4763('0x6'));var querystring=require(_0x4763('0xa'));var Papa=require(_0x4763('0xb'));var Redis=require(_0x4763('0xc'));var authService=require(_0x4763('0xd'));var qs=require(_0x4763('0xe'));var as=require(_0x4763('0xf'));var hardwareService=require(_0x4763('0x10'));var logger=require(_0x4763('0x11'))(_0x4763('0x12'));var utils=require(_0x4763('0x13'));var config=require(_0x4763('0x14'));var licenseUtil=require(_0x4763('0x15'));var db=require(_0x4763('0x16'))['db'];function respondWithStatusCode(_0x8462d9,_0x150a65){_0x150a65=_0x150a65||0xcc;return function(_0x53e46c){if(_0x53e46c){return _0x8462d9[_0x4763('0x17')](_0x150a65);}return _0x8462d9[_0x4763('0x18')](_0x150a65)['end']();};}function respondWithResult(_0x42fe25,_0x310ef8){_0x310ef8=_0x310ef8||0xc8;return function(_0xc5f441){if(_0xc5f441){return _0x42fe25[_0x4763('0x18')](_0x310ef8)[_0x4763('0x19')](_0xc5f441);}};}function respondWithFilteredResult(_0x3b6897,_0x16385a){return function(_0xe85045){if(_0xe85045){var _0x5e30ef=typeof _0x16385a[_0x4763('0x1a')]==='undefined'&&typeof _0x16385a[_0x4763('0x1b')]===_0x4763('0x1c');var _0x44d9ee=_0xe85045[_0x4763('0x1d')];var _0x4be22f=_0x5e30ef?0x0:_0x16385a[_0x4763('0x1a')];var _0x41dc39=_0x5e30ef?_0xe85045['count']:_0x16385a[_0x4763('0x1a')]+_0x16385a[_0x4763('0x1b')];var _0x48ea32;if(_0x41dc39>=_0x44d9ee){_0x41dc39=_0x44d9ee;_0x48ea32=0xc8;}else{_0x48ea32=0xce;}_0x3b6897[_0x4763('0x18')](_0x48ea32);return _0x3b6897[_0x4763('0x1e')](_0x4763('0x1f'),_0x4be22f+'-'+_0x41dc39+'/'+_0x44d9ee)[_0x4763('0x19')](_0xe85045);}return null;};}function patchUpdates(_0x259c70){return function(_0x39a044){try{jsonpatch[_0x4763('0x20')](_0x39a044,_0x259c70,!![]);}catch(_0x3792f4){return BPromise[_0x4763('0x21')](_0x3792f4);}return _0x39a044[_0x4763('0x22')]();};}function saveUpdates(_0x141317,_0x362469){return function(_0xaf281c){if(_0xaf281c){return _0xaf281c[_0x4763('0x23')](_0x141317)[_0x4763('0x24')](function(_0x2b7204){return _0x2b7204;});}return null;};}function removeEntity(_0x5998df,_0x306efe){return function(_0x5bdbaf){if(_0x5bdbaf){return _0x5bdbaf['destroy']()['then'](function(){_0x5998df[_0x4763('0x18')](0xcc)[_0x4763('0x25')]();});}};}function handleEntityNotFound(_0xda0187,_0x1c9f99){return function(_0x45ead7){if(!_0x45ead7){_0xda0187[_0x4763('0x17')](0x194);}return _0x45ead7;};}function handleError(_0x374cf7,_0x673720){_0x673720=_0x673720||0x1f4;return function(_0x14794c){logger['error'](_0x14794c['stack']);if(_0x14794c[_0x4763('0x26')]){delete _0x14794c[_0x4763('0x26')];}_0x374cf7[_0x4763('0x18')](_0x673720)[_0x4763('0x27')](_0x14794c);};}exports['index']=function(_0x3098ad,_0x3e7cd7){var _0x5d716c={},_0x109d9c={},_0x2b4697={'count':0x0,'rows':[]};var _0x2ea917=_[_0x4763('0x28')](db[_0x4763('0x29')][_0x4763('0x2a')],function(_0x1f2e91){return{'name':_0x1f2e91[_0x4763('0x2b')],'type':_0x1f2e91[_0x4763('0x2c')][_0x4763('0x2d')]};});_0x109d9c[_0x4763('0x2e')]=_['map'](_0x2ea917,'name');_0x109d9c[_0x4763('0x2f')]=_[_0x4763('0x30')](_0x3098ad[_0x4763('0x2f')]);_0x109d9c['filters']=_['intersection'](_0x109d9c[_0x4763('0x2e')],_0x109d9c['query']);_0x5d716c[_0x4763('0x31')]=_[_0x4763('0x32')](_0x109d9c['model'],qs['fields'](_0x3098ad[_0x4763('0x2f')]['fields']));_0x5d716c[_0x4763('0x31')]=_0x5d716c['attributes'][_0x4763('0x33')]?_0x5d716c[_0x4763('0x31')]:_0x109d9c['model'];if(!_0x3098ad[_0x4763('0x2f')][_0x4763('0x34')](_0x4763('0x35'))){_0x5d716c[_0x4763('0x1b')]=qs[_0x4763('0x1b')](_0x3098ad[_0x4763('0x2f')]['limit']);_0x5d716c[_0x4763('0x1a')]=qs[_0x4763('0x1a')](_0x3098ad[_0x4763('0x2f')][_0x4763('0x1a')]);}_0x5d716c[_0x4763('0x36')]=qs[_0x4763('0x37')](_0x3098ad[_0x4763('0x2f')][_0x4763('0x37')]);_0x5d716c[_0x4763('0x38')]=qs[_0x4763('0x39')](_[_0x4763('0x3a')](_0x3098ad['query'],_0x109d9c[_0x4763('0x39')]),_0x2ea917);if(_0x3098ad[_0x4763('0x2f')][_0x4763('0x3b')]){_0x5d716c[_0x4763('0x38')]=_[_0x4763('0x3c')](_0x5d716c[_0x4763('0x38')],{'$or':_[_0x4763('0x28')](_0x2ea917,function(_0x2a8308){if(_0x2a8308[_0x4763('0x2c')]!==_0x4763('0x3d')){var _0x30c42b={};_0x30c42b[_0x2a8308[_0x4763('0x26')]]={'$like':'%'+_0x3098ad['query']['filter']+'%'};return _0x30c42b;}})});}_0x5d716c=_[_0x4763('0x3c')]({},_0x5d716c,_0x3098ad[_0x4763('0x3e')]);var _0x4de2b2={'where':_0x5d716c[_0x4763('0x38')]};return db[_0x4763('0x29')][_0x4763('0x1d')](_0x4de2b2)['then'](function(_0x1d4e9e){_0x2b4697[_0x4763('0x1d')]=_0x1d4e9e;if(_0x3098ad[_0x4763('0x2f')]['includeAll']){_0x5d716c[_0x4763('0x3f')]=[{'all':!![]}];}return db[_0x4763('0x29')][_0x4763('0x40')](_0x5d716c);})[_0x4763('0x24')](function(_0x3e665e){_0x2b4697[_0x4763('0x41')]=_0x3e665e;return _0x2b4697;})[_0x4763('0x24')](respondWithFilteredResult(_0x3e7cd7,_0x5d716c))['catch'](handleError(_0x3e7cd7,null));};exports['show']=function(_0x3617f7,_0x4820bd){var _0xbea453={'raw':!![],'where':{'id':_0x3617f7[_0x4763('0x42')]['id']}},_0x2cf517={};_0x2cf517[_0x4763('0x2e')]=_[_0x4763('0x30')](db[_0x4763('0x29')]['rawAttributes']);_0x2cf517[_0x4763('0x2f')]=_[_0x4763('0x30')](_0x3617f7['query']);_0x2cf517[_0x4763('0x39')]=_[_0x4763('0x32')](_0x2cf517[_0x4763('0x2e')],_0x2cf517[_0x4763('0x2f')]);_0xbea453[_0x4763('0x31')]=_[_0x4763('0x32')](_0x2cf517[_0x4763('0x2e')],qs['fields'](_0x3617f7[_0x4763('0x2f')][_0x4763('0x43')]));_0xbea453[_0x4763('0x31')]=_0xbea453[_0x4763('0x31')][_0x4763('0x33')]?_0xbea453['attributes']:_0x2cf517[_0x4763('0x2e')];if(_0x3617f7[_0x4763('0x2f')][_0x4763('0x44')]){_0xbea453['include']=[{'all':!![]}];}_0xbea453=_['merge']({},_0xbea453,_0x3617f7[_0x4763('0x3e')]);return db[_0x4763('0x29')][_0x4763('0x45')](_0xbea453)[_0x4763('0x24')](handleEntityNotFound(_0x4820bd,null))[_0x4763('0x24')](respondWithResult(_0x4820bd,null))[_0x4763('0x46')](handleError(_0x4820bd,null));};exports[_0x4763('0x47')]=function(_0x6b7e71,_0x527219){return db[_0x4763('0x29')][_0x4763('0x47')](_0x6b7e71['body'],{})[_0x4763('0x24')](respondWithResult(_0x527219,0xc9))[_0x4763('0x46')](handleError(_0x527219,null));};exports['update']=function(_0x3b872b,_0x26794a){if(_0x3b872b[_0x4763('0x48')]['id']){delete _0x3b872b[_0x4763('0x48')]['id'];}return db[_0x4763('0x29')][_0x4763('0x45')]({'where':{'id':_0x3b872b[_0x4763('0x42')]['id']}})[_0x4763('0x24')](handleEntityNotFound(_0x26794a,null))[_0x4763('0x24')](saveUpdates(_0x3b872b[_0x4763('0x48')],null))[_0x4763('0x24')](respondWithResult(_0x26794a,null))[_0x4763('0x46')](handleError(_0x26794a,null));};exports['download']=function(_0x218e6b,_0x30e6f3,_0xadd397){var _0x3f6d7f=require(_0x4763('0x49'));var _0x47c897=![];var _0x23305d={};if(_0x218e6b['query'][_0x4763('0x2c')]&&_0x218e6b[_0x4763('0x2f')][_0x4763('0x2c')]===_0x4763('0x4a')){_0x23305d['uniqueid']=_0x218e6b[_0x4763('0x42')]['id'];}else{_0x23305d['id']=_0x218e6b[_0x4763('0x42')]['id'];}return db[_0x4763('0x29')]['find']({'where':_0x23305d,'attributes':['id',_0x4763('0x4b'),'filename'],'raw':!![]})['then'](handleEntityNotFound(_0x30e6f3,null))[_0x4763('0x24')](function(_0x239b24){if(_0x239b24){var _0x1ad6c8=_0x239b24[_0x4763('0x4b')];var _0x3e9e43=util[_0x4763('0x4c')]('%s.cypher',_0x1ad6c8);if(fs[_0x4763('0x4d')](_0x3e9e43)){_0x47c897=!![];return _0x3f6d7f[_0x4763('0x4e')](_0x3e9e43,_0x1ad6c8,config[_0x4763('0x4f')][_0x4763('0x50')])[_0x4763('0x24')](function(){return _0x239b24;});}return _0x239b24;}})['then'](function(_0x94a081){if(_0x94a081){var _0x51f645=_0x94a081['savePath'];if(!fs[_0x4763('0x4d')](_0x51f645)){throw new db[(_0x4763('0x51'))][(_0x4763('0x52'))]('SquareRecording\x20not\x20found');}if(_0x94a081[_0x4763('0x53')]){return _0x30e6f3[_0x4763('0x54')](_0x51f645,_0x94a081[_0x4763('0x53')]+path[_0x4763('0x55')](_0x51f645),function(){if(_0x47c897){fs[_0x4763('0x56')](_0x51f645);}});}else{return _0x30e6f3[_0x4763('0x54')](_0x51f645,function(_0x12e003){if(_0x47c897){fs['unlink'](_0x51f645);}});}}})[_0x4763('0x46')](function(_0xee130d){if(_0xee130d[_0x4763('0x57')]==='SquareRecording\x20not\x20found'){_0x30e6f3[_0x4763('0x18')](0x194)[_0x4763('0x27')](_0x4763('0x58'));}else{return handleError(_0x30e6f3,null);}});};exports[_0x4763('0x59')]=function(_0x398a8e,_0x56dba9){return db[_0x4763('0x29')][_0x4763('0x45')]({'where':{'id':_0x398a8e[_0x4763('0x42')]['id']}})[_0x4763('0x24')](function(_0x344aa7){if(_[_0x4763('0x5a')](_0x344aa7)){throw new ReferenceError(_0x4763('0x5b'));}return _0x344aa7;})[_0x4763('0x24')](function(_0x128ecf){var _0x2a4d05=_0x128ecf[_0x4763('0x4b')];logger[_0x4763('0x5c')](_0x4763('0x5d'),_0x2a4d05);if(!_[_0x4763('0x5a')](_0x128ecf[_0x4763('0x4b')])&&fs[_0x4763('0x4d')](_0x2a4d05)){logger[_0x4763('0x5c')](_0x4763('0x5e')+_0x2a4d05+_0x4763('0x5f'));fs[_0x4763('0x60')](_0x2a4d05);}_0x2a4d05=_0x2a4d05+_0x4763('0x61');if(!_['isNil'](_0x128ecf[_0x4763('0x4b')])&&fs[_0x4763('0x4d')](_0x2a4d05)){logger['info'](_0x4763('0x5e')+_0x2a4d05+_0x4763('0x5f'));fs['unlinkSync'](_0x2a4d05);}return _0x128ecf;})[_0x4763('0x24')](function(_0x21decb){if(!_0x21decb)throw new InternalError();return _0x21decb[_0x4763('0x59')]();})[_0x4763('0x24')](function(){_0x56dba9[_0x4763('0x18')](0xcc)[_0x4763('0x25')]();})[_0x4763('0x46')](handleError(_0x56dba9,null));};