Built motion from commit 3c2ce842.|2.6.31
[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 _0xf8d6=['json','undefined','limit','count','offset','Content-Range','apply','reject','then','destroy','sendStatus','stack','index','map','VoiceQueueReport','rawAttributes','type','key','name','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','merge','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','describe','getVoiceQueuesReport','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./voiceQueueReport.socket','register','status','end'];(function(_0x50b14a,_0x304296){var _0x2887f3=function(_0x146811){while(--_0x146811){_0x50b14a['push'](_0x50b14a['shift']());}};_0x2887f3(++_0x304296);}(_0xf8d6,0xcc));var _0x6f8d=function(_0x136619,_0x31c9b2){_0x136619=_0x136619-0x0;var _0x38c4a5=_0xf8d6[_0x136619];return _0x38c4a5;};'use strict';var emlformat=require(_0x6f8d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6f8d('0x1'));var jsonpatch=require(_0x6f8d('0x2'));var rp=require(_0x6f8d('0x3'));var moment=require('moment');var BPromise=require(_0x6f8d('0x4'));var Mustache=require(_0x6f8d('0x5'));var util=require(_0x6f8d('0x6'));var path=require(_0x6f8d('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x6f8d('0x8'));var fs=require('fs');var fs_extra=require(_0x6f8d('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x6f8d('0xa'));var deskjs=require(_0x6f8d('0xb'));var toCsv=require('to-csv');var querystring=require(_0x6f8d('0xc'));var Papa=require(_0x6f8d('0xd'));var Redis=require(_0x6f8d('0xe'));var authService=require(_0x6f8d('0xf'));var qs=require(_0x6f8d('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6f8d('0x11'));var logger=require(_0x6f8d('0x12'))(_0x6f8d('0x13'));var utils=require(_0x6f8d('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6f8d('0x15'));var db=require(_0x6f8d('0x16'))['db'];config['redis']=_[_0x6f8d('0x17')](config[_0x6f8d('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x6f8d('0x19'))(new Redis(config[_0x6f8d('0x18')]));require(_0x6f8d('0x1a'))[_0x6f8d('0x1b')](socket);function respondWithStatusCode(_0x4cdfec,_0xf38585){_0xf38585=_0xf38585||0xcc;return function(_0x5d43c4){if(_0x5d43c4){return _0x4cdfec['sendStatus'](_0xf38585);}return _0x4cdfec[_0x6f8d('0x1c')](_0xf38585)[_0x6f8d('0x1d')]();};}function respondWithResult(_0x23ff7c,_0x3dfa5d){_0x3dfa5d=_0x3dfa5d||0xc8;return function(_0xfb8194){if(_0xfb8194){return _0x23ff7c[_0x6f8d('0x1c')](_0x3dfa5d)[_0x6f8d('0x1e')](_0xfb8194);}};}function respondWithFilteredResult(_0x58d430,_0x4b3f9b){return function(_0x5d2a5c){if(_0x5d2a5c){var _0x4348cb=typeof _0x4b3f9b['offset']===_0x6f8d('0x1f')&&typeof _0x4b3f9b[_0x6f8d('0x20')]===_0x6f8d('0x1f');var _0x5f3f30=_0x5d2a5c[_0x6f8d('0x21')];var _0x1fd64f=_0x4348cb?0x0:_0x4b3f9b[_0x6f8d('0x22')];var _0x2652ec=_0x4348cb?_0x5d2a5c[_0x6f8d('0x21')]:_0x4b3f9b[_0x6f8d('0x22')]+_0x4b3f9b[_0x6f8d('0x20')];var _0x3c2635;if(_0x2652ec>=_0x5f3f30){_0x2652ec=_0x5f3f30;_0x3c2635=0xc8;}else{_0x3c2635=0xce;}_0x58d430['status'](_0x3c2635);return _0x58d430['set'](_0x6f8d('0x23'),_0x1fd64f+'-'+_0x2652ec+'/'+_0x5f3f30)[_0x6f8d('0x1e')](_0x5d2a5c);}return null;};}function patchUpdates(_0x501fa2){return function(_0x509c1f){try{jsonpatch[_0x6f8d('0x24')](_0x509c1f,_0x501fa2,!![]);}catch(_0x33e336){return BPromise[_0x6f8d('0x25')](_0x33e336);}return _0x509c1f['save']();};}function saveUpdates(_0x5d45b2,_0x2da601){return function(_0x3da215){if(_0x3da215){return _0x3da215['update'](_0x5d45b2)[_0x6f8d('0x26')](function(_0x58b8b5){return _0x58b8b5;});}return null;};}function removeEntity(_0x5eb447,_0x451d02){return function(_0x4fa2ec){if(_0x4fa2ec){return _0x4fa2ec[_0x6f8d('0x27')]()[_0x6f8d('0x26')](function(){_0x5eb447[_0x6f8d('0x1c')](0xcc)[_0x6f8d('0x1d')]();});}};}function handleEntityNotFound(_0x4a0f0d,_0x5647d8){return function(_0x5a93f2){if(!_0x5a93f2){_0x4a0f0d[_0x6f8d('0x28')](0x194);}return _0x5a93f2;};}function handleError(_0x134d32,_0x15f13f){_0x15f13f=_0x15f13f||0x1f4;return function(_0x101d06){logger['error'](_0x101d06[_0x6f8d('0x29')]);if(_0x101d06['name']){delete _0x101d06['name'];}_0x134d32['status'](_0x15f13f)['send'](_0x101d06);};}exports[_0x6f8d('0x2a')]=function(_0x33ef44,_0x447df2){var _0x4a03ab={},_0x4f19ef={},_0x4a5466={'count':0x0,'rows':[]};var _0x269233=_[_0x6f8d('0x2b')](db[_0x6f8d('0x2c')][_0x6f8d('0x2d')],function(_0x3d4403){return{'name':_0x3d4403['fieldName'],'type':_0x3d4403[_0x6f8d('0x2e')][_0x6f8d('0x2f')]};});_0x4f19ef['model']=_[_0x6f8d('0x2b')](_0x269233,_0x6f8d('0x30'));_0x4f19ef[_0x6f8d('0x31')]=_[_0x6f8d('0x32')](_0x33ef44[_0x6f8d('0x31')]);_0x4f19ef['filters']=_[_0x6f8d('0x33')](_0x4f19ef[_0x6f8d('0x34')],_0x4f19ef['query']);_0x4a03ab[_0x6f8d('0x35')]=_[_0x6f8d('0x33')](_0x4f19ef['model'],qs['fields'](_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x36')]));_0x4a03ab[_0x6f8d('0x35')]=_0x4a03ab['attributes'][_0x6f8d('0x37')]?_0x4a03ab[_0x6f8d('0x35')]:_0x4f19ef[_0x6f8d('0x34')];if(!_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x38')](_0x6f8d('0x39'))){_0x4a03ab['limit']=qs[_0x6f8d('0x20')](_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x20')]);_0x4a03ab[_0x6f8d('0x22')]=qs[_0x6f8d('0x22')](_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x22')]);}_0x4a03ab[_0x6f8d('0x3a')]=qs[_0x6f8d('0x3b')](_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x3b')]);_0x4a03ab['where']=qs['filters'](_[_0x6f8d('0x3c')](_0x33ef44[_0x6f8d('0x31')],_0x4f19ef[_0x6f8d('0x3d')]),_0x269233);if(_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x3e')]){_0x4a03ab[_0x6f8d('0x3f')]=_[_0x6f8d('0x40')](_0x4a03ab[_0x6f8d('0x3f')],{'$or':_[_0x6f8d('0x2b')](_0x269233,function(_0x356058){if(_0x356058[_0x6f8d('0x2e')]!=='VIRTUAL'){var _0x5a7095={};_0x5a7095[_0x356058[_0x6f8d('0x30')]]={'$like':'%'+_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x3e')]+'%'};return _0x5a7095;}})});}_0x4a03ab=_['merge']({},_0x4a03ab,_0x33ef44['options']);var _0x536ed7={'where':_0x4a03ab[_0x6f8d('0x3f')]};return db[_0x6f8d('0x2c')][_0x6f8d('0x21')](_0x536ed7)[_0x6f8d('0x26')](function(_0x5e250f){_0x4a5466[_0x6f8d('0x21')]=_0x5e250f;if(_0x33ef44[_0x6f8d('0x31')][_0x6f8d('0x41')]){_0x4a03ab[_0x6f8d('0x42')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0x6f8d('0x43')](_0x4a03ab);})[_0x6f8d('0x26')](function(_0x488001){_0x4a5466[_0x6f8d('0x44')]=_0x488001;return _0x4a5466;})[_0x6f8d('0x26')](respondWithFilteredResult(_0x447df2,_0x4a03ab))[_0x6f8d('0x45')](handleError(_0x447df2,null));};exports[_0x6f8d('0x46')]=function(_0x333cd2,_0x4227c1){var _0x4c5a6e={'raw':![],'where':{'id':_0x333cd2[_0x6f8d('0x47')]['id']}},_0x187a64={};_0x187a64['model']=_['keys'](db[_0x6f8d('0x2c')][_0x6f8d('0x2d')]);_0x187a64[_0x6f8d('0x31')]=_[_0x6f8d('0x32')](_0x333cd2[_0x6f8d('0x31')]);_0x187a64[_0x6f8d('0x3d')]=_[_0x6f8d('0x33')](_0x187a64[_0x6f8d('0x34')],_0x187a64[_0x6f8d('0x31')]);_0x4c5a6e[_0x6f8d('0x35')]=_['intersection'](_0x187a64[_0x6f8d('0x34')],qs[_0x6f8d('0x36')](_0x333cd2[_0x6f8d('0x31')][_0x6f8d('0x36')]));_0x4c5a6e[_0x6f8d('0x35')]=_0x4c5a6e[_0x6f8d('0x35')][_0x6f8d('0x37')]?_0x4c5a6e[_0x6f8d('0x35')]:_0x187a64[_0x6f8d('0x34')];if(_0x333cd2['query']['includeAll']){_0x4c5a6e[_0x6f8d('0x42')]=[{'all':!![]}];}_0x4c5a6e=_['merge']({},_0x4c5a6e,_0x333cd2[_0x6f8d('0x48')]);return db[_0x6f8d('0x2c')][_0x6f8d('0x49')](_0x4c5a6e)[_0x6f8d('0x26')](handleEntityNotFound(_0x4227c1,null))[_0x6f8d('0x26')](respondWithResult(_0x4227c1,null))['catch'](handleError(_0x4227c1,null));};exports[_0x6f8d('0x4a')]=function(_0x5c3502,_0x322da9){return db['VoiceQueueReport']['create'](_0x5c3502[_0x6f8d('0x4b')],{})[_0x6f8d('0x26')](respondWithResult(_0x322da9,0xc9))[_0x6f8d('0x45')](handleError(_0x322da9,null));};exports['update']=function(_0x2ea8ba,_0x5cdf42){if(_0x2ea8ba[_0x6f8d('0x4b')]['id']){delete _0x2ea8ba[_0x6f8d('0x4b')]['id'];}return db[_0x6f8d('0x2c')][_0x6f8d('0x49')]({'where':{'id':_0x2ea8ba[_0x6f8d('0x47')]['id']}})['then'](handleEntityNotFound(_0x5cdf42,null))[_0x6f8d('0x26')](saveUpdates(_0x2ea8ba[_0x6f8d('0x4b')],null))[_0x6f8d('0x26')](respondWithResult(_0x5cdf42,null))[_0x6f8d('0x45')](handleError(_0x5cdf42,null));};exports[_0x6f8d('0x27')]=function(_0x326d6d,_0x213004){return db[_0x6f8d('0x2c')][_0x6f8d('0x49')]({'where':{'id':_0x326d6d[_0x6f8d('0x47')]['id']}})[_0x6f8d('0x26')](handleEntityNotFound(_0x213004,null))[_0x6f8d('0x26')](removeEntity(_0x213004,null))[_0x6f8d('0x45')](handleError(_0x213004,null));};exports[_0x6f8d('0x4c')]=function(_0x474aeb,_0x525234){return db['VoiceQueueReport'][_0x6f8d('0x4c')]()[_0x6f8d('0x26')](respondWithResult(_0x525234,null))[_0x6f8d('0x45')](handleError(_0x525234,null));};exports[_0x6f8d('0x4d')]=function(_0x4b0254,_0x1a0d12){var _0x155804={},_0x4e30a3={},_0x3757e0={'count':0x0,'rows':[]};_0x4e30a3[_0x6f8d('0x34')]=_[_0x6f8d('0x32')](db[_0x6f8d('0x2c')][_0x6f8d('0x2d')]);_0x4e30a3['query']=_[_0x6f8d('0x32')](_0x4b0254['query']);_0x4e30a3[_0x6f8d('0x3d')]=_['intersection'](_0x4e30a3['model'],_0x4e30a3[_0x6f8d('0x31')]);_0x155804[_0x6f8d('0x35')]=_[_0x6f8d('0x33')](_0x4e30a3['model'],qs[_0x6f8d('0x36')](_0x4b0254[_0x6f8d('0x31')][_0x6f8d('0x36')]));_0x155804[_0x6f8d('0x35')]=_0x155804['attributes']['length']?_0x155804[_0x6f8d('0x35')]:_0x4e30a3[_0x6f8d('0x34')];if(!_0x4b0254[_0x6f8d('0x31')][_0x6f8d('0x38')](_0x6f8d('0x39'))){_0x155804[_0x6f8d('0x20')]=qs[_0x6f8d('0x20')](_0x4b0254[_0x6f8d('0x31')][_0x6f8d('0x20')]);_0x155804['offset']=qs['offset'](_0x4b0254[_0x6f8d('0x31')][_0x6f8d('0x22')]);}_0x155804[_0x6f8d('0x3a')]=qs['sort'](_0x4b0254[_0x6f8d('0x31')]['sort']);_0x155804['where']=qs[_0x6f8d('0x3d')](_[_0x6f8d('0x3c')](_0x4b0254['query'],_0x4e30a3['filters']));if(_0x4b0254['query'][_0x6f8d('0x3e')]){_0x155804[_0x6f8d('0x3f')]=_[_0x6f8d('0x40')](_0x155804[_0x6f8d('0x3f')],{'$or':_[_0x6f8d('0x2b')](_0x155804[_0x6f8d('0x35')],function(_0x882972){var _0x5ad844={};_0x5ad844[_0x882972]={'$like':'%'+_0x4b0254[_0x6f8d('0x31')][_0x6f8d('0x3e')]+'%'};return _0x5ad844;})});}_0x155804=_[_0x6f8d('0x40')]({},_0x155804,_0x4b0254[_0x6f8d('0x48')]);var _0x4cbb98={'where':_0x155804[_0x6f8d('0x3f')]};return db[_0x6f8d('0x2c')][_0x6f8d('0x21')](_0x4cbb98)[_0x6f8d('0x26')](function(_0x1c87e2){_0x3757e0[_0x6f8d('0x21')]=_0x1c87e2;if(_0x4b0254[_0x6f8d('0x31')]['includeAll']){_0x155804[_0x6f8d('0x42')]=[{'all':!![]}];}return db[_0x6f8d('0x2c')][_0x6f8d('0x43')](_0x155804);})['then'](function(_0x3d18c1){_0x3757e0[_0x6f8d('0x44')]=_0x3d18c1;return _0x3757e0;})['then'](respondWithFilteredResult(_0x1a0d12,_0x155804,_0x6f8d('0x4d')))['catch'](handleError(_0x1a0d12,null,_0x6f8d('0x4d')));};