Built motion from commit 9d0783e6.|2.6.13
[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 _0xa79d=['fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','register','sendStatus','status','end','limit','count','offset','set','apply','save','then','destroy','error','stack','name','index','map','rawAttributes','type','key','query','keys','intersection','model','attributes','fields','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','VoiceQueueReport','findAll','params','length','find','create','body','catch','describe','getVoiceQueuesReport','filters','hasOwnProperty','rows','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','ejs'];(function(_0x15fc7a,_0xd21741){var _0x3aa9f4=function(_0x313108){while(--_0x313108){_0x15fc7a['push'](_0x15fc7a['shift']());}};_0x3aa9f4(++_0xd21741);}(_0xa79d,0x1e2));var _0xda79=function(_0x42f530,_0x385676){_0x42f530=_0x42f530-0x0;var _0x2263cd=_0xa79d[_0x42f530];return _0x2263cd;};'use strict';var emlformat=require(_0xda79('0x0'));var rimraf=require(_0xda79('0x1'));var zipdir=require(_0xda79('0x2'));var jsonpatch=require(_0xda79('0x3'));var rp=require('request-promise');var moment=require(_0xda79('0x4'));var BPromise=require(_0xda79('0x5'));var Mustache=require(_0xda79('0x6'));var util=require(_0xda79('0x7'));var path=require('path');var sox=require(_0xda79('0x8'));var csv=require('to-csv');var ejs=require(_0xda79('0x9'));var fs=require('fs');var fs_extra=require(_0xda79('0xa'));var _=require(_0xda79('0xb'));var squel=require(_0xda79('0xc'));var crypto=require(_0xda79('0xd'));var jsforce=require(_0xda79('0xe'));var deskjs=require(_0xda79('0xf'));var toCsv=require(_0xda79('0x10'));var querystring=require(_0xda79('0x11'));var Papa=require(_0xda79('0x12'));var Redis=require(_0xda79('0x13'));var authService=require(_0xda79('0x14'));var qs=require(_0xda79('0x15'));var as=require(_0xda79('0x16'));var hardwareService=require(_0xda79('0x17'));var logger=require(_0xda79('0x18'))(_0xda79('0x19'));var utils=require(_0xda79('0x1a'));var config=require(_0xda79('0x1b'));var licenseUtil=require(_0xda79('0x1c'));var db=require(_0xda79('0x1d'))['db'];config['redis']=_[_0xda79('0x1e')](config[_0xda79('0x1f')],{'host':'localhost','port':0x18eb});var socket=require(_0xda79('0x20'))(new Redis(config['redis']));require('./voiceQueueReport.socket')[_0xda79('0x21')](socket);function respondWithStatusCode(_0x429e83,_0x11654e){_0x11654e=_0x11654e||0xcc;return function(_0x16d7d7){if(_0x16d7d7){return _0x429e83[_0xda79('0x22')](_0x11654e);}return _0x429e83[_0xda79('0x23')](_0x11654e)[_0xda79('0x24')]();};}function respondWithResult(_0x23440c,_0x2ca204){_0x2ca204=_0x2ca204||0xc8;return function(_0xcca3ec){if(_0xcca3ec){return _0x23440c[_0xda79('0x23')](_0x2ca204)['json'](_0xcca3ec);}};}function respondWithFilteredResult(_0x585ab3,_0xabac0e){return function(_0x245e97){if(_0x245e97){var _0x1bd088=typeof _0xabac0e['offset']==='undefined'&&typeof _0xabac0e[_0xda79('0x25')]==='undefined';var _0x52bf91=_0x245e97[_0xda79('0x26')];var _0x443423=_0x1bd088?0x0:_0xabac0e['offset'];var _0x3fe387=_0x1bd088?_0x245e97[_0xda79('0x26')]:_0xabac0e[_0xda79('0x27')]+_0xabac0e[_0xda79('0x25')];var _0x145a81;if(_0x3fe387>=_0x52bf91){_0x3fe387=_0x52bf91;_0x145a81=0xc8;}else{_0x145a81=0xce;}_0x585ab3[_0xda79('0x23')](_0x145a81);return _0x585ab3[_0xda79('0x28')]('Content-Range',_0x443423+'-'+_0x3fe387+'/'+_0x52bf91)['json'](_0x245e97);}return null;};}function patchUpdates(_0x9e7b40){return function(_0x2b7f79){try{jsonpatch[_0xda79('0x29')](_0x2b7f79,_0x9e7b40,!![]);}catch(_0x37916d){return BPromise['reject'](_0x37916d);}return _0x2b7f79[_0xda79('0x2a')]();};}function saveUpdates(_0x2db199,_0x3b9d21){return function(_0x5d3da2){if(_0x5d3da2){return _0x5d3da2['update'](_0x2db199)[_0xda79('0x2b')](function(_0x3b933f){return _0x3b933f;});}return null;};}function removeEntity(_0x355258,_0x599166){return function(_0x45ca94){if(_0x45ca94){return _0x45ca94[_0xda79('0x2c')]()[_0xda79('0x2b')](function(){_0x355258[_0xda79('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x135ac1,_0x2a1c05){return function(_0x28f8c5){if(!_0x28f8c5){_0x135ac1[_0xda79('0x22')](0x194);}return _0x28f8c5;};}function handleError(_0x5db7a8,_0x42d971){_0x42d971=_0x42d971||0x1f4;return function(_0x373d4d){logger[_0xda79('0x2d')](_0x373d4d[_0xda79('0x2e')]);if(_0x373d4d[_0xda79('0x2f')]){delete _0x373d4d[_0xda79('0x2f')];}_0x5db7a8[_0xda79('0x23')](_0x42d971)['send'](_0x373d4d);};}exports[_0xda79('0x30')]=function(_0x4b19fc,_0x4ea098){var _0x67e1a4={},_0x463d42={},_0x15f134={'count':0x0,'rows':[]};var _0x550767=_[_0xda79('0x31')](db['VoiceQueueReport'][_0xda79('0x32')],function(_0x1e324a){return{'name':_0x1e324a['fieldName'],'type':_0x1e324a[_0xda79('0x33')][_0xda79('0x34')]};});_0x463d42['model']=_[_0xda79('0x31')](_0x550767,'name');_0x463d42[_0xda79('0x35')]=_[_0xda79('0x36')](_0x4b19fc['query']);_0x463d42['filters']=_[_0xda79('0x37')](_0x463d42[_0xda79('0x38')],_0x463d42['query']);_0x67e1a4[_0xda79('0x39')]=_[_0xda79('0x37')](_0x463d42[_0xda79('0x38')],qs[_0xda79('0x3a')](_0x4b19fc[_0xda79('0x35')][_0xda79('0x3a')]));_0x67e1a4[_0xda79('0x39')]=_0x67e1a4['attributes']['length']?_0x67e1a4[_0xda79('0x39')]:_0x463d42[_0xda79('0x38')];if(!_0x4b19fc[_0xda79('0x35')]['hasOwnProperty'](_0xda79('0x3b'))){_0x67e1a4[_0xda79('0x25')]=qs['limit'](_0x4b19fc[_0xda79('0x35')]['limit']);_0x67e1a4[_0xda79('0x27')]=qs[_0xda79('0x27')](_0x4b19fc[_0xda79('0x35')]['offset']);}_0x67e1a4[_0xda79('0x3c')]=qs['sort'](_0x4b19fc[_0xda79('0x35')][_0xda79('0x3d')]);_0x67e1a4[_0xda79('0x3e')]=qs['filters'](_[_0xda79('0x3f')](_0x4b19fc[_0xda79('0x35')],_0x463d42['filters']),_0x550767);if(_0x4b19fc['query'][_0xda79('0x40')]){_0x67e1a4[_0xda79('0x3e')]=_['merge'](_0x67e1a4[_0xda79('0x3e')],{'$or':_[_0xda79('0x31')](_0x550767,function(_0x542b9c){if(_0x542b9c['type']!=='VIRTUAL'){var _0x45dc44={};_0x45dc44[_0x542b9c[_0xda79('0x2f')]]={'$like':'%'+_0x4b19fc[_0xda79('0x35')][_0xda79('0x40')]+'%'};return _0x45dc44;}})});}_0x67e1a4=_[_0xda79('0x41')]({},_0x67e1a4,_0x4b19fc[_0xda79('0x42')]);var _0xcc4d78={'where':_0x67e1a4[_0xda79('0x3e')]};return db['VoiceQueueReport']['count'](_0xcc4d78)[_0xda79('0x2b')](function(_0x2492cb){_0x15f134[_0xda79('0x26')]=_0x2492cb;if(_0x4b19fc['query'][_0xda79('0x43')]){_0x67e1a4[_0xda79('0x44')]=[{'all':!![]}];}return db[_0xda79('0x45')][_0xda79('0x46')](_0x67e1a4);})[_0xda79('0x2b')](function(_0x210cf2){_0x15f134['rows']=_0x210cf2;return _0x15f134;})[_0xda79('0x2b')](respondWithFilteredResult(_0x4ea098,_0x67e1a4))['catch'](handleError(_0x4ea098,null));};exports['show']=function(_0x1f5e02,_0x35adf7){var _0x5bfbab={'raw':![],'where':{'id':_0x1f5e02[_0xda79('0x47')]['id']}},_0x1d0c1c={};_0x1d0c1c[_0xda79('0x38')]=_['keys'](db[_0xda79('0x45')][_0xda79('0x32')]);_0x1d0c1c[_0xda79('0x35')]=_[_0xda79('0x36')](_0x1f5e02['query']);_0x1d0c1c['filters']=_[_0xda79('0x37')](_0x1d0c1c[_0xda79('0x38')],_0x1d0c1c[_0xda79('0x35')]);_0x5bfbab[_0xda79('0x39')]=_[_0xda79('0x37')](_0x1d0c1c['model'],qs[_0xda79('0x3a')](_0x1f5e02[_0xda79('0x35')]['fields']));_0x5bfbab[_0xda79('0x39')]=_0x5bfbab[_0xda79('0x39')][_0xda79('0x48')]?_0x5bfbab[_0xda79('0x39')]:_0x1d0c1c[_0xda79('0x38')];if(_0x1f5e02['query'][_0xda79('0x43')]){_0x5bfbab[_0xda79('0x44')]=[{'all':!![]}];}_0x5bfbab=_[_0xda79('0x41')]({},_0x5bfbab,_0x1f5e02['options']);return db[_0xda79('0x45')][_0xda79('0x49')](_0x5bfbab)['then'](handleEntityNotFound(_0x35adf7,null))['then'](respondWithResult(_0x35adf7,null))['catch'](handleError(_0x35adf7,null));};exports[_0xda79('0x4a')]=function(_0x5628c6,_0x19d651){return db[_0xda79('0x45')][_0xda79('0x4a')](_0x5628c6[_0xda79('0x4b')],{})['then'](respondWithResult(_0x19d651,0xc9))[_0xda79('0x4c')](handleError(_0x19d651,null));};exports['update']=function(_0x1947db,_0x543016){if(_0x1947db['body']['id']){delete _0x1947db[_0xda79('0x4b')]['id'];}return db[_0xda79('0x45')][_0xda79('0x49')]({'where':{'id':_0x1947db[_0xda79('0x47')]['id']}})[_0xda79('0x2b')](handleEntityNotFound(_0x543016,null))['then'](saveUpdates(_0x1947db[_0xda79('0x4b')],null))[_0xda79('0x2b')](respondWithResult(_0x543016,null))['catch'](handleError(_0x543016,null));};exports[_0xda79('0x2c')]=function(_0x235a85,_0x42a1bf){return db[_0xda79('0x45')]['find']({'where':{'id':_0x235a85['params']['id']}})[_0xda79('0x2b')](handleEntityNotFound(_0x42a1bf,null))[_0xda79('0x2b')](removeEntity(_0x42a1bf,null))[_0xda79('0x4c')](handleError(_0x42a1bf,null));};exports['describe']=function(_0x991334,_0x5b5e4b){return db[_0xda79('0x45')][_0xda79('0x4d')]()[_0xda79('0x2b')](respondWithResult(_0x5b5e4b,null))[_0xda79('0x4c')](handleError(_0x5b5e4b,null));};exports[_0xda79('0x4e')]=function(_0x2fbd0c,_0x4cd4d5){var _0x1f2ac6={},_0x14a354={},_0x12e981={'count':0x0,'rows':[]};_0x14a354[_0xda79('0x38')]=_[_0xda79('0x36')](db[_0xda79('0x45')][_0xda79('0x32')]);_0x14a354[_0xda79('0x35')]=_[_0xda79('0x36')](_0x2fbd0c[_0xda79('0x35')]);_0x14a354[_0xda79('0x4f')]=_[_0xda79('0x37')](_0x14a354[_0xda79('0x38')],_0x14a354['query']);_0x1f2ac6['attributes']=_['intersection'](_0x14a354[_0xda79('0x38')],qs[_0xda79('0x3a')](_0x2fbd0c['query'][_0xda79('0x3a')]));_0x1f2ac6[_0xda79('0x39')]=_0x1f2ac6[_0xda79('0x39')][_0xda79('0x48')]?_0x1f2ac6['attributes']:_0x14a354[_0xda79('0x38')];if(!_0x2fbd0c[_0xda79('0x35')][_0xda79('0x50')](_0xda79('0x3b'))){_0x1f2ac6[_0xda79('0x25')]=qs['limit'](_0x2fbd0c[_0xda79('0x35')][_0xda79('0x25')]);_0x1f2ac6['offset']=qs[_0xda79('0x27')](_0x2fbd0c[_0xda79('0x35')]['offset']);}_0x1f2ac6[_0xda79('0x3c')]=qs[_0xda79('0x3d')](_0x2fbd0c['query'][_0xda79('0x3d')]);_0x1f2ac6[_0xda79('0x3e')]=qs[_0xda79('0x4f')](_[_0xda79('0x3f')](_0x2fbd0c[_0xda79('0x35')],_0x14a354[_0xda79('0x4f')]));if(_0x2fbd0c[_0xda79('0x35')][_0xda79('0x40')]){_0x1f2ac6[_0xda79('0x3e')]=_[_0xda79('0x41')](_0x1f2ac6[_0xda79('0x3e')],{'$or':_[_0xda79('0x31')](_0x1f2ac6[_0xda79('0x39')],function(_0x2b9860){var _0x556e70={};_0x556e70[_0x2b9860]={'$like':'%'+_0x2fbd0c['query'][_0xda79('0x40')]+'%'};return _0x556e70;})});}_0x1f2ac6=_[_0xda79('0x41')]({},_0x1f2ac6,_0x2fbd0c['options']);var _0x3c866f={'where':_0x1f2ac6['where']};return db[_0xda79('0x45')][_0xda79('0x26')](_0x3c866f)['then'](function(_0x58eea8){_0x12e981['count']=_0x58eea8;if(_0x2fbd0c['query'][_0xda79('0x43')]){_0x1f2ac6[_0xda79('0x44')]=[{'all':!![]}];}return db['VoiceQueueReport']['findAll'](_0x1f2ac6);})[_0xda79('0x2b')](function(_0x55d652){_0x12e981[_0xda79('0x51')]=_0x55d652;return _0x12e981;})[_0xda79('0x2b')](respondWithFilteredResult(_0x4cd4d5,_0x1f2ac6,_0xda79('0x4e')))['catch'](handleError(_0x4cd4d5,null,_0xda79('0x4e')));};