Built motion from commit ae138b72.|2.6.28
[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 _0x4b03=['./voiceQueueReport.socket','register','sendStatus','end','json','undefined','count','offset','status','set','Content-Range','apply','save','then','destroy','error','stack','name','send','index','map','VoiceQueueReport','rawAttributes','fieldName','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','limit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','includeAll','find','create','body','params','describe','getVoiceQueuesReport','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter'];(function(_0x24a654,_0x2ca441){var _0x458651=function(_0x1ecda1){while(--_0x1ecda1){_0x24a654['push'](_0x24a654['shift']());}};_0x458651(++_0x2ca441);}(_0x4b03,0x130));var _0x34b0=function(_0xd03892,_0x4f5416){_0xd03892=_0xd03892-0x0;var _0x2bae0d=_0x4b03[_0xd03892];return _0x2bae0d;};'use strict';var emlformat=require(_0x34b0('0x0'));var rimraf=require(_0x34b0('0x1'));var zipdir=require(_0x34b0('0x2'));var jsonpatch=require(_0x34b0('0x3'));var rp=require('request-promise');var moment=require(_0x34b0('0x4'));var BPromise=require(_0x34b0('0x5'));var Mustache=require(_0x34b0('0x6'));var util=require(_0x34b0('0x7'));var path=require(_0x34b0('0x8'));var sox=require('sox');var csv=require(_0x34b0('0x9'));var ejs=require(_0x34b0('0xa'));var fs=require('fs');var fs_extra=require(_0x34b0('0xb'));var _=require('lodash');var squel=require(_0x34b0('0xc'));var crypto=require(_0x34b0('0xd'));var jsforce=require(_0x34b0('0xe'));var deskjs=require(_0x34b0('0xf'));var toCsv=require(_0x34b0('0x9'));var querystring=require('querystring');var Papa=require(_0x34b0('0x10'));var Redis=require('ioredis');var authService=require(_0x34b0('0x11'));var qs=require(_0x34b0('0x12'));var as=require(_0x34b0('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x34b0('0x14'));var utils=require('../../config/utils');var config=require(_0x34b0('0x15'));var licenseUtil=require(_0x34b0('0x16'));var db=require(_0x34b0('0x17'))['db'];config[_0x34b0('0x18')]=_[_0x34b0('0x19')](config[_0x34b0('0x18')],{'host':_0x34b0('0x1a'),'port':0x18eb});var socket=require(_0x34b0('0x1b'))(new Redis(config['redis']));require(_0x34b0('0x1c'))[_0x34b0('0x1d')](socket);function respondWithStatusCode(_0x4b1130,_0x5d90d3){_0x5d90d3=_0x5d90d3||0xcc;return function(_0x165ffc){if(_0x165ffc){return _0x4b1130[_0x34b0('0x1e')](_0x5d90d3);}return _0x4b1130['status'](_0x5d90d3)[_0x34b0('0x1f')]();};}function respondWithResult(_0x9b0932,_0x3a3352){_0x3a3352=_0x3a3352||0xc8;return function(_0x126291){if(_0x126291){return _0x9b0932['status'](_0x3a3352)[_0x34b0('0x20')](_0x126291);}};}function respondWithFilteredResult(_0x19f377,_0x396783){return function(_0x595acd){if(_0x595acd){var _0x427cd1=typeof _0x396783['offset']===_0x34b0('0x21')&&typeof _0x396783['limit']===_0x34b0('0x21');var _0x3984a8=_0x595acd[_0x34b0('0x22')];var _0x4a03c4=_0x427cd1?0x0:_0x396783[_0x34b0('0x23')];var _0x4db9f3=_0x427cd1?_0x595acd[_0x34b0('0x22')]:_0x396783['offset']+_0x396783['limit'];var _0x243f75;if(_0x4db9f3>=_0x3984a8){_0x4db9f3=_0x3984a8;_0x243f75=0xc8;}else{_0x243f75=0xce;}_0x19f377[_0x34b0('0x24')](_0x243f75);return _0x19f377[_0x34b0('0x25')](_0x34b0('0x26'),_0x4a03c4+'-'+_0x4db9f3+'/'+_0x3984a8)['json'](_0x595acd);}return null;};}function patchUpdates(_0x2d8a39){return function(_0x2e62d6){try{jsonpatch[_0x34b0('0x27')](_0x2e62d6,_0x2d8a39,!![]);}catch(_0x4e369d){return BPromise['reject'](_0x4e369d);}return _0x2e62d6[_0x34b0('0x28')]();};}function saveUpdates(_0x5e31f7,_0x4ccd07){return function(_0x56a95b){if(_0x56a95b){return _0x56a95b['update'](_0x5e31f7)[_0x34b0('0x29')](function(_0x590441){return _0x590441;});}return null;};}function removeEntity(_0x46ef94,_0xb41444){return function(_0x505572){if(_0x505572){return _0x505572[_0x34b0('0x2a')]()[_0x34b0('0x29')](function(){_0x46ef94[_0x34b0('0x24')](0xcc)[_0x34b0('0x1f')]();});}};}function handleEntityNotFound(_0x769de6,_0x34e06e){return function(_0x4c45e7){if(!_0x4c45e7){_0x769de6[_0x34b0('0x1e')](0x194);}return _0x4c45e7;};}function handleError(_0x3905cb,_0x1124f4){_0x1124f4=_0x1124f4||0x1f4;return function(_0x437ba6){logger[_0x34b0('0x2b')](_0x437ba6[_0x34b0('0x2c')]);if(_0x437ba6[_0x34b0('0x2d')]){delete _0x437ba6['name'];}_0x3905cb[_0x34b0('0x24')](_0x1124f4)[_0x34b0('0x2e')](_0x437ba6);};}exports[_0x34b0('0x2f')]=function(_0x385184,_0x54d660){var _0x493455={},_0x5a2053={},_0x592a95={'count':0x0,'rows':[]};var _0x12d0f7=_[_0x34b0('0x30')](db[_0x34b0('0x31')][_0x34b0('0x32')],function(_0x22fa99){return{'name':_0x22fa99[_0x34b0('0x33')],'type':_0x22fa99['type']['key']};});_0x5a2053[_0x34b0('0x34')]=_['map'](_0x12d0f7,_0x34b0('0x2d'));_0x5a2053[_0x34b0('0x35')]=_[_0x34b0('0x36')](_0x385184['query']);_0x5a2053['filters']=_['intersection'](_0x5a2053[_0x34b0('0x34')],_0x5a2053[_0x34b0('0x35')]);_0x493455[_0x34b0('0x37')]=_[_0x34b0('0x38')](_0x5a2053[_0x34b0('0x34')],qs[_0x34b0('0x39')](_0x385184[_0x34b0('0x35')]['fields']));_0x493455['attributes']=_0x493455[_0x34b0('0x37')][_0x34b0('0x3a')]?_0x493455[_0x34b0('0x37')]:_0x5a2053[_0x34b0('0x34')];if(!_0x385184[_0x34b0('0x35')][_0x34b0('0x3b')]('nolimit')){_0x493455[_0x34b0('0x3c')]=qs[_0x34b0('0x3c')](_0x385184['query']['limit']);_0x493455[_0x34b0('0x23')]=qs[_0x34b0('0x23')](_0x385184[_0x34b0('0x35')][_0x34b0('0x23')]);}_0x493455[_0x34b0('0x3d')]=qs[_0x34b0('0x3e')](_0x385184[_0x34b0('0x35')][_0x34b0('0x3e')]);_0x493455['where']=qs[_0x34b0('0x3f')](_[_0x34b0('0x40')](_0x385184[_0x34b0('0x35')],_0x5a2053['filters']),_0x12d0f7);if(_0x385184[_0x34b0('0x35')][_0x34b0('0x41')]){_0x493455[_0x34b0('0x42')]=_[_0x34b0('0x43')](_0x493455[_0x34b0('0x42')],{'$or':_[_0x34b0('0x30')](_0x12d0f7,function(_0x4abd7a){if(_0x4abd7a[_0x34b0('0x44')]!==_0x34b0('0x45')){var _0x2eaf9c={};_0x2eaf9c[_0x4abd7a[_0x34b0('0x2d')]]={'$like':'%'+_0x385184[_0x34b0('0x35')][_0x34b0('0x41')]+'%'};return _0x2eaf9c;}})});}_0x493455=_[_0x34b0('0x43')]({},_0x493455,_0x385184[_0x34b0('0x46')]);var _0xa0bb73={'where':_0x493455['where']};return db[_0x34b0('0x31')][_0x34b0('0x22')](_0xa0bb73)[_0x34b0('0x29')](function(_0xda6755){_0x592a95[_0x34b0('0x22')]=_0xda6755;if(_0x385184[_0x34b0('0x35')]['includeAll']){_0x493455[_0x34b0('0x47')]=[{'all':!![]}];}return db[_0x34b0('0x31')][_0x34b0('0x48')](_0x493455);})[_0x34b0('0x29')](function(_0x3dc8cc){_0x592a95[_0x34b0('0x49')]=_0x3dc8cc;return _0x592a95;})[_0x34b0('0x29')](respondWithFilteredResult(_0x54d660,_0x493455))[_0x34b0('0x4a')](handleError(_0x54d660,null));};exports[_0x34b0('0x4b')]=function(_0x356d02,_0x2875cb){var _0x114421={'raw':![],'where':{'id':_0x356d02['params']['id']}},_0x44f42a={};_0x44f42a[_0x34b0('0x34')]=_[_0x34b0('0x36')](db[_0x34b0('0x31')]['rawAttributes']);_0x44f42a[_0x34b0('0x35')]=_[_0x34b0('0x36')](_0x356d02['query']);_0x44f42a[_0x34b0('0x3f')]=_[_0x34b0('0x38')](_0x44f42a[_0x34b0('0x34')],_0x44f42a[_0x34b0('0x35')]);_0x114421[_0x34b0('0x37')]=_['intersection'](_0x44f42a['model'],qs[_0x34b0('0x39')](_0x356d02[_0x34b0('0x35')]['fields']));_0x114421[_0x34b0('0x37')]=_0x114421[_0x34b0('0x37')]['length']?_0x114421[_0x34b0('0x37')]:_0x44f42a[_0x34b0('0x34')];if(_0x356d02['query'][_0x34b0('0x4c')]){_0x114421[_0x34b0('0x47')]=[{'all':!![]}];}_0x114421=_['merge']({},_0x114421,_0x356d02[_0x34b0('0x46')]);return db[_0x34b0('0x31')][_0x34b0('0x4d')](_0x114421)['then'](handleEntityNotFound(_0x2875cb,null))[_0x34b0('0x29')](respondWithResult(_0x2875cb,null))[_0x34b0('0x4a')](handleError(_0x2875cb,null));};exports[_0x34b0('0x4e')]=function(_0x2eb27f,_0x197be2){return db[_0x34b0('0x31')][_0x34b0('0x4e')](_0x2eb27f['body'],{})[_0x34b0('0x29')](respondWithResult(_0x197be2,0xc9))[_0x34b0('0x4a')](handleError(_0x197be2,null));};exports['update']=function(_0x56431a,_0x39f7c1){if(_0x56431a[_0x34b0('0x4f')]['id']){delete _0x56431a['body']['id'];}return db[_0x34b0('0x31')][_0x34b0('0x4d')]({'where':{'id':_0x56431a['params']['id']}})[_0x34b0('0x29')](handleEntityNotFound(_0x39f7c1,null))[_0x34b0('0x29')](saveUpdates(_0x56431a[_0x34b0('0x4f')],null))[_0x34b0('0x29')](respondWithResult(_0x39f7c1,null))[_0x34b0('0x4a')](handleError(_0x39f7c1,null));};exports['destroy']=function(_0x13658a,_0x3c8089){return db['VoiceQueueReport'][_0x34b0('0x4d')]({'where':{'id':_0x13658a[_0x34b0('0x50')]['id']}})[_0x34b0('0x29')](handleEntityNotFound(_0x3c8089,null))['then'](removeEntity(_0x3c8089,null))[_0x34b0('0x4a')](handleError(_0x3c8089,null));};exports[_0x34b0('0x51')]=function(_0x37fc20,_0x379c8e){return db[_0x34b0('0x31')]['describe']()[_0x34b0('0x29')](respondWithResult(_0x379c8e,null))[_0x34b0('0x4a')](handleError(_0x379c8e,null));};exports[_0x34b0('0x52')]=function(_0x45ec17,_0xaf904f){var _0x45cb2c={},_0x457cba={},_0x48a9e3={'count':0x0,'rows':[]};_0x457cba[_0x34b0('0x34')]=_[_0x34b0('0x36')](db[_0x34b0('0x31')][_0x34b0('0x32')]);_0x457cba[_0x34b0('0x35')]=_['keys'](_0x45ec17['query']);_0x457cba[_0x34b0('0x3f')]=_['intersection'](_0x457cba[_0x34b0('0x34')],_0x457cba['query']);_0x45cb2c[_0x34b0('0x37')]=_['intersection'](_0x457cba[_0x34b0('0x34')],qs[_0x34b0('0x39')](_0x45ec17['query'][_0x34b0('0x39')]));_0x45cb2c[_0x34b0('0x37')]=_0x45cb2c[_0x34b0('0x37')]['length']?_0x45cb2c[_0x34b0('0x37')]:_0x457cba[_0x34b0('0x34')];if(!_0x45ec17[_0x34b0('0x35')][_0x34b0('0x3b')]('nolimit')){_0x45cb2c[_0x34b0('0x3c')]=qs['limit'](_0x45ec17['query'][_0x34b0('0x3c')]);_0x45cb2c['offset']=qs['offset'](_0x45ec17['query'][_0x34b0('0x23')]);}_0x45cb2c[_0x34b0('0x3d')]=qs['sort'](_0x45ec17[_0x34b0('0x35')]['sort']);_0x45cb2c[_0x34b0('0x42')]=qs[_0x34b0('0x3f')](_[_0x34b0('0x40')](_0x45ec17[_0x34b0('0x35')],_0x457cba[_0x34b0('0x3f')]));if(_0x45ec17[_0x34b0('0x35')]['filter']){_0x45cb2c['where']=_[_0x34b0('0x43')](_0x45cb2c[_0x34b0('0x42')],{'$or':_[_0x34b0('0x30')](_0x45cb2c[_0x34b0('0x37')],function(_0x23d261){var _0x3d09bd={};_0x3d09bd[_0x23d261]={'$like':'%'+_0x45ec17[_0x34b0('0x35')][_0x34b0('0x41')]+'%'};return _0x3d09bd;})});}_0x45cb2c=_[_0x34b0('0x43')]({},_0x45cb2c,_0x45ec17[_0x34b0('0x46')]);var _0x445c05={'where':_0x45cb2c[_0x34b0('0x42')]};return db['VoiceQueueReport'][_0x34b0('0x22')](_0x445c05)[_0x34b0('0x29')](function(_0x2ed8cf){_0x48a9e3[_0x34b0('0x22')]=_0x2ed8cf;if(_0x45ec17['query'][_0x34b0('0x4c')]){_0x45cb2c[_0x34b0('0x47')]=[{'all':!![]}];}return db[_0x34b0('0x31')][_0x34b0('0x48')](_0x45cb2c);})[_0x34b0('0x29')](function(_0x551902){_0x48a9e3[_0x34b0('0x49')]=_0x551902;return _0x48a9e3;})[_0x34b0('0x29')](respondWithFilteredResult(_0xaf904f,_0x45cb2c,_0x34b0('0x52')))[_0x34b0('0x4a')](handleError(_0xaf904f,null,_0x34b0('0x52')));};