Built motion from commit b0a9a629.|2.6.33
[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 _0x9902=['include','findAll','eml-format','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','register','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','VoiceQueueReport','rows','catch','show','find','create','body','update','params'];(function(_0x378720,_0xa711f1){var _0x47920a=function(_0xc5056){while(--_0xc5056){_0x378720['push'](_0x378720['shift']());}};_0x47920a(++_0xa711f1);}(_0x9902,0xfb));var _0x2990=function(_0x19e35c,_0x29cd1e){_0x19e35c=_0x19e35c-0x0;var _0x3e1fe8=_0x9902[_0x19e35c];return _0x3e1fe8;};'use strict';var emlformat=require(_0x2990('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x2990('0x1'));var rp=require('request-promise');var moment=require(_0x2990('0x2'));var BPromise=require(_0x2990('0x3'));var Mustache=require(_0x2990('0x4'));var util=require(_0x2990('0x5'));var path=require(_0x2990('0x6'));var sox=require(_0x2990('0x7'));var csv=require('to-csv');var ejs=require(_0x2990('0x8'));var fs=require('fs');var fs_extra=require(_0x2990('0x9'));var _=require(_0x2990('0xa'));var squel=require('squel');var crypto=require(_0x2990('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x2990('0xc'));var toCsv=require(_0x2990('0xd'));var querystring=require(_0x2990('0xe'));var Papa=require(_0x2990('0xf'));var Redis=require(_0x2990('0x10'));var authService=require(_0x2990('0x11'));var qs=require(_0x2990('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2990('0x13'));var logger=require(_0x2990('0x14'))('api');var utils=require(_0x2990('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x2990('0x16'));var db=require('../../mysqldb')['db'];config[_0x2990('0x17')]=_[_0x2990('0x18')](config[_0x2990('0x17')],{'host':_0x2990('0x19'),'port':0x18eb});var socket=require(_0x2990('0x1a'))(new Redis(config[_0x2990('0x17')]));require(_0x2990('0x1b'))[_0x2990('0x1c')](socket);function respondWithStatusCode(_0xbbaca0,_0x40af8b){_0x40af8b=_0x40af8b||0xcc;return function(_0x3e2efd){if(_0x3e2efd){return _0xbbaca0['sendStatus'](_0x40af8b);}return _0xbbaca0[_0x2990('0x1d')](_0x40af8b)[_0x2990('0x1e')]();};}function respondWithResult(_0x1a300c,_0x499dc0){_0x499dc0=_0x499dc0||0xc8;return function(_0x1ed9a7){if(_0x1ed9a7){return _0x1a300c['status'](_0x499dc0)[_0x2990('0x1f')](_0x1ed9a7);}};}function respondWithFilteredResult(_0x1e256f,_0x2b9e30){return function(_0x481c7b){if(_0x481c7b){var _0x376310=typeof _0x2b9e30[_0x2990('0x20')]==='undefined'&&typeof _0x2b9e30[_0x2990('0x21')]===_0x2990('0x22');var _0x44e422=_0x481c7b[_0x2990('0x23')];var _0x5a256b=_0x376310?0x0:_0x2b9e30[_0x2990('0x20')];var _0x25e36a=_0x376310?_0x481c7b[_0x2990('0x23')]:_0x2b9e30[_0x2990('0x20')]+_0x2b9e30[_0x2990('0x21')];var _0x45743b;if(_0x25e36a>=_0x44e422){_0x25e36a=_0x44e422;_0x45743b=0xc8;}else{_0x45743b=0xce;}_0x1e256f[_0x2990('0x1d')](_0x45743b);return _0x1e256f[_0x2990('0x24')](_0x2990('0x25'),_0x5a256b+'-'+_0x25e36a+'/'+_0x44e422)[_0x2990('0x1f')](_0x481c7b);}return null;};}function patchUpdates(_0x9f222){return function(_0x47bbe1){try{jsonpatch[_0x2990('0x26')](_0x47bbe1,_0x9f222,!![]);}catch(_0x29bcb5){return BPromise[_0x2990('0x27')](_0x29bcb5);}return _0x47bbe1[_0x2990('0x28')]();};}function saveUpdates(_0x11c1eb,_0x404673){return function(_0x5555ed){if(_0x5555ed){return _0x5555ed['update'](_0x11c1eb)[_0x2990('0x29')](function(_0x36ca15){return _0x36ca15;});}return null;};}function removeEntity(_0x266df1,_0x2a8197){return function(_0xaecd3b){if(_0xaecd3b){return _0xaecd3b[_0x2990('0x2a')]()[_0x2990('0x29')](function(){_0x266df1[_0x2990('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1f7fc4,_0x5e814f){return function(_0x2636fe){if(!_0x2636fe){_0x1f7fc4[_0x2990('0x2b')](0x194);}return _0x2636fe;};}function handleError(_0x10d40a,_0x3f30ed){_0x3f30ed=_0x3f30ed||0x1f4;return function(_0x4b49af){logger[_0x2990('0x2c')](_0x4b49af['stack']);if(_0x4b49af['name']){delete _0x4b49af[_0x2990('0x2d')];}_0x10d40a[_0x2990('0x1d')](_0x3f30ed)[_0x2990('0x2e')](_0x4b49af);};}exports[_0x2990('0x2f')]=function(_0x409fe0,_0x3f9af6){var _0x1a9325={},_0xb22e56={},_0x310dd3={'count':0x0,'rows':[]};var _0x1e96d7=_[_0x2990('0x30')](db['VoiceQueueReport'][_0x2990('0x31')],function(_0x1fd97a){return{'name':_0x1fd97a[_0x2990('0x32')],'type':_0x1fd97a[_0x2990('0x33')][_0x2990('0x34')]};});_0xb22e56[_0x2990('0x35')]=_[_0x2990('0x30')](_0x1e96d7,'name');_0xb22e56[_0x2990('0x36')]=_[_0x2990('0x37')](_0x409fe0['query']);_0xb22e56[_0x2990('0x38')]=_[_0x2990('0x39')](_0xb22e56[_0x2990('0x35')],_0xb22e56['query']);_0x1a9325[_0x2990('0x3a')]=_[_0x2990('0x39')](_0xb22e56['model'],qs[_0x2990('0x3b')](_0x409fe0['query'][_0x2990('0x3b')]));_0x1a9325[_0x2990('0x3a')]=_0x1a9325[_0x2990('0x3a')][_0x2990('0x3c')]?_0x1a9325[_0x2990('0x3a')]:_0xb22e56[_0x2990('0x35')];if(!_0x409fe0[_0x2990('0x36')][_0x2990('0x3d')](_0x2990('0x3e'))){_0x1a9325['limit']=qs[_0x2990('0x21')](_0x409fe0[_0x2990('0x36')][_0x2990('0x21')]);_0x1a9325[_0x2990('0x20')]=qs['offset'](_0x409fe0[_0x2990('0x36')]['offset']);}_0x1a9325[_0x2990('0x3f')]=qs[_0x2990('0x40')](_0x409fe0[_0x2990('0x36')][_0x2990('0x40')]);_0x1a9325[_0x2990('0x41')]=qs[_0x2990('0x38')](_[_0x2990('0x42')](_0x409fe0[_0x2990('0x36')],_0xb22e56['filters']),_0x1e96d7);if(_0x409fe0[_0x2990('0x36')][_0x2990('0x43')]){_0x1a9325[_0x2990('0x41')]=_[_0x2990('0x44')](_0x1a9325[_0x2990('0x41')],{'$or':_[_0x2990('0x30')](_0x1e96d7,function(_0x3dc31f){if(_0x3dc31f[_0x2990('0x33')]!==_0x2990('0x45')){var _0x1c2e07={};_0x1c2e07[_0x3dc31f[_0x2990('0x2d')]]={'$like':'%'+_0x409fe0[_0x2990('0x36')][_0x2990('0x43')]+'%'};return _0x1c2e07;}})});}_0x1a9325=_[_0x2990('0x44')]({},_0x1a9325,_0x409fe0[_0x2990('0x46')]);var _0x17d390={'where':_0x1a9325['where']};return db['VoiceQueueReport'][_0x2990('0x23')](_0x17d390)[_0x2990('0x29')](function(_0x3d7147){_0x310dd3[_0x2990('0x23')]=_0x3d7147;if(_0x409fe0[_0x2990('0x36')][_0x2990('0x47')]){_0x1a9325['include']=[{'all':!![]}];}return db[_0x2990('0x48')]['findAll'](_0x1a9325);})['then'](function(_0x281f66){_0x310dd3[_0x2990('0x49')]=_0x281f66;return _0x310dd3;})[_0x2990('0x29')](respondWithFilteredResult(_0x3f9af6,_0x1a9325))[_0x2990('0x4a')](handleError(_0x3f9af6,null));};exports[_0x2990('0x4b')]=function(_0x4bd575,_0x1c086d){var _0x2dcee1={'raw':![],'where':{'id':_0x4bd575['params']['id']}},_0x469b31={};_0x469b31[_0x2990('0x35')]=_[_0x2990('0x37')](db[_0x2990('0x48')][_0x2990('0x31')]);_0x469b31[_0x2990('0x36')]=_[_0x2990('0x37')](_0x4bd575[_0x2990('0x36')]);_0x469b31[_0x2990('0x38')]=_['intersection'](_0x469b31[_0x2990('0x35')],_0x469b31[_0x2990('0x36')]);_0x2dcee1['attributes']=_[_0x2990('0x39')](_0x469b31[_0x2990('0x35')],qs['fields'](_0x4bd575[_0x2990('0x36')][_0x2990('0x3b')]));_0x2dcee1['attributes']=_0x2dcee1['attributes'][_0x2990('0x3c')]?_0x2dcee1[_0x2990('0x3a')]:_0x469b31['model'];if(_0x4bd575[_0x2990('0x36')]['includeAll']){_0x2dcee1['include']=[{'all':!![]}];}_0x2dcee1=_[_0x2990('0x44')]({},_0x2dcee1,_0x4bd575[_0x2990('0x46')]);return db[_0x2990('0x48')][_0x2990('0x4c')](_0x2dcee1)[_0x2990('0x29')](handleEntityNotFound(_0x1c086d,null))[_0x2990('0x29')](respondWithResult(_0x1c086d,null))[_0x2990('0x4a')](handleError(_0x1c086d,null));};exports[_0x2990('0x4d')]=function(_0x568b02,_0x2ed08e){return db[_0x2990('0x48')][_0x2990('0x4d')](_0x568b02[_0x2990('0x4e')],{})[_0x2990('0x29')](respondWithResult(_0x2ed08e,0xc9))['catch'](handleError(_0x2ed08e,null));};exports[_0x2990('0x4f')]=function(_0x5ef8ee,_0xa584a0){if(_0x5ef8ee['body']['id']){delete _0x5ef8ee['body']['id'];}return db[_0x2990('0x48')][_0x2990('0x4c')]({'where':{'id':_0x5ef8ee[_0x2990('0x50')]['id']}})[_0x2990('0x29')](handleEntityNotFound(_0xa584a0,null))[_0x2990('0x29')](saveUpdates(_0x5ef8ee['body'],null))['then'](respondWithResult(_0xa584a0,null))['catch'](handleError(_0xa584a0,null));};exports['destroy']=function(_0x5512a6,_0x5bfbe5){return db[_0x2990('0x48')][_0x2990('0x4c')]({'where':{'id':_0x5512a6['params']['id']}})['then'](handleEntityNotFound(_0x5bfbe5,null))[_0x2990('0x29')](removeEntity(_0x5bfbe5,null))[_0x2990('0x4a')](handleError(_0x5bfbe5,null));};exports['describe']=function(_0xf226d1,_0x2428e4){return db[_0x2990('0x48')]['describe']()[_0x2990('0x29')](respondWithResult(_0x2428e4,null))[_0x2990('0x4a')](handleError(_0x2428e4,null));};exports['getVoiceQueuesReport']=function(_0x5ac09a,_0x3af0fc){var _0x327822={},_0x13d0be={},_0x3725fd={'count':0x0,'rows':[]};_0x13d0be[_0x2990('0x35')]=_[_0x2990('0x37')](db[_0x2990('0x48')][_0x2990('0x31')]);_0x13d0be[_0x2990('0x36')]=_[_0x2990('0x37')](_0x5ac09a['query']);_0x13d0be[_0x2990('0x38')]=_[_0x2990('0x39')](_0x13d0be[_0x2990('0x35')],_0x13d0be[_0x2990('0x36')]);_0x327822['attributes']=_[_0x2990('0x39')](_0x13d0be['model'],qs[_0x2990('0x3b')](_0x5ac09a['query']['fields']));_0x327822[_0x2990('0x3a')]=_0x327822[_0x2990('0x3a')][_0x2990('0x3c')]?_0x327822[_0x2990('0x3a')]:_0x13d0be[_0x2990('0x35')];if(!_0x5ac09a['query'][_0x2990('0x3d')]('nolimit')){_0x327822[_0x2990('0x21')]=qs[_0x2990('0x21')](_0x5ac09a['query'][_0x2990('0x21')]);_0x327822['offset']=qs[_0x2990('0x20')](_0x5ac09a[_0x2990('0x36')][_0x2990('0x20')]);}_0x327822['order']=qs[_0x2990('0x40')](_0x5ac09a[_0x2990('0x36')]['sort']);_0x327822[_0x2990('0x41')]=qs[_0x2990('0x38')](_[_0x2990('0x42')](_0x5ac09a['query'],_0x13d0be[_0x2990('0x38')]));if(_0x5ac09a[_0x2990('0x36')][_0x2990('0x43')]){_0x327822[_0x2990('0x41')]=_['merge'](_0x327822['where'],{'$or':_['map'](_0x327822[_0x2990('0x3a')],function(_0x154ec8){var _0x12ba40={};_0x12ba40[_0x154ec8]={'$like':'%'+_0x5ac09a[_0x2990('0x36')]['filter']+'%'};return _0x12ba40;})});}_0x327822=_[_0x2990('0x44')]({},_0x327822,_0x5ac09a['options']);var _0x42d7c4={'where':_0x327822[_0x2990('0x41')]};return db[_0x2990('0x48')]['count'](_0x42d7c4)[_0x2990('0x29')](function(_0x43c032){_0x3725fd[_0x2990('0x23')]=_0x43c032;if(_0x5ac09a['query'][_0x2990('0x47')]){_0x327822[_0x2990('0x51')]=[{'all':!![]}];}return db[_0x2990('0x48')][_0x2990('0x52')](_0x327822);})['then'](function(_0x113ba9){_0x3725fd[_0x2990('0x49')]=_0x113ba9;return _0x3725fd;})['then'](respondWithFilteredResult(_0x3af0fc,_0x327822,'getVoiceQueuesReport'))[_0x2990('0x4a')](handleError(_0x3af0fc,null,'getVoiceQueuesReport'));};