Built motion from commit 5ae82ce5.|2.6.7
[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 _0x9877=['redis','localhost','socket.io-emitter','./voiceQueueReport.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','error','name','send','index','map','VoiceQueueReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','filter','merge','VIRTUAL','includeAll','include','rows','show','params','options','find','catch','create','body','destroy','describe','getVoiceQueuesReport','sort','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x9877,0x139));var _0x7987=function(_0x45d4a0,_0x364983){_0x45d4a0=_0x45d4a0-0x0;var _0x5db710=_0x9877[_0x45d4a0];return _0x5db710;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7987('0x0'));var zipdir=require(_0x7987('0x1'));var jsonpatch=require(_0x7987('0x2'));var rp=require('request-promise');var moment=require(_0x7987('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x7987('0x4'));var util=require(_0x7987('0x5'));var path=require(_0x7987('0x6'));var sox=require(_0x7987('0x7'));var csv=require(_0x7987('0x8'));var ejs=require(_0x7987('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7987('0xa'));var squel=require(_0x7987('0xb'));var crypto=require(_0x7987('0xc'));var jsforce=require(_0x7987('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7987('0x8'));var querystring=require(_0x7987('0xe'));var Papa=require(_0x7987('0xf'));var Redis=require(_0x7987('0x10'));var authService=require(_0x7987('0x11'));var qs=require(_0x7987('0x12'));var as=require(_0x7987('0x13'));var hardwareService=require(_0x7987('0x14'));var logger=require(_0x7987('0x15'))(_0x7987('0x16'));var utils=require(_0x7987('0x17'));var config=require(_0x7987('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x7987('0x19'))['db'];config['redis']=_[_0x7987('0x1a')](config[_0x7987('0x1b')],{'host':_0x7987('0x1c'),'port':0x18eb});var socket=require(_0x7987('0x1d'))(new Redis(config['redis']));require(_0x7987('0x1e'))[_0x7987('0x1f')](socket);function respondWithStatusCode(_0xbe48f6,_0x149963){_0x149963=_0x149963||0xcc;return function(_0x592931){if(_0x592931){return _0xbe48f6[_0x7987('0x20')](_0x149963);}return _0xbe48f6[_0x7987('0x21')](_0x149963)['end']();};}function respondWithResult(_0x409464,_0x37019a){_0x37019a=_0x37019a||0xc8;return function(_0x18f0c){if(_0x18f0c){return _0x409464[_0x7987('0x21')](_0x37019a)[_0x7987('0x22')](_0x18f0c);}};}function respondWithFilteredResult(_0x5ec933,_0xa4f5e6){return function(_0x32b418){if(_0x32b418){var _0x2edfcf=typeof _0xa4f5e6[_0x7987('0x23')]===_0x7987('0x24')&&typeof _0xa4f5e6['limit']===_0x7987('0x24');var _0x438ad0=_0x32b418[_0x7987('0x25')];var _0x4afb0b=_0x2edfcf?0x0:_0xa4f5e6[_0x7987('0x23')];var _0x311093=_0x2edfcf?_0x32b418[_0x7987('0x25')]:_0xa4f5e6[_0x7987('0x23')]+_0xa4f5e6[_0x7987('0x26')];var _0x3955d0;if(_0x311093>=_0x438ad0){_0x311093=_0x438ad0;_0x3955d0=0xc8;}else{_0x3955d0=0xce;}_0x5ec933[_0x7987('0x21')](_0x3955d0);return _0x5ec933[_0x7987('0x27')](_0x7987('0x28'),_0x4afb0b+'-'+_0x311093+'/'+_0x438ad0)[_0x7987('0x22')](_0x32b418);}return null;};}function patchUpdates(_0x30fdea){return function(_0x10fe79){try{jsonpatch[_0x7987('0x29')](_0x10fe79,_0x30fdea,!![]);}catch(_0x47b70d){return BPromise[_0x7987('0x2a')](_0x47b70d);}return _0x10fe79[_0x7987('0x2b')]();};}function saveUpdates(_0x43a8aa,_0x399dc2){return function(_0x504e89){if(_0x504e89){return _0x504e89[_0x7987('0x2c')](_0x43a8aa)[_0x7987('0x2d')](function(_0x1d6f47){return _0x1d6f47;});}return null;};}function removeEntity(_0x4b60fc,_0x38ab95){return function(_0x58c3a2){if(_0x58c3a2){return _0x58c3a2['destroy']()[_0x7987('0x2d')](function(){_0x4b60fc[_0x7987('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe269ab,_0x3d8e9e){return function(_0x29934e){if(!_0x29934e){_0xe269ab[_0x7987('0x20')](0x194);}return _0x29934e;};}function handleError(_0x344b2a,_0x1e034b){_0x1e034b=_0x1e034b||0x1f4;return function(_0x49b5cb){logger[_0x7987('0x2e')](_0x49b5cb['stack']);if(_0x49b5cb[_0x7987('0x2f')]){delete _0x49b5cb['name'];}_0x344b2a[_0x7987('0x21')](_0x1e034b)[_0x7987('0x30')](_0x49b5cb);};}exports[_0x7987('0x31')]=function(_0x25e212,_0x23c36f){var _0x463f62={},_0x11900c={},_0x13ca4d={'count':0x0,'rows':[]};var _0x4b6f9c=_[_0x7987('0x32')](db[_0x7987('0x33')][_0x7987('0x34')],function(_0x377d1d){return{'name':_0x377d1d[_0x7987('0x35')],'type':_0x377d1d[_0x7987('0x36')][_0x7987('0x37')]};});_0x11900c[_0x7987('0x38')]=_[_0x7987('0x32')](_0x4b6f9c,_0x7987('0x2f'));_0x11900c[_0x7987('0x39')]=_[_0x7987('0x3a')](_0x25e212[_0x7987('0x39')]);_0x11900c[_0x7987('0x3b')]=_[_0x7987('0x3c')](_0x11900c[_0x7987('0x38')],_0x11900c[_0x7987('0x39')]);_0x463f62['attributes']=_[_0x7987('0x3c')](_0x11900c[_0x7987('0x38')],qs[_0x7987('0x3d')](_0x25e212[_0x7987('0x39')][_0x7987('0x3d')]));_0x463f62[_0x7987('0x3e')]=_0x463f62[_0x7987('0x3e')][_0x7987('0x3f')]?_0x463f62[_0x7987('0x3e')]:_0x11900c[_0x7987('0x38')];if(!_0x25e212[_0x7987('0x39')][_0x7987('0x40')](_0x7987('0x41'))){_0x463f62[_0x7987('0x26')]=qs['limit'](_0x25e212['query'][_0x7987('0x26')]);_0x463f62[_0x7987('0x23')]=qs['offset'](_0x25e212['query'][_0x7987('0x23')]);}_0x463f62[_0x7987('0x42')]=qs['sort'](_0x25e212['query']['sort']);_0x463f62[_0x7987('0x43')]=qs[_0x7987('0x3b')](_['pick'](_0x25e212[_0x7987('0x39')],_0x11900c[_0x7987('0x3b')]),_0x4b6f9c);if(_0x25e212['query'][_0x7987('0x44')]){_0x463f62[_0x7987('0x43')]=_[_0x7987('0x45')](_0x463f62['where'],{'$or':_['map'](_0x4b6f9c,function(_0x207069){if(_0x207069[_0x7987('0x36')]!==_0x7987('0x46')){var _0x4fbdce={};_0x4fbdce[_0x207069[_0x7987('0x2f')]]={'$like':'%'+_0x25e212['query'][_0x7987('0x44')]+'%'};return _0x4fbdce;}})});}_0x463f62=_[_0x7987('0x45')]({},_0x463f62,_0x25e212['options']);var _0x44d1ff={'where':_0x463f62[_0x7987('0x43')]};return db[_0x7987('0x33')][_0x7987('0x25')](_0x44d1ff)[_0x7987('0x2d')](function(_0xfa08bd){_0x13ca4d[_0x7987('0x25')]=_0xfa08bd;if(_0x25e212['query'][_0x7987('0x47')]){_0x463f62[_0x7987('0x48')]=[{'all':!![]}];}return db['VoiceQueueReport']['findAll'](_0x463f62);})[_0x7987('0x2d')](function(_0x3da426){_0x13ca4d[_0x7987('0x49')]=_0x3da426;return _0x13ca4d;})['then'](respondWithFilteredResult(_0x23c36f,_0x463f62))['catch'](handleError(_0x23c36f,null));};exports[_0x7987('0x4a')]=function(_0x3da8b8,_0x5a70e4){var _0x213b7d={'raw':![],'where':{'id':_0x3da8b8[_0x7987('0x4b')]['id']}},_0x45fe5c={};_0x45fe5c[_0x7987('0x38')]=_[_0x7987('0x3a')](db[_0x7987('0x33')][_0x7987('0x34')]);_0x45fe5c['query']=_[_0x7987('0x3a')](_0x3da8b8[_0x7987('0x39')]);_0x45fe5c[_0x7987('0x3b')]=_['intersection'](_0x45fe5c[_0x7987('0x38')],_0x45fe5c[_0x7987('0x39')]);_0x213b7d[_0x7987('0x3e')]=_['intersection'](_0x45fe5c[_0x7987('0x38')],qs[_0x7987('0x3d')](_0x3da8b8[_0x7987('0x39')][_0x7987('0x3d')]));_0x213b7d[_0x7987('0x3e')]=_0x213b7d[_0x7987('0x3e')][_0x7987('0x3f')]?_0x213b7d[_0x7987('0x3e')]:_0x45fe5c[_0x7987('0x38')];if(_0x3da8b8['query'][_0x7987('0x47')]){_0x213b7d['include']=[{'all':!![]}];}_0x213b7d=_[_0x7987('0x45')]({},_0x213b7d,_0x3da8b8[_0x7987('0x4c')]);return db['VoiceQueueReport'][_0x7987('0x4d')](_0x213b7d)[_0x7987('0x2d')](handleEntityNotFound(_0x5a70e4,null))[_0x7987('0x2d')](respondWithResult(_0x5a70e4,null))[_0x7987('0x4e')](handleError(_0x5a70e4,null));};exports[_0x7987('0x4f')]=function(_0xc67fab,_0x4c47df){return db[_0x7987('0x33')][_0x7987('0x4f')](_0xc67fab['body'],{})['then'](respondWithResult(_0x4c47df,0xc9))[_0x7987('0x4e')](handleError(_0x4c47df,null));};exports['update']=function(_0x29c4d3,_0x2106f5){if(_0x29c4d3[_0x7987('0x50')]['id']){delete _0x29c4d3['body']['id'];}return db[_0x7987('0x33')]['find']({'where':{'id':_0x29c4d3[_0x7987('0x4b')]['id']}})[_0x7987('0x2d')](handleEntityNotFound(_0x2106f5,null))[_0x7987('0x2d')](saveUpdates(_0x29c4d3[_0x7987('0x50')],null))[_0x7987('0x2d')](respondWithResult(_0x2106f5,null))['catch'](handleError(_0x2106f5,null));};exports[_0x7987('0x51')]=function(_0x56ac8f,_0x50e0b5){return db[_0x7987('0x33')][_0x7987('0x4d')]({'where':{'id':_0x56ac8f[_0x7987('0x4b')]['id']}})[_0x7987('0x2d')](handleEntityNotFound(_0x50e0b5,null))['then'](removeEntity(_0x50e0b5,null))[_0x7987('0x4e')](handleError(_0x50e0b5,null));};exports['describe']=function(_0x5b90ce,_0x436221){return db[_0x7987('0x33')][_0x7987('0x52')]()[_0x7987('0x2d')](respondWithResult(_0x436221,null))[_0x7987('0x4e')](handleError(_0x436221,null));};exports[_0x7987('0x53')]=function(_0x2ba2ef,_0x3f53ae){var _0x10d426={},_0x3faf98={},_0x35681d={'count':0x0,'rows':[]};_0x3faf98[_0x7987('0x38')]=_[_0x7987('0x3a')](db[_0x7987('0x33')]['rawAttributes']);_0x3faf98[_0x7987('0x39')]=_['keys'](_0x2ba2ef[_0x7987('0x39')]);_0x3faf98[_0x7987('0x3b')]=_[_0x7987('0x3c')](_0x3faf98[_0x7987('0x38')],_0x3faf98[_0x7987('0x39')]);_0x10d426['attributes']=_['intersection'](_0x3faf98[_0x7987('0x38')],qs[_0x7987('0x3d')](_0x2ba2ef[_0x7987('0x39')][_0x7987('0x3d')]));_0x10d426['attributes']=_0x10d426[_0x7987('0x3e')][_0x7987('0x3f')]?_0x10d426[_0x7987('0x3e')]:_0x3faf98['model'];if(!_0x2ba2ef['query'][_0x7987('0x40')](_0x7987('0x41'))){_0x10d426[_0x7987('0x26')]=qs[_0x7987('0x26')](_0x2ba2ef[_0x7987('0x39')][_0x7987('0x26')]);_0x10d426[_0x7987('0x23')]=qs[_0x7987('0x23')](_0x2ba2ef[_0x7987('0x39')][_0x7987('0x23')]);}_0x10d426[_0x7987('0x42')]=qs[_0x7987('0x54')](_0x2ba2ef[_0x7987('0x39')][_0x7987('0x54')]);_0x10d426[_0x7987('0x43')]=qs[_0x7987('0x3b')](_['pick'](_0x2ba2ef['query'],_0x3faf98[_0x7987('0x3b')]));if(_0x2ba2ef[_0x7987('0x39')][_0x7987('0x44')]){_0x10d426[_0x7987('0x43')]=_['merge'](_0x10d426['where'],{'$or':_[_0x7987('0x32')](_0x10d426[_0x7987('0x3e')],function(_0x4b305d){var _0x5aae2c={};_0x5aae2c[_0x4b305d]={'$like':'%'+_0x2ba2ef[_0x7987('0x39')][_0x7987('0x44')]+'%'};return _0x5aae2c;})});}_0x10d426=_['merge']({},_0x10d426,_0x2ba2ef[_0x7987('0x4c')]);var _0x4a37f4={'where':_0x10d426[_0x7987('0x43')]};return db['VoiceQueueReport'][_0x7987('0x25')](_0x4a37f4)[_0x7987('0x2d')](function(_0x573f66){_0x35681d[_0x7987('0x25')]=_0x573f66;if(_0x2ba2ef[_0x7987('0x39')]['includeAll']){_0x10d426[_0x7987('0x48')]=[{'all':!![]}];}return db['VoiceQueueReport']['findAll'](_0x10d426);})[_0x7987('0x2d')](function(_0x50663b){_0x35681d[_0x7987('0x49')]=_0x50663b;return _0x35681d;})[_0x7987('0x2d')](respondWithFilteredResult(_0x3f53ae,_0x10d426,_0x7987('0x53')))[_0x7987('0x4e')](handleError(_0x3f53ae,null,'getVoiceQueuesReport'));};