Built motion from commit 953226e6.|2.6.32
[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 _0x78fb=['then','destroy','error','name','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','rows','params','keys','fields','find','catch','create','body','uniqueid','savePath','filename','format','%s.cypher','decryptFile','secrets','recording','existsSync','SquareRecording\x20not\x20found','extname','download','unlink','message','send','Not\x20found','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update'];(function(_0x57e86d,_0x3379c0){var _0x380b0f=function(_0x2409f6){while(--_0x2409f6){_0x57e86d['push'](_0x57e86d['shift']());}};_0x380b0f(++_0x3379c0);}(_0x78fb,0xfc));var _0xb78f=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0x78fb[_0xbca1b1];return _0x4e1686;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb78f('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb78f('0x1'));var rp=require(_0xb78f('0x2'));var moment=require('moment');var BPromise=require(_0xb78f('0x3'));var Mustache=require(_0xb78f('0x4'));var util=require(_0xb78f('0x5'));var path=require(_0xb78f('0x6'));var sox=require(_0xb78f('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xb78f('0x8'));var crypto=require(_0xb78f('0x9'));var jsforce=require(_0xb78f('0xa'));var deskjs=require(_0xb78f('0xb'));var toCsv=require(_0xb78f('0xc'));var querystring=require(_0xb78f('0xd'));var Papa=require(_0xb78f('0xe'));var Redis=require('ioredis');var authService=require(_0xb78f('0xf'));var qs=require(_0xb78f('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb78f('0x11'));var logger=require(_0xb78f('0x12'))(_0xb78f('0x13'));var utils=require(_0xb78f('0x14'));var config=require(_0xb78f('0x15'));var licenseUtil=require(_0xb78f('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3f0b28,_0x2ca5e5){_0x2ca5e5=_0x2ca5e5||0xcc;return function(_0x2c8523){if(_0x2c8523){return _0x3f0b28[_0xb78f('0x17')](_0x2ca5e5);}return _0x3f0b28['status'](_0x2ca5e5)[_0xb78f('0x18')]();};}function respondWithResult(_0x174c4d,_0x371b3b){_0x371b3b=_0x371b3b||0xc8;return function(_0x1160d6){if(_0x1160d6){return _0x174c4d[_0xb78f('0x19')](_0x371b3b)[_0xb78f('0x1a')](_0x1160d6);}};}function respondWithFilteredResult(_0x3b3595,_0x44191e){return function(_0x1fa118){if(_0x1fa118){var _0x1ca40a=typeof _0x44191e[_0xb78f('0x1b')]==='undefined'&&typeof _0x44191e['limit']===_0xb78f('0x1c');var _0x8dd708=_0x1fa118['count'];var _0x5a947d=_0x1ca40a?0x0:_0x44191e[_0xb78f('0x1b')];var _0x17517c=_0x1ca40a?_0x1fa118[_0xb78f('0x1d')]:_0x44191e['offset']+_0x44191e[_0xb78f('0x1e')];var _0x5a865f;if(_0x17517c>=_0x8dd708){_0x17517c=_0x8dd708;_0x5a865f=0xc8;}else{_0x5a865f=0xce;}_0x3b3595[_0xb78f('0x19')](_0x5a865f);return _0x3b3595[_0xb78f('0x1f')](_0xb78f('0x20'),_0x5a947d+'-'+_0x17517c+'/'+_0x8dd708)[_0xb78f('0x1a')](_0x1fa118);}return null;};}function patchUpdates(_0x3adc0f){return function(_0x1ecdbd){try{jsonpatch['apply'](_0x1ecdbd,_0x3adc0f,!![]);}catch(_0x15aa10){return BPromise[_0xb78f('0x21')](_0x15aa10);}return _0x1ecdbd[_0xb78f('0x22')]();};}function saveUpdates(_0x15e1c9,_0x167152){return function(_0xc368f1){if(_0xc368f1){return _0xc368f1[_0xb78f('0x23')](_0x15e1c9)[_0xb78f('0x24')](function(_0x180368){return _0x180368;});}return null;};}function removeEntity(_0x54af99,_0x15dcc5){return function(_0x3fee3a){if(_0x3fee3a){return _0x3fee3a[_0xb78f('0x25')]()[_0xb78f('0x24')](function(){_0x54af99[_0xb78f('0x19')](0xcc)[_0xb78f('0x18')]();});}};}function handleEntityNotFound(_0x2e24a2,_0x176bb1){return function(_0x4f61ff){if(!_0x4f61ff){_0x2e24a2[_0xb78f('0x17')](0x194);}return _0x4f61ff;};}function handleError(_0x3aa518,_0x306f49){_0x306f49=_0x306f49||0x1f4;return function(_0x39abba){logger[_0xb78f('0x26')](_0x39abba['stack']);if(_0x39abba['name']){delete _0x39abba[_0xb78f('0x27')];}_0x3aa518['status'](_0x306f49)['send'](_0x39abba);};}exports[_0xb78f('0x28')]=function(_0x48ea34,_0xecc1b){var _0x5d3e3e={},_0x319204={},_0x5f0cba={'count':0x0,'rows':[]};var _0x56020f=_[_0xb78f('0x29')](db[_0xb78f('0x2a')][_0xb78f('0x2b')],function(_0x1c7b60){return{'name':_0x1c7b60[_0xb78f('0x2c')],'type':_0x1c7b60[_0xb78f('0x2d')][_0xb78f('0x2e')]};});_0x319204[_0xb78f('0x2f')]=_[_0xb78f('0x29')](_0x56020f,_0xb78f('0x27'));_0x319204['query']=_['keys'](_0x48ea34[_0xb78f('0x30')]);_0x319204[_0xb78f('0x31')]=_['intersection'](_0x319204['model'],_0x319204[_0xb78f('0x30')]);_0x5d3e3e[_0xb78f('0x32')]=_[_0xb78f('0x33')](_0x319204[_0xb78f('0x2f')],qs['fields'](_0x48ea34[_0xb78f('0x30')]['fields']));_0x5d3e3e[_0xb78f('0x32')]=_0x5d3e3e['attributes'][_0xb78f('0x34')]?_0x5d3e3e['attributes']:_0x319204['model'];if(!_0x48ea34[_0xb78f('0x30')][_0xb78f('0x35')](_0xb78f('0x36'))){_0x5d3e3e[_0xb78f('0x1e')]=qs[_0xb78f('0x1e')](_0x48ea34[_0xb78f('0x30')][_0xb78f('0x1e')]);_0x5d3e3e[_0xb78f('0x1b')]=qs[_0xb78f('0x1b')](_0x48ea34[_0xb78f('0x30')]['offset']);}_0x5d3e3e[_0xb78f('0x37')]=qs[_0xb78f('0x38')](_0x48ea34[_0xb78f('0x30')][_0xb78f('0x38')]);_0x5d3e3e[_0xb78f('0x39')]=qs[_0xb78f('0x31')](_[_0xb78f('0x3a')](_0x48ea34[_0xb78f('0x30')],_0x319204[_0xb78f('0x31')]),_0x56020f);if(_0x48ea34[_0xb78f('0x30')][_0xb78f('0x3b')]){_0x5d3e3e['where']=_[_0xb78f('0x3c')](_0x5d3e3e[_0xb78f('0x39')],{'$or':_[_0xb78f('0x29')](_0x56020f,function(_0x5bf7dc){if(_0x5bf7dc[_0xb78f('0x2d')]!==_0xb78f('0x3d')){var _0x321986={};_0x321986[_0x5bf7dc[_0xb78f('0x27')]]={'$like':'%'+_0x48ea34[_0xb78f('0x30')][_0xb78f('0x3b')]+'%'};return _0x321986;}})});}_0x5d3e3e=_[_0xb78f('0x3c')]({},_0x5d3e3e,_0x48ea34[_0xb78f('0x3e')]);var _0x58dc33={'where':_0x5d3e3e[_0xb78f('0x39')]};return db['SquareRecording'][_0xb78f('0x1d')](_0x58dc33)[_0xb78f('0x24')](function(_0x4d3073){_0x5f0cba[_0xb78f('0x1d')]=_0x4d3073;if(_0x48ea34[_0xb78f('0x30')][_0xb78f('0x3f')]){_0x5d3e3e['include']=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0x5d3e3e);})[_0xb78f('0x24')](function(_0x5f1c15){_0x5f0cba[_0xb78f('0x40')]=_0x5f1c15;return _0x5f0cba;})[_0xb78f('0x24')](respondWithFilteredResult(_0xecc1b,_0x5d3e3e))['catch'](handleError(_0xecc1b,null));};exports['show']=function(_0x58fab1,_0x117459){var _0x4142c0={'raw':!![],'where':{'id':_0x58fab1[_0xb78f('0x41')]['id']}},_0x1e0b59={};_0x1e0b59[_0xb78f('0x2f')]=_[_0xb78f('0x42')](db[_0xb78f('0x2a')][_0xb78f('0x2b')]);_0x1e0b59[_0xb78f('0x30')]=_['keys'](_0x58fab1[_0xb78f('0x30')]);_0x1e0b59[_0xb78f('0x31')]=_[_0xb78f('0x33')](_0x1e0b59[_0xb78f('0x2f')],_0x1e0b59[_0xb78f('0x30')]);_0x4142c0['attributes']=_[_0xb78f('0x33')](_0x1e0b59[_0xb78f('0x2f')],qs[_0xb78f('0x43')](_0x58fab1['query'][_0xb78f('0x43')]));_0x4142c0[_0xb78f('0x32')]=_0x4142c0[_0xb78f('0x32')][_0xb78f('0x34')]?_0x4142c0[_0xb78f('0x32')]:_0x1e0b59[_0xb78f('0x2f')];if(_0x58fab1[_0xb78f('0x30')]['includeAll']){_0x4142c0['include']=[{'all':!![]}];}_0x4142c0=_[_0xb78f('0x3c')]({},_0x4142c0,_0x58fab1[_0xb78f('0x3e')]);return db['SquareRecording'][_0xb78f('0x44')](_0x4142c0)[_0xb78f('0x24')](handleEntityNotFound(_0x117459,null))['then'](respondWithResult(_0x117459,null))[_0xb78f('0x45')](handleError(_0x117459,null));};exports['create']=function(_0x2ed50e,_0x1ed837){return db[_0xb78f('0x2a')][_0xb78f('0x46')](_0x2ed50e[_0xb78f('0x47')],{})[_0xb78f('0x24')](respondWithResult(_0x1ed837,0xc9))[_0xb78f('0x45')](handleError(_0x1ed837,null));};exports['update']=function(_0x38657c,_0x972c27){if(_0x38657c['body']['id']){delete _0x38657c[_0xb78f('0x47')]['id'];}return db['SquareRecording'][_0xb78f('0x44')]({'where':{'id':_0x38657c[_0xb78f('0x41')]['id']}})[_0xb78f('0x24')](handleEntityNotFound(_0x972c27,null))['then'](saveUpdates(_0x38657c[_0xb78f('0x47')],null))[_0xb78f('0x24')](respondWithResult(_0x972c27,null))['catch'](handleError(_0x972c27,null));};exports['download']=function(_0x48af5a,_0x72df69,_0x27116b){var _0xf9bff1=require('../../components/encryptor');var _0x5c403c=![];var _0x4174c2={};if(_0x48af5a['query'][_0xb78f('0x2d')]&&_0x48af5a[_0xb78f('0x30')][_0xb78f('0x2d')]===_0xb78f('0x48')){_0x4174c2[_0xb78f('0x48')]=_0x48af5a[_0xb78f('0x41')]['id'];}else{_0x4174c2['id']=_0x48af5a['params']['id'];}return db[_0xb78f('0x2a')][_0xb78f('0x44')]({'where':_0x4174c2,'attributes':['id',_0xb78f('0x49'),_0xb78f('0x4a')],'raw':!![]})[_0xb78f('0x24')](handleEntityNotFound(_0x72df69,null))[_0xb78f('0x24')](function(_0x2366ab){if(_0x2366ab){var _0x2b11f8=_0x2366ab[_0xb78f('0x49')];var _0x348b45=util[_0xb78f('0x4b')](_0xb78f('0x4c'),_0x2b11f8);if(fs['existsSync'](_0x348b45)){_0x5c403c=!![];return _0xf9bff1[_0xb78f('0x4d')](_0x348b45,_0x2b11f8,config[_0xb78f('0x4e')][_0xb78f('0x4f')])[_0xb78f('0x24')](function(){return _0x2366ab;});}return _0x2366ab;}})['then'](function(_0x20604b){if(_0x20604b){var _0x569527=_0x20604b[_0xb78f('0x49')];if(!fs[_0xb78f('0x50')](_0x569527)){throw new db['Sequelize']['ValidationError'](_0xb78f('0x51'));}if(_0x20604b[_0xb78f('0x4a')]){return _0x72df69['download'](_0x569527,_0x20604b['filename']+path[_0xb78f('0x52')](_0x569527),function(){if(_0x5c403c){fs['unlink'](_0x569527);}});}else{return _0x72df69[_0xb78f('0x53')](_0x569527,function(_0xb204ea){if(_0x5c403c){fs[_0xb78f('0x54')](_0x569527);}});}}})[_0xb78f('0x45')](function(_0x175b6c){if(_0x175b6c[_0xb78f('0x55')]===_0xb78f('0x51')){_0x72df69[_0xb78f('0x19')](0x194)[_0xb78f('0x56')](_0xb78f('0x57'));}else{return handleError(_0x72df69,null);}});};exports[_0xb78f('0x25')]=function(_0x1596c8,_0x4ee09a){return db[_0xb78f('0x2a')][_0xb78f('0x44')]({'where':{'id':_0x1596c8[_0xb78f('0x41')]['id']}})[_0xb78f('0x24')](function(_0x48322c){if(_[_0xb78f('0x58')](_0x48322c)){throw new ReferenceError(_0xb78f('0x59'));}return _0x48322c;})[_0xb78f('0x24')](function(_0x3c1570){var _0x1e1dfa=_0x3c1570[_0xb78f('0x49')];logger['info'](_0xb78f('0x5a'),_0x1e1dfa);if(!_[_0xb78f('0x58')](_0x3c1570[_0xb78f('0x49')])&&fs[_0xb78f('0x50')](_0x1e1dfa)){logger[_0xb78f('0x5b')](_0xb78f('0x5c')+_0x1e1dfa+_0xb78f('0x5d'));fs[_0xb78f('0x5e')](_0x1e1dfa);}_0x1e1dfa=_0x1e1dfa+_0xb78f('0x5f');if(!_['isNil'](_0x3c1570['savePath'])&&fs[_0xb78f('0x50')](_0x1e1dfa)){logger[_0xb78f('0x5b')](_0xb78f('0x5c')+_0x1e1dfa+_0xb78f('0x5d'));fs[_0xb78f('0x5e')](_0x1e1dfa);}return _0x3c1570;})[_0xb78f('0x24')](function(_0x2cf2d4){if(!_0x2cf2d4)throw new InternalError();return _0x2cf2d4[_0xb78f('0x25')]();})[_0xb78f('0x24')](function(){_0x4ee09a[_0xb78f('0x19')](0xcc)['end']();})[_0xb78f('0x45')](handleError(_0x4ee09a,null));};