6dc1b9bc31627bbda165177dd8048c7458f640cd
[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 _0x3f00=['rows','show','params','length','include','catch','create','body','find','getVoiceQueuesReport','nolimit','sort','pick','filter','findAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','fs-extra','lodash','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','register','sendStatus','status','json','count','offset','limit','set','apply','save','update','destroy','then','end','error','stack','name','send','index','map','VoiceQueueReport','rawAttributes','fieldName','type','model','keys','intersection','attributes','fields','query','hasOwnProperty','order','where','filters','VIRTUAL','merge','options','includeAll'];(function(_0x3ca627,_0x1e70d9){var _0xef06b5=function(_0x4da56b){while(--_0x4da56b){_0x3ca627['push'](_0x3ca627['shift']());}};_0xef06b5(++_0x1e70d9);}(_0x3f00,0xab));var _0x03f0=function(_0x146cb9,_0x349d0b){_0x146cb9=_0x146cb9-0x0;var _0x2dbc9a=_0x3f00[_0x146cb9];return _0x2dbc9a;};'use strict';var emlformat=require(_0x03f0('0x0'));var rimraf=require(_0x03f0('0x1'));var zipdir=require(_0x03f0('0x2'));var jsonpatch=require(_0x03f0('0x3'));var rp=require(_0x03f0('0x4'));var moment=require('moment');var BPromise=require(_0x03f0('0x5'));var Mustache=require('mustache');var util=require(_0x03f0('0x6'));var path=require(_0x03f0('0x7'));var sox=require(_0x03f0('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x03f0('0x9'));var _=require(_0x03f0('0xa'));var squel=require(_0x03f0('0xb'));var crypto=require(_0x03f0('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x03f0('0xd'));var querystring=require(_0x03f0('0xe'));var Papa=require(_0x03f0('0xf'));var Redis=require(_0x03f0('0x10'));var authService=require(_0x03f0('0x11'));var qs=require(_0x03f0('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x03f0('0x13'));var config=require(_0x03f0('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x03f0('0x15'))['db'];config['redis']=_[_0x03f0('0x16')](config[_0x03f0('0x17')],{'host':_0x03f0('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x03f0('0x17')]));require('./voiceQueueReport.socket')[_0x03f0('0x19')](socket);function respondWithStatusCode(_0xf9b118,_0x27e5d1){_0x27e5d1=_0x27e5d1||0xcc;return function(_0x1fc05d){if(_0x1fc05d){return _0xf9b118[_0x03f0('0x1a')](_0x27e5d1);}return _0xf9b118[_0x03f0('0x1b')](_0x27e5d1)['end']();};}function respondWithResult(_0x244afd,_0x23ae07){_0x23ae07=_0x23ae07||0xc8;return function(_0x43c20b){if(_0x43c20b){return _0x244afd[_0x03f0('0x1b')](_0x23ae07)[_0x03f0('0x1c')](_0x43c20b);}};}function respondWithFilteredResult(_0x3a6ab7,_0xf378fc){return function(_0x393672){if(_0x393672){var _0x4f18b2=_0x393672[_0x03f0('0x1d')],_0x42de3=_0xf378fc['offset'],_0x599fc3=_0xf378fc[_0x03f0('0x1e')]+_0xf378fc[_0x03f0('0x1f')],_0x13c02f;if(_0x599fc3>=_0x4f18b2){_0x599fc3=_0x4f18b2;_0x13c02f=0xc8;}else{_0x13c02f=0xce;}_0x3a6ab7['status'](_0x13c02f);return _0x3a6ab7[_0x03f0('0x20')]('Content-Range',_0x42de3+'-'+_0x599fc3+'/'+_0x4f18b2)[_0x03f0('0x1c')](_0x393672);}return null;};}function patchUpdates(_0xddebe){return function(_0x2c0907){try{jsonpatch[_0x03f0('0x21')](_0x2c0907,_0xddebe,!![]);}catch(_0x3150e0){return BPromise['reject'](_0x3150e0);}return _0x2c0907[_0x03f0('0x22')]();};}function saveUpdates(_0x37fbb2,_0x54d7a5){return function(_0x435cc5){if(_0x435cc5){return _0x435cc5[_0x03f0('0x23')](_0x37fbb2)['then'](function(_0x51eaf2){return _0x51eaf2;});}return null;};}function removeEntity(_0x29f725,_0xc20c39){return function(_0x1a0046){if(_0x1a0046){return _0x1a0046[_0x03f0('0x24')]()[_0x03f0('0x25')](function(){_0x29f725['status'](0xcc)[_0x03f0('0x26')]();});}};}function handleEntityNotFound(_0x47912b,_0x23a98e){return function(_0x1b823a){if(!_0x1b823a){_0x47912b[_0x03f0('0x1a')](0x194);}return _0x1b823a;};}function handleError(_0x535c25,_0x3e6b39){_0x3e6b39=_0x3e6b39||0x1f4;return function(_0x21f5f3){logger[_0x03f0('0x27')](_0x21f5f3[_0x03f0('0x28')]);if(_0x21f5f3[_0x03f0('0x29')]){delete _0x21f5f3['name'];}_0x535c25['status'](_0x3e6b39)[_0x03f0('0x2a')](_0x21f5f3);};}exports[_0x03f0('0x2b')]=function(_0x57e647,_0x5742ca){var _0x189d36={},_0x47e138={},_0x22c889={'count':0x0,'rows':[]};var _0x1504f1=_[_0x03f0('0x2c')](db[_0x03f0('0x2d')][_0x03f0('0x2e')],function(_0x14bcd6){return{'name':_0x14bcd6[_0x03f0('0x2f')],'type':_0x14bcd6[_0x03f0('0x30')]['key']};});_0x47e138[_0x03f0('0x31')]=_['map'](_0x1504f1,_0x03f0('0x29'));_0x47e138['query']=_[_0x03f0('0x32')](_0x57e647['query']);_0x47e138['filters']=_[_0x03f0('0x33')](_0x47e138[_0x03f0('0x31')],_0x47e138['query']);_0x189d36[_0x03f0('0x34')]=_[_0x03f0('0x33')](_0x47e138[_0x03f0('0x31')],qs[_0x03f0('0x35')](_0x57e647[_0x03f0('0x36')][_0x03f0('0x35')]));_0x189d36['attributes']=_0x189d36['attributes']['length']?_0x189d36[_0x03f0('0x34')]:_0x47e138['model'];if(!_0x57e647[_0x03f0('0x36')][_0x03f0('0x37')]('nolimit')){_0x189d36[_0x03f0('0x1f')]=qs['limit'](_0x57e647[_0x03f0('0x36')][_0x03f0('0x1f')]);_0x189d36[_0x03f0('0x1e')]=qs['offset'](_0x57e647[_0x03f0('0x36')][_0x03f0('0x1e')]);}_0x189d36[_0x03f0('0x38')]=qs['sort'](_0x57e647['query']['sort']);_0x189d36[_0x03f0('0x39')]=qs[_0x03f0('0x3a')](_['pick'](_0x57e647[_0x03f0('0x36')],_0x47e138['filters']),_0x1504f1);if(_0x57e647[_0x03f0('0x36')]['filter']){_0x189d36['where']=_['merge'](_0x189d36[_0x03f0('0x39')],{'$or':_[_0x03f0('0x2c')](_0x1504f1,function(_0x4c570e){if(_0x4c570e[_0x03f0('0x30')]!==_0x03f0('0x3b')){var _0x905433={};_0x905433[_0x4c570e[_0x03f0('0x29')]]={'$like':'%'+_0x57e647['query']['filter']+'%'};return _0x905433;}})});}_0x189d36=_[_0x03f0('0x3c')]({},_0x189d36,_0x57e647[_0x03f0('0x3d')]);var _0x274c47={'where':_0x189d36[_0x03f0('0x39')]};return db[_0x03f0('0x2d')][_0x03f0('0x1d')](_0x274c47)[_0x03f0('0x25')](function(_0x4e43a1){_0x22c889['count']=_0x4e43a1;if(_0x57e647[_0x03f0('0x36')][_0x03f0('0x3e')]){_0x189d36['include']=[{'all':!![]}];}return db['VoiceQueueReport']['findAll'](_0x189d36);})[_0x03f0('0x25')](function(_0x334dab){_0x22c889[_0x03f0('0x3f')]=_0x334dab;return _0x22c889;})['then'](respondWithFilteredResult(_0x5742ca,_0x189d36))['catch'](handleError(_0x5742ca,null));};exports[_0x03f0('0x40')]=function(_0x2f497e,_0x511803){var _0x3e5e2a={'raw':![],'where':{'id':_0x2f497e[_0x03f0('0x41')]['id']}},_0x16d3d3={};_0x16d3d3[_0x03f0('0x31')]=_[_0x03f0('0x32')](db[_0x03f0('0x2d')][_0x03f0('0x2e')]);_0x16d3d3[_0x03f0('0x36')]=_['keys'](_0x2f497e['query']);_0x16d3d3[_0x03f0('0x3a')]=_[_0x03f0('0x33')](_0x16d3d3[_0x03f0('0x31')],_0x16d3d3[_0x03f0('0x36')]);_0x3e5e2a[_0x03f0('0x34')]=_[_0x03f0('0x33')](_0x16d3d3[_0x03f0('0x31')],qs[_0x03f0('0x35')](_0x2f497e[_0x03f0('0x36')][_0x03f0('0x35')]));_0x3e5e2a[_0x03f0('0x34')]=_0x3e5e2a[_0x03f0('0x34')][_0x03f0('0x42')]?_0x3e5e2a[_0x03f0('0x34')]:_0x16d3d3[_0x03f0('0x31')];if(_0x2f497e[_0x03f0('0x36')][_0x03f0('0x3e')]){_0x3e5e2a[_0x03f0('0x43')]=[{'all':!![]}];}_0x3e5e2a=_[_0x03f0('0x3c')]({},_0x3e5e2a,_0x2f497e[_0x03f0('0x3d')]);return db[_0x03f0('0x2d')]['find'](_0x3e5e2a)[_0x03f0('0x25')](handleEntityNotFound(_0x511803,null))[_0x03f0('0x25')](respondWithResult(_0x511803,null))[_0x03f0('0x44')](handleError(_0x511803,null));};exports[_0x03f0('0x45')]=function(_0xd7b997,_0x2885f9){return db[_0x03f0('0x2d')][_0x03f0('0x45')](_0xd7b997[_0x03f0('0x46')],{})['then'](respondWithResult(_0x2885f9,0xc9))[_0x03f0('0x44')](handleError(_0x2885f9,null));};exports[_0x03f0('0x23')]=function(_0x2f2538,_0x45cd97){if(_0x2f2538[_0x03f0('0x46')]['id']){delete _0x2f2538[_0x03f0('0x46')]['id'];}return db[_0x03f0('0x2d')][_0x03f0('0x47')]({'where':{'id':_0x2f2538['params']['id']}})[_0x03f0('0x25')](handleEntityNotFound(_0x45cd97,null))[_0x03f0('0x25')](saveUpdates(_0x2f2538[_0x03f0('0x46')],null))['then'](respondWithResult(_0x45cd97,null))[_0x03f0('0x44')](handleError(_0x45cd97,null));};exports['destroy']=function(_0x19ca34,_0x2f6d10){return db[_0x03f0('0x2d')]['find']({'where':{'id':_0x19ca34[_0x03f0('0x41')]['id']}})[_0x03f0('0x25')](handleEntityNotFound(_0x2f6d10,null))[_0x03f0('0x25')](removeEntity(_0x2f6d10,null))['catch'](handleError(_0x2f6d10,null));};exports['describe']=function(_0x1ca1d7,_0x3bcb80){return db['VoiceQueueReport']['describe']()[_0x03f0('0x25')](respondWithResult(_0x3bcb80,null))[_0x03f0('0x44')](handleError(_0x3bcb80,null));};exports[_0x03f0('0x48')]=function(_0x54b4f4,_0x23ae77){var _0x2b7950={},_0x8fe982={},_0x10aca0={'count':0x0,'rows':[]};_0x8fe982[_0x03f0('0x31')]=_[_0x03f0('0x32')](db[_0x03f0('0x2d')][_0x03f0('0x2e')]);_0x8fe982[_0x03f0('0x36')]=_['keys'](_0x54b4f4[_0x03f0('0x36')]);_0x8fe982[_0x03f0('0x3a')]=_[_0x03f0('0x33')](_0x8fe982['model'],_0x8fe982['query']);_0x2b7950[_0x03f0('0x34')]=_[_0x03f0('0x33')](_0x8fe982[_0x03f0('0x31')],qs[_0x03f0('0x35')](_0x54b4f4[_0x03f0('0x36')]['fields']));_0x2b7950['attributes']=_0x2b7950['attributes'][_0x03f0('0x42')]?_0x2b7950[_0x03f0('0x34')]:_0x8fe982[_0x03f0('0x31')];if(!_0x54b4f4[_0x03f0('0x36')][_0x03f0('0x37')](_0x03f0('0x49'))){_0x2b7950[_0x03f0('0x1f')]=qs[_0x03f0('0x1f')](_0x54b4f4[_0x03f0('0x36')][_0x03f0('0x1f')]);_0x2b7950[_0x03f0('0x1e')]=qs[_0x03f0('0x1e')](_0x54b4f4['query'][_0x03f0('0x1e')]);}_0x2b7950[_0x03f0('0x38')]=qs[_0x03f0('0x4a')](_0x54b4f4[_0x03f0('0x36')]['sort']);_0x2b7950[_0x03f0('0x39')]=qs[_0x03f0('0x3a')](_[_0x03f0('0x4b')](_0x54b4f4['query'],_0x8fe982[_0x03f0('0x3a')]));if(_0x54b4f4[_0x03f0('0x36')][_0x03f0('0x4c')]){_0x2b7950[_0x03f0('0x39')]=_['merge'](_0x2b7950[_0x03f0('0x39')],{'$or':_[_0x03f0('0x2c')](_0x2b7950[_0x03f0('0x34')],function(_0x585137){var _0x4b2ff7={};_0x4b2ff7[_0x585137]={'$like':'%'+_0x54b4f4[_0x03f0('0x36')][_0x03f0('0x4c')]+'%'};return _0x4b2ff7;})});}_0x2b7950=_[_0x03f0('0x3c')]({},_0x2b7950,_0x54b4f4[_0x03f0('0x3d')]);var _0xae22b6={'where':_0x2b7950[_0x03f0('0x39')]};return db[_0x03f0('0x2d')][_0x03f0('0x1d')](_0xae22b6)[_0x03f0('0x25')](function(_0x5977b9){_0x10aca0[_0x03f0('0x1d')]=_0x5977b9;if(_0x54b4f4['query'][_0x03f0('0x3e')]){_0x2b7950[_0x03f0('0x43')]=[{'all':!![]}];}return db[_0x03f0('0x2d')][_0x03f0('0x4d')](_0x2b7950);})[_0x03f0('0x25')](function(_0x2f5351){_0x10aca0['rows']=_0x2f5351;return _0x10aca0;})['then'](respondWithFilteredResult(_0x23ae77,_0x2b7950,_0x03f0('0x48')))['catch'](handleError(_0x23ae77,null,_0x03f0('0x48')));};