Built motion from commit 753c950e.|2.5.42
[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 _0xfe6c=['where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','VoiceQueueReport','keys','includeAll','find','create','body','describe','getVoiceQueuesReport','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./voiceQueueReport.socket','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort'];(function(_0x15e58c,_0x116060){var _0x2ea890=function(_0xd0f0c4){while(--_0xd0f0c4){_0x15e58c['push'](_0x15e58c['shift']());}};_0x2ea890(++_0x116060);}(_0xfe6c,0x113));var _0xcfe6=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xfe6c[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xcfe6('0x0'));var rimraf=require(_0xcfe6('0x1'));var zipdir=require(_0xcfe6('0x2'));var jsonpatch=require(_0xcfe6('0x3'));var rp=require(_0xcfe6('0x4'));var moment=require(_0xcfe6('0x5'));var BPromise=require(_0xcfe6('0x6'));var Mustache=require(_0xcfe6('0x7'));var util=require(_0xcfe6('0x8'));var path=require(_0xcfe6('0x9'));var sox=require(_0xcfe6('0xa'));var csv=require(_0xcfe6('0xb'));var ejs=require(_0xcfe6('0xc'));var fs=require('fs');var fs_extra=require(_0xcfe6('0xd'));var _=require(_0xcfe6('0xe'));var squel=require(_0xcfe6('0xf'));var crypto=require(_0xcfe6('0x10'));var jsforce=require('jsforce');var deskjs=require(_0xcfe6('0x11'));var toCsv=require(_0xcfe6('0xb'));var querystring=require(_0xcfe6('0x12'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcfe6('0x13'));var as=require(_0xcfe6('0x14'));var hardwareService=require(_0xcfe6('0x15'));var logger=require(_0xcfe6('0x16'))(_0xcfe6('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xcfe6('0x18'))['db'];config['redis']=_[_0xcfe6('0x19')](config[_0xcfe6('0x1a')],{'host':_0xcfe6('0x1b'),'port':0x18eb});var socket=require(_0xcfe6('0x1c'))(new Redis(config[_0xcfe6('0x1a')]));require(_0xcfe6('0x1d'))['register'](socket);function respondWithStatusCode(_0x4be46c,_0x4a90fd){_0x4a90fd=_0x4a90fd||0xcc;return function(_0x294408){if(_0x294408){return _0x4be46c[_0xcfe6('0x1e')](_0x4a90fd);}return _0x4be46c[_0xcfe6('0x1f')](_0x4a90fd)[_0xcfe6('0x20')]();};}function respondWithResult(_0x52e0c6,_0x1e4388){_0x1e4388=_0x1e4388||0xc8;return function(_0x5db30d){if(_0x5db30d){return _0x52e0c6[_0xcfe6('0x1f')](_0x1e4388)[_0xcfe6('0x21')](_0x5db30d);}};}function respondWithFilteredResult(_0x4b12e9,_0x11e93a){return function(_0xa9411d){if(_0xa9411d){var _0x384467=typeof _0x11e93a['offset']===_0xcfe6('0x22')&&typeof _0x11e93a[_0xcfe6('0x23')]===_0xcfe6('0x22');var _0x25fb3d=_0xa9411d[_0xcfe6('0x24')];var _0x5ac063=_0x384467?0x0:_0x11e93a[_0xcfe6('0x25')];var _0x305809=_0x384467?_0xa9411d[_0xcfe6('0x24')]:_0x11e93a[_0xcfe6('0x25')]+_0x11e93a[_0xcfe6('0x23')];var _0x37a8d3;if(_0x305809>=_0x25fb3d){_0x305809=_0x25fb3d;_0x37a8d3=0xc8;}else{_0x37a8d3=0xce;}_0x4b12e9[_0xcfe6('0x1f')](_0x37a8d3);return _0x4b12e9[_0xcfe6('0x26')](_0xcfe6('0x27'),_0x5ac063+'-'+_0x305809+'/'+_0x25fb3d)['json'](_0xa9411d);}return null;};}function patchUpdates(_0x5ce5fb){return function(_0x5472dd){try{jsonpatch[_0xcfe6('0x28')](_0x5472dd,_0x5ce5fb,!![]);}catch(_0x73381e){return BPromise[_0xcfe6('0x29')](_0x73381e);}return _0x5472dd[_0xcfe6('0x2a')]();};}function saveUpdates(_0x4f7590,_0x4da8a3){return function(_0x425864){if(_0x425864){return _0x425864[_0xcfe6('0x2b')](_0x4f7590)[_0xcfe6('0x2c')](function(_0x54e2e5){return _0x54e2e5;});}return null;};}function removeEntity(_0x236569,_0x58e1f6){return function(_0x34fd09){if(_0x34fd09){return _0x34fd09[_0xcfe6('0x2d')]()[_0xcfe6('0x2c')](function(){_0x236569[_0xcfe6('0x1f')](0xcc)[_0xcfe6('0x20')]();});}};}function handleEntityNotFound(_0x5214a9,_0x342a6c){return function(_0x481f99){if(!_0x481f99){_0x5214a9[_0xcfe6('0x1e')](0x194);}return _0x481f99;};}function handleError(_0x49d4ba,_0x3eaf92){_0x3eaf92=_0x3eaf92||0x1f4;return function(_0x45c174){logger[_0xcfe6('0x2e')](_0x45c174[_0xcfe6('0x2f')]);if(_0x45c174[_0xcfe6('0x30')]){delete _0x45c174['name'];}_0x49d4ba[_0xcfe6('0x1f')](_0x3eaf92)[_0xcfe6('0x31')](_0x45c174);};}exports[_0xcfe6('0x32')]=function(_0x3c7998,_0x5798e2){var _0x433654={},_0x3d5127={},_0x48061e={'count':0x0,'rows':[]};var _0x3c9691=_[_0xcfe6('0x33')](db['VoiceQueueReport'][_0xcfe6('0x34')],function(_0x59fae7){return{'name':_0x59fae7['fieldName'],'type':_0x59fae7[_0xcfe6('0x35')][_0xcfe6('0x36')]};});_0x3d5127[_0xcfe6('0x37')]=_['map'](_0x3c9691,_0xcfe6('0x30'));_0x3d5127[_0xcfe6('0x38')]=_['keys'](_0x3c7998['query']);_0x3d5127[_0xcfe6('0x39')]=_[_0xcfe6('0x3a')](_0x3d5127[_0xcfe6('0x37')],_0x3d5127[_0xcfe6('0x38')]);_0x433654[_0xcfe6('0x3b')]=_['intersection'](_0x3d5127['model'],qs['fields'](_0x3c7998[_0xcfe6('0x38')][_0xcfe6('0x3c')]));_0x433654[_0xcfe6('0x3b')]=_0x433654[_0xcfe6('0x3b')][_0xcfe6('0x3d')]?_0x433654[_0xcfe6('0x3b')]:_0x3d5127[_0xcfe6('0x37')];if(!_0x3c7998[_0xcfe6('0x38')][_0xcfe6('0x3e')]('nolimit')){_0x433654[_0xcfe6('0x23')]=qs[_0xcfe6('0x23')](_0x3c7998[_0xcfe6('0x38')][_0xcfe6('0x23')]);_0x433654['offset']=qs[_0xcfe6('0x25')](_0x3c7998[_0xcfe6('0x38')]['offset']);}_0x433654[_0xcfe6('0x3f')]=qs[_0xcfe6('0x40')](_0x3c7998['query']['sort']);_0x433654[_0xcfe6('0x41')]=qs['filters'](_[_0xcfe6('0x42')](_0x3c7998['query'],_0x3d5127[_0xcfe6('0x39')]),_0x3c9691);if(_0x3c7998['query'][_0xcfe6('0x43')]){_0x433654[_0xcfe6('0x41')]=_[_0xcfe6('0x44')](_0x433654[_0xcfe6('0x41')],{'$or':_[_0xcfe6('0x33')](_0x3c9691,function(_0x30b954){if(_0x30b954[_0xcfe6('0x35')]!==_0xcfe6('0x45')){var _0x3f7072={};_0x3f7072[_0x30b954[_0xcfe6('0x30')]]={'$like':'%'+_0x3c7998[_0xcfe6('0x38')]['filter']+'%'};return _0x3f7072;}})});}_0x433654=_['merge']({},_0x433654,_0x3c7998[_0xcfe6('0x46')]);var _0x42fe0e={'where':_0x433654[_0xcfe6('0x41')]};return db['VoiceQueueReport']['count'](_0x42fe0e)['then'](function(_0x2a4b7a){_0x48061e['count']=_0x2a4b7a;if(_0x3c7998['query']['includeAll']){_0x433654[_0xcfe6('0x47')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0xcfe6('0x48')](_0x433654);})[_0xcfe6('0x2c')](function(_0xf6ae8){_0x48061e[_0xcfe6('0x49')]=_0xf6ae8;return _0x48061e;})[_0xcfe6('0x2c')](respondWithFilteredResult(_0x5798e2,_0x433654))[_0xcfe6('0x4a')](handleError(_0x5798e2,null));};exports['show']=function(_0x2dfa32,_0x54db55){var _0x5ae84c={'raw':![],'where':{'id':_0x2dfa32[_0xcfe6('0x4b')]['id']}},_0x73b22={};_0x73b22[_0xcfe6('0x37')]=_['keys'](db[_0xcfe6('0x4c')]['rawAttributes']);_0x73b22[_0xcfe6('0x38')]=_[_0xcfe6('0x4d')](_0x2dfa32[_0xcfe6('0x38')]);_0x73b22[_0xcfe6('0x39')]=_[_0xcfe6('0x3a')](_0x73b22[_0xcfe6('0x37')],_0x73b22['query']);_0x5ae84c['attributes']=_[_0xcfe6('0x3a')](_0x73b22[_0xcfe6('0x37')],qs['fields'](_0x2dfa32[_0xcfe6('0x38')][_0xcfe6('0x3c')]));_0x5ae84c['attributes']=_0x5ae84c[_0xcfe6('0x3b')]['length']?_0x5ae84c['attributes']:_0x73b22[_0xcfe6('0x37')];if(_0x2dfa32[_0xcfe6('0x38')][_0xcfe6('0x4e')]){_0x5ae84c[_0xcfe6('0x47')]=[{'all':!![]}];}_0x5ae84c=_[_0xcfe6('0x44')]({},_0x5ae84c,_0x2dfa32[_0xcfe6('0x46')]);return db[_0xcfe6('0x4c')][_0xcfe6('0x4f')](_0x5ae84c)[_0xcfe6('0x2c')](handleEntityNotFound(_0x54db55,null))[_0xcfe6('0x2c')](respondWithResult(_0x54db55,null))[_0xcfe6('0x4a')](handleError(_0x54db55,null));};exports['create']=function(_0x925adc,_0x284925){return db[_0xcfe6('0x4c')][_0xcfe6('0x50')](_0x925adc[_0xcfe6('0x51')],{})[_0xcfe6('0x2c')](respondWithResult(_0x284925,0xc9))[_0xcfe6('0x4a')](handleError(_0x284925,null));};exports[_0xcfe6('0x2b')]=function(_0x11653e,_0x46f1fa){if(_0x11653e['body']['id']){delete _0x11653e[_0xcfe6('0x51')]['id'];}return db[_0xcfe6('0x4c')][_0xcfe6('0x4f')]({'where':{'id':_0x11653e['params']['id']}})[_0xcfe6('0x2c')](handleEntityNotFound(_0x46f1fa,null))[_0xcfe6('0x2c')](saveUpdates(_0x11653e['body'],null))['then'](respondWithResult(_0x46f1fa,null))[_0xcfe6('0x4a')](handleError(_0x46f1fa,null));};exports[_0xcfe6('0x2d')]=function(_0x378f64,_0x564127){return db[_0xcfe6('0x4c')][_0xcfe6('0x4f')]({'where':{'id':_0x378f64[_0xcfe6('0x4b')]['id']}})['then'](handleEntityNotFound(_0x564127,null))[_0xcfe6('0x2c')](removeEntity(_0x564127,null))[_0xcfe6('0x4a')](handleError(_0x564127,null));};exports[_0xcfe6('0x52')]=function(_0x2fe646,_0x4171bd){return db['VoiceQueueReport']['describe']()[_0xcfe6('0x2c')](respondWithResult(_0x4171bd,null))['catch'](handleError(_0x4171bd,null));};exports[_0xcfe6('0x53')]=function(_0x8b6a7,_0x67c435){var _0x15e676={},_0x3384cd={},_0x4f48c0={'count':0x0,'rows':[]};_0x3384cd['model']=_[_0xcfe6('0x4d')](db['VoiceQueueReport'][_0xcfe6('0x34')]);_0x3384cd['query']=_[_0xcfe6('0x4d')](_0x8b6a7[_0xcfe6('0x38')]);_0x3384cd['filters']=_[_0xcfe6('0x3a')](_0x3384cd[_0xcfe6('0x37')],_0x3384cd[_0xcfe6('0x38')]);_0x15e676[_0xcfe6('0x3b')]=_[_0xcfe6('0x3a')](_0x3384cd[_0xcfe6('0x37')],qs[_0xcfe6('0x3c')](_0x8b6a7[_0xcfe6('0x38')][_0xcfe6('0x3c')]));_0x15e676[_0xcfe6('0x3b')]=_0x15e676['attributes'][_0xcfe6('0x3d')]?_0x15e676['attributes']:_0x3384cd[_0xcfe6('0x37')];if(!_0x8b6a7[_0xcfe6('0x38')]['hasOwnProperty'](_0xcfe6('0x54'))){_0x15e676['limit']=qs[_0xcfe6('0x23')](_0x8b6a7['query'][_0xcfe6('0x23')]);_0x15e676[_0xcfe6('0x25')]=qs[_0xcfe6('0x25')](_0x8b6a7[_0xcfe6('0x38')]['offset']);}_0x15e676[_0xcfe6('0x3f')]=qs['sort'](_0x8b6a7[_0xcfe6('0x38')]['sort']);_0x15e676[_0xcfe6('0x41')]=qs[_0xcfe6('0x39')](_['pick'](_0x8b6a7['query'],_0x3384cd[_0xcfe6('0x39')]));if(_0x8b6a7[_0xcfe6('0x38')]['filter']){_0x15e676[_0xcfe6('0x41')]=_[_0xcfe6('0x44')](_0x15e676['where'],{'$or':_['map'](_0x15e676[_0xcfe6('0x3b')],function(_0x450c31){var _0x5c1bd4={};_0x5c1bd4[_0x450c31]={'$like':'%'+_0x8b6a7['query'][_0xcfe6('0x43')]+'%'};return _0x5c1bd4;})});}_0x15e676=_['merge']({},_0x15e676,_0x8b6a7['options']);var _0x5419eb={'where':_0x15e676[_0xcfe6('0x41')]};return db[_0xcfe6('0x4c')][_0xcfe6('0x24')](_0x5419eb)['then'](function(_0xdea7fb){_0x4f48c0[_0xcfe6('0x24')]=_0xdea7fb;if(_0x8b6a7[_0xcfe6('0x38')][_0xcfe6('0x4e')]){_0x15e676[_0xcfe6('0x47')]=[{'all':!![]}];}return db['VoiceQueueReport']['findAll'](_0x15e676);})[_0xcfe6('0x2c')](function(_0x242bee){_0x4f48c0[_0xcfe6('0x49')]=_0x242bee;return _0x4f48c0;})[_0xcfe6('0x2c')](respondWithFilteredResult(_0x67c435,_0x15e676,_0xcfe6('0x53')))[_0xcfe6('0x4a')](handleError(_0x67c435,null,_0xcfe6('0x53')));};