Built motion from commit 775e2a94.|2.6.3
[motion2.git] / server / api / voiceQueueReport / voiceQueueReport.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 _0xfecb=['attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','describe','getVoiceQueuesReport','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','register','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','reject','update','destroy','then','error','stack','map','VoiceQueueReport','rawAttributes','fieldName','type','key','model','name','query','filters','intersection','fields'];(function(_0x179e11,_0xf65436){var _0x549f04=function(_0x610545){while(--_0x610545){_0x179e11['push'](_0x179e11['shift']());}};_0x549f04(++_0xf65436);}(_0xfecb,0xbe));var _0xbfec=function(_0x23795e,_0x2ea37d){_0x23795e=_0x23795e-0x0;var _0x5c3dfd=_0xfecb[_0x23795e];return _0x5c3dfd;};'use strict';var emlformat=require(_0xbfec('0x0'));var rimraf=require(_0xbfec('0x1'));var zipdir=require(_0xbfec('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbfec('0x3'));var moment=require(_0xbfec('0x4'));var BPromise=require(_0xbfec('0x5'));var Mustache=require('mustache');var util=require(_0xbfec('0x6'));var path=require('path');var sox=require(_0xbfec('0x7'));var csv=require(_0xbfec('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbfec('0x9'));var _=require(_0xbfec('0xa'));var squel=require(_0xbfec('0xb'));var crypto=require(_0xbfec('0xc'));var jsforce=require(_0xbfec('0xd'));var deskjs=require(_0xbfec('0xe'));var toCsv=require(_0xbfec('0x8'));var querystring=require('querystring');var Papa=require(_0xbfec('0xf'));var Redis=require(_0xbfec('0x10'));var authService=require(_0xbfec('0x11'));var qs=require(_0xbfec('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xbfec('0x13'))(_0xbfec('0x14'));var utils=require('../../config/utils');var config=require(_0xbfec('0x15'));var licenseUtil=require(_0xbfec('0x16'));var db=require(_0xbfec('0x17'))['db'];config[_0xbfec('0x18')]=_[_0xbfec('0x19')](config['redis'],{'host':_0xbfec('0x1a'),'port':0x18eb});var socket=require(_0xbfec('0x1b'))(new Redis(config['redis']));require(_0xbfec('0x1c'))[_0xbfec('0x1d')](socket);function respondWithStatusCode(_0x481414,_0x556428){_0x556428=_0x556428||0xcc;return function(_0x2a062f){if(_0x2a062f){return _0x481414[_0xbfec('0x1e')](_0x556428);}return _0x481414[_0xbfec('0x1f')](_0x556428)[_0xbfec('0x20')]();};}function respondWithResult(_0x2a4fa8,_0x97393){_0x97393=_0x97393||0xc8;return function(_0x43d392){if(_0x43d392){return _0x2a4fa8[_0xbfec('0x1f')](_0x97393)['json'](_0x43d392);}};}function respondWithFilteredResult(_0x143e9a,_0x458a64){return function(_0x2a0d96){if(_0x2a0d96){var _0x176064=typeof _0x458a64['offset']===_0xbfec('0x21')&&typeof _0x458a64[_0xbfec('0x22')]===_0xbfec('0x21');var _0x45b19b=_0x2a0d96[_0xbfec('0x23')];var _0x131d19=_0x176064?0x0:_0x458a64['offset'];var _0xad5492=_0x176064?_0x2a0d96[_0xbfec('0x23')]:_0x458a64[_0xbfec('0x24')]+_0x458a64[_0xbfec('0x22')];var _0x529299;if(_0xad5492>=_0x45b19b){_0xad5492=_0x45b19b;_0x529299=0xc8;}else{_0x529299=0xce;}_0x143e9a['status'](_0x529299);return _0x143e9a[_0xbfec('0x25')](_0xbfec('0x26'),_0x131d19+'-'+_0xad5492+'/'+_0x45b19b)[_0xbfec('0x27')](_0x2a0d96);}return null;};}function patchUpdates(_0x59402d){return function(_0x49b62b){try{jsonpatch[_0xbfec('0x28')](_0x49b62b,_0x59402d,!![]);}catch(_0x4355fa){return BPromise[_0xbfec('0x29')](_0x4355fa);}return _0x49b62b['save']();};}function saveUpdates(_0x5740d2,_0xe8fcd3){return function(_0x5c5f9a){if(_0x5c5f9a){return _0x5c5f9a[_0xbfec('0x2a')](_0x5740d2)['then'](function(_0x944766){return _0x944766;});}return null;};}function removeEntity(_0x75177f,_0x1c3ec4){return function(_0x494dee){if(_0x494dee){return _0x494dee[_0xbfec('0x2b')]()[_0xbfec('0x2c')](function(){_0x75177f[_0xbfec('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x85f18d,_0x2df3f7){return function(_0x43ff36){if(!_0x43ff36){_0x85f18d['sendStatus'](0x194);}return _0x43ff36;};}function handleError(_0x2afb91,_0x1c7b26){_0x1c7b26=_0x1c7b26||0x1f4;return function(_0x39c21d){logger[_0xbfec('0x2d')](_0x39c21d[_0xbfec('0x2e')]);if(_0x39c21d['name']){delete _0x39c21d['name'];}_0x2afb91[_0xbfec('0x1f')](_0x1c7b26)['send'](_0x39c21d);};}exports['index']=function(_0x2ab3a2,_0xa96a15){var _0x423fb2={},_0x371ecf={},_0x43faf8={'count':0x0,'rows':[]};var _0x4e9e33=_[_0xbfec('0x2f')](db[_0xbfec('0x30')][_0xbfec('0x31')],function(_0xf2438b){return{'name':_0xf2438b[_0xbfec('0x32')],'type':_0xf2438b[_0xbfec('0x33')][_0xbfec('0x34')]};});_0x371ecf[_0xbfec('0x35')]=_[_0xbfec('0x2f')](_0x4e9e33,_0xbfec('0x36'));_0x371ecf[_0xbfec('0x37')]=_['keys'](_0x2ab3a2[_0xbfec('0x37')]);_0x371ecf[_0xbfec('0x38')]=_[_0xbfec('0x39')](_0x371ecf[_0xbfec('0x35')],_0x371ecf['query']);_0x423fb2['attributes']=_['intersection'](_0x371ecf[_0xbfec('0x35')],qs['fields'](_0x2ab3a2[_0xbfec('0x37')][_0xbfec('0x3a')]));_0x423fb2[_0xbfec('0x3b')]=_0x423fb2['attributes'][_0xbfec('0x3c')]?_0x423fb2['attributes']:_0x371ecf[_0xbfec('0x35')];if(!_0x2ab3a2[_0xbfec('0x37')][_0xbfec('0x3d')](_0xbfec('0x3e'))){_0x423fb2[_0xbfec('0x22')]=qs['limit'](_0x2ab3a2[_0xbfec('0x37')]['limit']);_0x423fb2['offset']=qs[_0xbfec('0x24')](_0x2ab3a2[_0xbfec('0x37')][_0xbfec('0x24')]);}_0x423fb2[_0xbfec('0x3f')]=qs[_0xbfec('0x40')](_0x2ab3a2['query'][_0xbfec('0x40')]);_0x423fb2[_0xbfec('0x41')]=qs[_0xbfec('0x38')](_['pick'](_0x2ab3a2['query'],_0x371ecf[_0xbfec('0x38')]),_0x4e9e33);if(_0x2ab3a2['query']['filter']){_0x423fb2[_0xbfec('0x41')]=_[_0xbfec('0x42')](_0x423fb2[_0xbfec('0x41')],{'$or':_['map'](_0x4e9e33,function(_0x43fecd){if(_0x43fecd[_0xbfec('0x33')]!==_0xbfec('0x43')){var _0x35ab57={};_0x35ab57[_0x43fecd[_0xbfec('0x36')]]={'$like':'%'+_0x2ab3a2['query'][_0xbfec('0x44')]+'%'};return _0x35ab57;}})});}_0x423fb2=_[_0xbfec('0x42')]({},_0x423fb2,_0x2ab3a2[_0xbfec('0x45')]);var _0x369ed0={'where':_0x423fb2[_0xbfec('0x41')]};return db[_0xbfec('0x30')]['count'](_0x369ed0)[_0xbfec('0x2c')](function(_0x1d528c){_0x43faf8[_0xbfec('0x23')]=_0x1d528c;if(_0x2ab3a2[_0xbfec('0x37')][_0xbfec('0x46')]){_0x423fb2[_0xbfec('0x47')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0xbfec('0x48')](_0x423fb2);})[_0xbfec('0x2c')](function(_0xd844ff){_0x43faf8[_0xbfec('0x49')]=_0xd844ff;return _0x43faf8;})[_0xbfec('0x2c')](respondWithFilteredResult(_0xa96a15,_0x423fb2))[_0xbfec('0x4a')](handleError(_0xa96a15,null));};exports[_0xbfec('0x4b')]=function(_0x4997e3,_0x2efbbf){var _0x593681={'raw':![],'where':{'id':_0x4997e3[_0xbfec('0x4c')]['id']}},_0x5ba0bb={};_0x5ba0bb['model']=_[_0xbfec('0x4d')](db[_0xbfec('0x30')][_0xbfec('0x31')]);_0x5ba0bb[_0xbfec('0x37')]=_[_0xbfec('0x4d')](_0x4997e3[_0xbfec('0x37')]);_0x5ba0bb[_0xbfec('0x38')]=_['intersection'](_0x5ba0bb[_0xbfec('0x35')],_0x5ba0bb[_0xbfec('0x37')]);_0x593681['attributes']=_[_0xbfec('0x39')](_0x5ba0bb['model'],qs[_0xbfec('0x3a')](_0x4997e3[_0xbfec('0x37')][_0xbfec('0x3a')]));_0x593681[_0xbfec('0x3b')]=_0x593681[_0xbfec('0x3b')][_0xbfec('0x3c')]?_0x593681[_0xbfec('0x3b')]:_0x5ba0bb[_0xbfec('0x35')];if(_0x4997e3[_0xbfec('0x37')]['includeAll']){_0x593681['include']=[{'all':!![]}];}_0x593681=_[_0xbfec('0x42')]({},_0x593681,_0x4997e3[_0xbfec('0x45')]);return db[_0xbfec('0x30')][_0xbfec('0x4e')](_0x593681)[_0xbfec('0x2c')](handleEntityNotFound(_0x2efbbf,null))[_0xbfec('0x2c')](respondWithResult(_0x2efbbf,null))[_0xbfec('0x4a')](handleError(_0x2efbbf,null));};exports[_0xbfec('0x4f')]=function(_0x34f22e,_0x4f25ee){return db['VoiceQueueReport'][_0xbfec('0x4f')](_0x34f22e[_0xbfec('0x50')],{})[_0xbfec('0x2c')](respondWithResult(_0x4f25ee,0xc9))[_0xbfec('0x4a')](handleError(_0x4f25ee,null));};exports[_0xbfec('0x2a')]=function(_0x330eee,_0x524e49){if(_0x330eee[_0xbfec('0x50')]['id']){delete _0x330eee['body']['id'];}return db[_0xbfec('0x30')][_0xbfec('0x4e')]({'where':{'id':_0x330eee['params']['id']}})[_0xbfec('0x2c')](handleEntityNotFound(_0x524e49,null))[_0xbfec('0x2c')](saveUpdates(_0x330eee['body'],null))[_0xbfec('0x2c')](respondWithResult(_0x524e49,null))[_0xbfec('0x4a')](handleError(_0x524e49,null));};exports[_0xbfec('0x2b')]=function(_0x519e4f,_0x4927b0){return db['VoiceQueueReport'][_0xbfec('0x4e')]({'where':{'id':_0x519e4f[_0xbfec('0x4c')]['id']}})[_0xbfec('0x2c')](handleEntityNotFound(_0x4927b0,null))[_0xbfec('0x2c')](removeEntity(_0x4927b0,null))[_0xbfec('0x4a')](handleError(_0x4927b0,null));};exports[_0xbfec('0x51')]=function(_0x333ecf,_0x44f4c9){return db[_0xbfec('0x30')][_0xbfec('0x51')]()[_0xbfec('0x2c')](respondWithResult(_0x44f4c9,null))['catch'](handleError(_0x44f4c9,null));};exports[_0xbfec('0x52')]=function(_0x577f9b,_0x577b37){var _0xcf3959={},_0x3adf8f={},_0x361e7b={'count':0x0,'rows':[]};_0x3adf8f['model']=_['keys'](db[_0xbfec('0x30')][_0xbfec('0x31')]);_0x3adf8f[_0xbfec('0x37')]=_['keys'](_0x577f9b['query']);_0x3adf8f[_0xbfec('0x38')]=_[_0xbfec('0x39')](_0x3adf8f[_0xbfec('0x35')],_0x3adf8f[_0xbfec('0x37')]);_0xcf3959['attributes']=_['intersection'](_0x3adf8f['model'],qs[_0xbfec('0x3a')](_0x577f9b[_0xbfec('0x37')][_0xbfec('0x3a')]));_0xcf3959[_0xbfec('0x3b')]=_0xcf3959[_0xbfec('0x3b')]['length']?_0xcf3959[_0xbfec('0x3b')]:_0x3adf8f[_0xbfec('0x35')];if(!_0x577f9b[_0xbfec('0x37')][_0xbfec('0x3d')]('nolimit')){_0xcf3959[_0xbfec('0x22')]=qs['limit'](_0x577f9b['query'][_0xbfec('0x22')]);_0xcf3959[_0xbfec('0x24')]=qs[_0xbfec('0x24')](_0x577f9b[_0xbfec('0x37')][_0xbfec('0x24')]);}_0xcf3959[_0xbfec('0x3f')]=qs['sort'](_0x577f9b[_0xbfec('0x37')]['sort']);_0xcf3959[_0xbfec('0x41')]=qs[_0xbfec('0x38')](_['pick'](_0x577f9b['query'],_0x3adf8f[_0xbfec('0x38')]));if(_0x577f9b[_0xbfec('0x37')][_0xbfec('0x44')]){_0xcf3959[_0xbfec('0x41')]=_[_0xbfec('0x42')](_0xcf3959['where'],{'$or':_['map'](_0xcf3959[_0xbfec('0x3b')],function(_0x8d4d9a){var _0x38147c={};_0x38147c[_0x8d4d9a]={'$like':'%'+_0x577f9b[_0xbfec('0x37')][_0xbfec('0x44')]+'%'};return _0x38147c;})});}_0xcf3959=_[_0xbfec('0x42')]({},_0xcf3959,_0x577f9b[_0xbfec('0x45')]);var _0x1f8059={'where':_0xcf3959[_0xbfec('0x41')]};return db[_0xbfec('0x30')][_0xbfec('0x23')](_0x1f8059)['then'](function(_0x238bb1){_0x361e7b[_0xbfec('0x23')]=_0x238bb1;if(_0x577f9b[_0xbfec('0x37')][_0xbfec('0x46')]){_0xcf3959[_0xbfec('0x47')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0xbfec('0x48')](_0xcf3959);})[_0xbfec('0x2c')](function(_0x2ee93a){_0x361e7b['rows']=_0x2ee93a;return _0x361e7b;})['then'](respondWithFilteredResult(_0x577b37,_0xcf3959,'getVoiceQueuesReport'))[_0xbfec('0x4a')](handleError(_0x577b37,null,_0xbfec('0x52')));};