2f63a81cbb983ea1763dfcc9c05cc854d656211c
[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 _0xb946=['api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','limit','undefined','offset','count','set','Content-Range','json','save','update','then','destroy','error','name','send','index','map','VoiceQueueReport','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','includeAll','find','create','body','params','describe','getVoiceQueuesReport','eml-format','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger'];(function(_0x183682,_0x1ed726){var _0x21e9d2=function(_0x1929c5){while(--_0x1929c5){_0x183682['push'](_0x183682['shift']());}};_0x21e9d2(++_0x1ed726);}(_0xb946,0x92));var _0x6b94=function(_0x3de8a4,_0x289a5c){_0x3de8a4=_0x3de8a4-0x0;var _0x4635cf=_0xb946[_0x3de8a4];return _0x4635cf;};'use strict';var emlformat=require(_0x6b94('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6b94('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6b94('0x2'));var moment=require(_0x6b94('0x3'));var BPromise=require(_0x6b94('0x4'));var Mustache=require('mustache');var util=require(_0x6b94('0x5'));var path=require(_0x6b94('0x6'));var sox=require(_0x6b94('0x7'));var csv=require(_0x6b94('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6b94('0x9'));var _=require(_0x6b94('0xa'));var squel=require('squel');var crypto=require(_0x6b94('0xb'));var jsforce=require(_0x6b94('0xc'));var deskjs=require(_0x6b94('0xd'));var toCsv=require(_0x6b94('0x8'));var querystring=require(_0x6b94('0xe'));var Papa=require('papaparse');var Redis=require(_0x6b94('0xf'));var authService=require(_0x6b94('0x10'));var qs=require(_0x6b94('0x11'));var as=require(_0x6b94('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6b94('0x13'))(_0x6b94('0x14'));var utils=require(_0x6b94('0x15'));var config=require(_0x6b94('0x16'));var licenseUtil=require(_0x6b94('0x17'));var db=require(_0x6b94('0x18'))['db'];config[_0x6b94('0x19')]=_[_0x6b94('0x1a')](config[_0x6b94('0x19')],{'host':_0x6b94('0x1b'),'port':0x18eb});var socket=require(_0x6b94('0x1c'))(new Redis(config[_0x6b94('0x19')]));require('./voiceQueueReport.socket')[_0x6b94('0x1d')](socket);function respondWithStatusCode(_0x4edd16,_0x2593ce){_0x2593ce=_0x2593ce||0xcc;return function(_0x581ad3){if(_0x581ad3){return _0x4edd16[_0x6b94('0x1e')](_0x2593ce);}return _0x4edd16['status'](_0x2593ce)[_0x6b94('0x1f')]();};}function respondWithResult(_0x51f106,_0x632602){_0x632602=_0x632602||0xc8;return function(_0x4a589f){if(_0x4a589f){return _0x51f106[_0x6b94('0x20')](_0x632602)['json'](_0x4a589f);}};}function respondWithFilteredResult(_0x1a0383,_0x3230f2){return function(_0x365723){if(_0x365723){var _0xa6035a=typeof _0x3230f2['offset']==='undefined'&&typeof _0x3230f2[_0x6b94('0x21')]===_0x6b94('0x22');var _0x9b46ba=_0x365723['count'];var _0x23c87d=_0xa6035a?0x0:_0x3230f2[_0x6b94('0x23')];var _0x2d53d2=_0xa6035a?_0x365723[_0x6b94('0x24')]:_0x3230f2[_0x6b94('0x23')]+_0x3230f2['limit'];var _0x30200d;if(_0x2d53d2>=_0x9b46ba){_0x2d53d2=_0x9b46ba;_0x30200d=0xc8;}else{_0x30200d=0xce;}_0x1a0383[_0x6b94('0x20')](_0x30200d);return _0x1a0383[_0x6b94('0x25')](_0x6b94('0x26'),_0x23c87d+'-'+_0x2d53d2+'/'+_0x9b46ba)[_0x6b94('0x27')](_0x365723);}return null;};}function patchUpdates(_0x46b236){return function(_0xce78df){try{jsonpatch['apply'](_0xce78df,_0x46b236,!![]);}catch(_0x421781){return BPromise['reject'](_0x421781);}return _0xce78df[_0x6b94('0x28')]();};}function saveUpdates(_0x5f3eb1,_0x2d8891){return function(_0x46bed8){if(_0x46bed8){return _0x46bed8[_0x6b94('0x29')](_0x5f3eb1)[_0x6b94('0x2a')](function(_0xd9dca4){return _0xd9dca4;});}return null;};}function removeEntity(_0x3e1344,_0xbf8226){return function(_0x477d15){if(_0x477d15){return _0x477d15[_0x6b94('0x2b')]()[_0x6b94('0x2a')](function(){_0x3e1344[_0x6b94('0x20')](0xcc)[_0x6b94('0x1f')]();});}};}function handleEntityNotFound(_0x1cf08a,_0x31385e){return function(_0xb337be){if(!_0xb337be){_0x1cf08a[_0x6b94('0x1e')](0x194);}return _0xb337be;};}function handleError(_0x4bef60,_0x5f1392){_0x5f1392=_0x5f1392||0x1f4;return function(_0x25d57a){logger[_0x6b94('0x2c')](_0x25d57a['stack']);if(_0x25d57a[_0x6b94('0x2d')]){delete _0x25d57a['name'];}_0x4bef60[_0x6b94('0x20')](_0x5f1392)[_0x6b94('0x2e')](_0x25d57a);};}exports[_0x6b94('0x2f')]=function(_0x2c48ff,_0x14772a){var _0x2e2f07={},_0x1af008={},_0x5991da={'count':0x0,'rows':[]};var _0x1eadb3=_[_0x6b94('0x30')](db[_0x6b94('0x31')][_0x6b94('0x32')],function(_0x282d83){return{'name':_0x282d83['fieldName'],'type':_0x282d83[_0x6b94('0x33')][_0x6b94('0x34')]};});_0x1af008[_0x6b94('0x35')]=_['map'](_0x1eadb3,_0x6b94('0x2d'));_0x1af008[_0x6b94('0x36')]=_[_0x6b94('0x37')](_0x2c48ff[_0x6b94('0x36')]);_0x1af008[_0x6b94('0x38')]=_[_0x6b94('0x39')](_0x1af008[_0x6b94('0x35')],_0x1af008['query']);_0x2e2f07[_0x6b94('0x3a')]=_[_0x6b94('0x39')](_0x1af008[_0x6b94('0x35')],qs[_0x6b94('0x3b')](_0x2c48ff[_0x6b94('0x36')]['fields']));_0x2e2f07[_0x6b94('0x3a')]=_0x2e2f07[_0x6b94('0x3a')][_0x6b94('0x3c')]?_0x2e2f07[_0x6b94('0x3a')]:_0x1af008['model'];if(!_0x2c48ff[_0x6b94('0x36')][_0x6b94('0x3d')](_0x6b94('0x3e'))){_0x2e2f07[_0x6b94('0x21')]=qs['limit'](_0x2c48ff[_0x6b94('0x36')][_0x6b94('0x21')]);_0x2e2f07[_0x6b94('0x23')]=qs[_0x6b94('0x23')](_0x2c48ff[_0x6b94('0x36')][_0x6b94('0x23')]);}_0x2e2f07[_0x6b94('0x3f')]=qs[_0x6b94('0x40')](_0x2c48ff[_0x6b94('0x36')][_0x6b94('0x40')]);_0x2e2f07['where']=qs['filters'](_[_0x6b94('0x41')](_0x2c48ff[_0x6b94('0x36')],_0x1af008[_0x6b94('0x38')]),_0x1eadb3);if(_0x2c48ff[_0x6b94('0x36')]['filter']){_0x2e2f07[_0x6b94('0x42')]=_[_0x6b94('0x43')](_0x2e2f07['where'],{'$or':_[_0x6b94('0x30')](_0x1eadb3,function(_0x1ec261){if(_0x1ec261[_0x6b94('0x33')]!==_0x6b94('0x44')){var _0x5301df={};_0x5301df[_0x1ec261['name']]={'$like':'%'+_0x2c48ff[_0x6b94('0x36')][_0x6b94('0x45')]+'%'};return _0x5301df;}})});}_0x2e2f07=_['merge']({},_0x2e2f07,_0x2c48ff[_0x6b94('0x46')]);var _0x4b4cd6={'where':_0x2e2f07['where']};return db[_0x6b94('0x31')][_0x6b94('0x24')](_0x4b4cd6)[_0x6b94('0x2a')](function(_0x483b7a){_0x5991da['count']=_0x483b7a;if(_0x2c48ff[_0x6b94('0x36')]['includeAll']){_0x2e2f07[_0x6b94('0x47')]=[{'all':!![]}];}return db[_0x6b94('0x31')][_0x6b94('0x48')](_0x2e2f07);})[_0x6b94('0x2a')](function(_0x10899b){_0x5991da[_0x6b94('0x49')]=_0x10899b;return _0x5991da;})[_0x6b94('0x2a')](respondWithFilteredResult(_0x14772a,_0x2e2f07))[_0x6b94('0x4a')](handleError(_0x14772a,null));};exports[_0x6b94('0x4b')]=function(_0x482f0e,_0x34d4cf){var _0x2a3ab0={'raw':![],'where':{'id':_0x482f0e['params']['id']}},_0x1790a9={};_0x1790a9[_0x6b94('0x35')]=_['keys'](db[_0x6b94('0x31')][_0x6b94('0x32')]);_0x1790a9[_0x6b94('0x36')]=_[_0x6b94('0x37')](_0x482f0e['query']);_0x1790a9['filters']=_[_0x6b94('0x39')](_0x1790a9[_0x6b94('0x35')],_0x1790a9['query']);_0x2a3ab0[_0x6b94('0x3a')]=_[_0x6b94('0x39')](_0x1790a9['model'],qs[_0x6b94('0x3b')](_0x482f0e['query'][_0x6b94('0x3b')]));_0x2a3ab0['attributes']=_0x2a3ab0['attributes'][_0x6b94('0x3c')]?_0x2a3ab0[_0x6b94('0x3a')]:_0x1790a9['model'];if(_0x482f0e[_0x6b94('0x36')][_0x6b94('0x4c')]){_0x2a3ab0['include']=[{'all':!![]}];}_0x2a3ab0=_[_0x6b94('0x43')]({},_0x2a3ab0,_0x482f0e[_0x6b94('0x46')]);return db['VoiceQueueReport'][_0x6b94('0x4d')](_0x2a3ab0)[_0x6b94('0x2a')](handleEntityNotFound(_0x34d4cf,null))[_0x6b94('0x2a')](respondWithResult(_0x34d4cf,null))['catch'](handleError(_0x34d4cf,null));};exports['create']=function(_0x55a2d6,_0x21228b){return db['VoiceQueueReport'][_0x6b94('0x4e')](_0x55a2d6[_0x6b94('0x4f')],{})[_0x6b94('0x2a')](respondWithResult(_0x21228b,0xc9))['catch'](handleError(_0x21228b,null));};exports['update']=function(_0x403996,_0x5e9797){if(_0x403996[_0x6b94('0x4f')]['id']){delete _0x403996[_0x6b94('0x4f')]['id'];}return db[_0x6b94('0x31')]['find']({'where':{'id':_0x403996[_0x6b94('0x50')]['id']}})[_0x6b94('0x2a')](handleEntityNotFound(_0x5e9797,null))[_0x6b94('0x2a')](saveUpdates(_0x403996['body'],null))[_0x6b94('0x2a')](respondWithResult(_0x5e9797,null))[_0x6b94('0x4a')](handleError(_0x5e9797,null));};exports[_0x6b94('0x2b')]=function(_0x2db40e,_0x2a4525){return db['VoiceQueueReport'][_0x6b94('0x4d')]({'where':{'id':_0x2db40e[_0x6b94('0x50')]['id']}})[_0x6b94('0x2a')](handleEntityNotFound(_0x2a4525,null))[_0x6b94('0x2a')](removeEntity(_0x2a4525,null))[_0x6b94('0x4a')](handleError(_0x2a4525,null));};exports[_0x6b94('0x51')]=function(_0x5e71cf,_0x4b3e71){return db[_0x6b94('0x31')][_0x6b94('0x51')]()[_0x6b94('0x2a')](respondWithResult(_0x4b3e71,null))['catch'](handleError(_0x4b3e71,null));};exports['getVoiceQueuesReport']=function(_0x7f638b,_0x422821){var _0x2004fe={},_0xaaf6e={},_0x38b7bc={'count':0x0,'rows':[]};_0xaaf6e[_0x6b94('0x35')]=_['keys'](db[_0x6b94('0x31')][_0x6b94('0x32')]);_0xaaf6e[_0x6b94('0x36')]=_['keys'](_0x7f638b[_0x6b94('0x36')]);_0xaaf6e[_0x6b94('0x38')]=_[_0x6b94('0x39')](_0xaaf6e[_0x6b94('0x35')],_0xaaf6e['query']);_0x2004fe[_0x6b94('0x3a')]=_[_0x6b94('0x39')](_0xaaf6e[_0x6b94('0x35')],qs[_0x6b94('0x3b')](_0x7f638b[_0x6b94('0x36')][_0x6b94('0x3b')]));_0x2004fe[_0x6b94('0x3a')]=_0x2004fe[_0x6b94('0x3a')][_0x6b94('0x3c')]?_0x2004fe[_0x6b94('0x3a')]:_0xaaf6e['model'];if(!_0x7f638b[_0x6b94('0x36')]['hasOwnProperty'](_0x6b94('0x3e'))){_0x2004fe[_0x6b94('0x21')]=qs['limit'](_0x7f638b[_0x6b94('0x36')][_0x6b94('0x21')]);_0x2004fe[_0x6b94('0x23')]=qs[_0x6b94('0x23')](_0x7f638b[_0x6b94('0x36')]['offset']);}_0x2004fe[_0x6b94('0x3f')]=qs[_0x6b94('0x40')](_0x7f638b['query'][_0x6b94('0x40')]);_0x2004fe['where']=qs[_0x6b94('0x38')](_[_0x6b94('0x41')](_0x7f638b[_0x6b94('0x36')],_0xaaf6e[_0x6b94('0x38')]));if(_0x7f638b[_0x6b94('0x36')][_0x6b94('0x45')]){_0x2004fe[_0x6b94('0x42')]=_[_0x6b94('0x43')](_0x2004fe['where'],{'$or':_[_0x6b94('0x30')](_0x2004fe[_0x6b94('0x3a')],function(_0x35bbf7){var _0x147f29={};_0x147f29[_0x35bbf7]={'$like':'%'+_0x7f638b[_0x6b94('0x36')][_0x6b94('0x45')]+'%'};return _0x147f29;})});}_0x2004fe=_[_0x6b94('0x43')]({},_0x2004fe,_0x7f638b[_0x6b94('0x46')]);var _0x682184={'where':_0x2004fe[_0x6b94('0x42')]};return db[_0x6b94('0x31')][_0x6b94('0x24')](_0x682184)[_0x6b94('0x2a')](function(_0x138d1d){_0x38b7bc[_0x6b94('0x24')]=_0x138d1d;if(_0x7f638b[_0x6b94('0x36')][_0x6b94('0x4c')]){_0x2004fe['include']=[{'all':!![]}];}return db[_0x6b94('0x31')]['findAll'](_0x2004fe);})[_0x6b94('0x2a')](function(_0x4c7a98){_0x38b7bc['rows']=_0x4c7a98;return _0x38b7bc;})[_0x6b94('0x2a')](respondWithFilteredResult(_0x422821,_0x2004fe,_0x6b94('0x52')))['catch'](handleError(_0x422821,null,_0x6b94('0x52')));};