Built motion from commit 8271bb6f.|2.6.28
[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 _0x7152=['register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','destroy','then','end','error','stack','name','send','index','map','VoiceQueueReport','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','getVoiceQueuesReport','hasOwnProperty','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','defaults','localhost'];(function(_0x4b4638,_0xe99cda){var _0x59e92b=function(_0x2817ea){while(--_0x2817ea){_0x4b4638['push'](_0x4b4638['shift']());}};_0x59e92b(++_0xe99cda);}(_0x7152,0x8a));var _0x2715=function(_0x498c78,_0x2eab48){_0x498c78=_0x498c78-0x0;var _0xb7697f=_0x7152[_0x498c78];return _0xb7697f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2715('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2715('0x1'));var rp=require(_0x2715('0x2'));var moment=require(_0x2715('0x3'));var BPromise=require(_0x2715('0x4'));var Mustache=require(_0x2715('0x5'));var util=require('util');var path=require(_0x2715('0x6'));var sox=require(_0x2715('0x7'));var csv=require(_0x2715('0x8'));var ejs=require(_0x2715('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2715('0xa'));var squel=require(_0x2715('0xb'));var crypto=require(_0x2715('0xc'));var jsforce=require(_0x2715('0xd'));var deskjs=require(_0x2715('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x2715('0xf'));var authService=require(_0x2715('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x2715('0x11'));var hardwareService=require(_0x2715('0x12'));var logger=require(_0x2715('0x13'))(_0x2715('0x14'));var utils=require(_0x2715('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x2715('0x16'));var db=require('../../mysqldb')['db'];config[_0x2715('0x17')]=_[_0x2715('0x18')](config[_0x2715('0x17')],{'host':_0x2715('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2715('0x17')]));require('./voiceQueueReport.socket')[_0x2715('0x1a')](socket);function respondWithStatusCode(_0xa76097,_0x205194){_0x205194=_0x205194||0xcc;return function(_0x4c4f0a){if(_0x4c4f0a){return _0xa76097[_0x2715('0x1b')](_0x205194);}return _0xa76097['status'](_0x205194)['end']();};}function respondWithResult(_0x25fd99,_0x4634da){_0x4634da=_0x4634da||0xc8;return function(_0xff9968){if(_0xff9968){return _0x25fd99[_0x2715('0x1c')](_0x4634da)[_0x2715('0x1d')](_0xff9968);}};}function respondWithFilteredResult(_0x5f19b8,_0x4f934b){return function(_0x921ef5){if(_0x921ef5){var _0xade852=typeof _0x4f934b[_0x2715('0x1e')]===_0x2715('0x1f')&&typeof _0x4f934b['limit']===_0x2715('0x1f');var _0xc80cc=_0x921ef5[_0x2715('0x20')];var _0x5c40f7=_0xade852?0x0:_0x4f934b[_0x2715('0x1e')];var _0xa61281=_0xade852?_0x921ef5[_0x2715('0x20')]:_0x4f934b[_0x2715('0x1e')]+_0x4f934b[_0x2715('0x21')];var _0x38683d;if(_0xa61281>=_0xc80cc){_0xa61281=_0xc80cc;_0x38683d=0xc8;}else{_0x38683d=0xce;}_0x5f19b8[_0x2715('0x1c')](_0x38683d);return _0x5f19b8[_0x2715('0x22')](_0x2715('0x23'),_0x5c40f7+'-'+_0xa61281+'/'+_0xc80cc)[_0x2715('0x1d')](_0x921ef5);}return null;};}function patchUpdates(_0x3737a9){return function(_0x1eef92){try{jsonpatch[_0x2715('0x24')](_0x1eef92,_0x3737a9,!![]);}catch(_0x2e734b){return BPromise['reject'](_0x2e734b);}return _0x1eef92[_0x2715('0x25')]();};}function saveUpdates(_0x592716,_0x3a0550){return function(_0x262bb1){if(_0x262bb1){return _0x262bb1[_0x2715('0x26')](_0x592716)['then'](function(_0x4cde6f){return _0x4cde6f;});}return null;};}function removeEntity(_0x3ffb35,_0x1ee953){return function(_0x21d606){if(_0x21d606){return _0x21d606[_0x2715('0x27')]()[_0x2715('0x28')](function(){_0x3ffb35[_0x2715('0x1c')](0xcc)[_0x2715('0x29')]();});}};}function handleEntityNotFound(_0x3e7088,_0x1f6971){return function(_0x5de12e){if(!_0x5de12e){_0x3e7088[_0x2715('0x1b')](0x194);}return _0x5de12e;};}function handleError(_0x33a146,_0x2cc17e){_0x2cc17e=_0x2cc17e||0x1f4;return function(_0x19b998){logger[_0x2715('0x2a')](_0x19b998[_0x2715('0x2b')]);if(_0x19b998[_0x2715('0x2c')]){delete _0x19b998[_0x2715('0x2c')];}_0x33a146[_0x2715('0x1c')](_0x2cc17e)[_0x2715('0x2d')](_0x19b998);};}exports[_0x2715('0x2e')]=function(_0x2567d5,_0x4d744e){var _0x42e5af={},_0x38191a={},_0x49df57={'count':0x0,'rows':[]};var _0x32bcf1=_[_0x2715('0x2f')](db[_0x2715('0x30')][_0x2715('0x31')],function(_0x8dc71b){return{'name':_0x8dc71b[_0x2715('0x32')],'type':_0x8dc71b[_0x2715('0x33')][_0x2715('0x34')]};});_0x38191a[_0x2715('0x35')]=_['map'](_0x32bcf1,_0x2715('0x2c'));_0x38191a['query']=_[_0x2715('0x36')](_0x2567d5['query']);_0x38191a[_0x2715('0x37')]=_[_0x2715('0x38')](_0x38191a['model'],_0x38191a[_0x2715('0x39')]);_0x42e5af[_0x2715('0x3a')]=_['intersection'](_0x38191a['model'],qs[_0x2715('0x3b')](_0x2567d5['query'][_0x2715('0x3b')]));_0x42e5af['attributes']=_0x42e5af['attributes'][_0x2715('0x3c')]?_0x42e5af[_0x2715('0x3a')]:_0x38191a[_0x2715('0x35')];if(!_0x2567d5['query']['hasOwnProperty'](_0x2715('0x3d'))){_0x42e5af[_0x2715('0x21')]=qs[_0x2715('0x21')](_0x2567d5[_0x2715('0x39')][_0x2715('0x21')]);_0x42e5af['offset']=qs['offset'](_0x2567d5['query'][_0x2715('0x1e')]);}_0x42e5af[_0x2715('0x3e')]=qs['sort'](_0x2567d5[_0x2715('0x39')][_0x2715('0x3f')]);_0x42e5af[_0x2715('0x40')]=qs[_0x2715('0x37')](_[_0x2715('0x41')](_0x2567d5[_0x2715('0x39')],_0x38191a[_0x2715('0x37')]),_0x32bcf1);if(_0x2567d5[_0x2715('0x39')][_0x2715('0x42')]){_0x42e5af[_0x2715('0x40')]=_['merge'](_0x42e5af[_0x2715('0x40')],{'$or':_[_0x2715('0x2f')](_0x32bcf1,function(_0x3339d6){if(_0x3339d6[_0x2715('0x33')]!==_0x2715('0x43')){var _0x1ed730={};_0x1ed730[_0x3339d6['name']]={'$like':'%'+_0x2567d5['query']['filter']+'%'};return _0x1ed730;}})});}_0x42e5af=_[_0x2715('0x44')]({},_0x42e5af,_0x2567d5[_0x2715('0x45')]);var _0x336506={'where':_0x42e5af['where']};return db[_0x2715('0x30')][_0x2715('0x20')](_0x336506)['then'](function(_0x47f325){_0x49df57[_0x2715('0x20')]=_0x47f325;if(_0x2567d5[_0x2715('0x39')]['includeAll']){_0x42e5af[_0x2715('0x46')]=[{'all':!![]}];}return db['VoiceQueueReport'][_0x2715('0x47')](_0x42e5af);})[_0x2715('0x28')](function(_0xd361fc){_0x49df57[_0x2715('0x48')]=_0xd361fc;return _0x49df57;})[_0x2715('0x28')](respondWithFilteredResult(_0x4d744e,_0x42e5af))[_0x2715('0x49')](handleError(_0x4d744e,null));};exports[_0x2715('0x4a')]=function(_0x173d06,_0x5de318){var _0x4cf9b1={'raw':![],'where':{'id':_0x173d06[_0x2715('0x4b')]['id']}},_0x56f323={};_0x56f323[_0x2715('0x35')]=_[_0x2715('0x36')](db[_0x2715('0x30')][_0x2715('0x31')]);_0x56f323['query']=_[_0x2715('0x36')](_0x173d06[_0x2715('0x39')]);_0x56f323[_0x2715('0x37')]=_['intersection'](_0x56f323[_0x2715('0x35')],_0x56f323[_0x2715('0x39')]);_0x4cf9b1[_0x2715('0x3a')]=_[_0x2715('0x38')](_0x56f323[_0x2715('0x35')],qs[_0x2715('0x3b')](_0x173d06[_0x2715('0x39')]['fields']));_0x4cf9b1[_0x2715('0x3a')]=_0x4cf9b1['attributes']['length']?_0x4cf9b1[_0x2715('0x3a')]:_0x56f323[_0x2715('0x35')];if(_0x173d06[_0x2715('0x39')][_0x2715('0x4c')]){_0x4cf9b1['include']=[{'all':!![]}];}_0x4cf9b1=_[_0x2715('0x44')]({},_0x4cf9b1,_0x173d06[_0x2715('0x45')]);return db[_0x2715('0x30')][_0x2715('0x4d')](_0x4cf9b1)[_0x2715('0x28')](handleEntityNotFound(_0x5de318,null))[_0x2715('0x28')](respondWithResult(_0x5de318,null))[_0x2715('0x49')](handleError(_0x5de318,null));};exports[_0x2715('0x4e')]=function(_0x234934,_0x29039b){return db[_0x2715('0x30')][_0x2715('0x4e')](_0x234934[_0x2715('0x4f')],{})[_0x2715('0x28')](respondWithResult(_0x29039b,0xc9))['catch'](handleError(_0x29039b,null));};exports[_0x2715('0x26')]=function(_0xbf0c89,_0x2d982e){if(_0xbf0c89[_0x2715('0x4f')]['id']){delete _0xbf0c89[_0x2715('0x4f')]['id'];}return db[_0x2715('0x30')][_0x2715('0x4d')]({'where':{'id':_0xbf0c89['params']['id']}})[_0x2715('0x28')](handleEntityNotFound(_0x2d982e,null))[_0x2715('0x28')](saveUpdates(_0xbf0c89[_0x2715('0x4f')],null))[_0x2715('0x28')](respondWithResult(_0x2d982e,null))['catch'](handleError(_0x2d982e,null));};exports[_0x2715('0x27')]=function(_0x261702,_0x48f11d){return db[_0x2715('0x30')][_0x2715('0x4d')]({'where':{'id':_0x261702[_0x2715('0x4b')]['id']}})[_0x2715('0x28')](handleEntityNotFound(_0x48f11d,null))['then'](removeEntity(_0x48f11d,null))[_0x2715('0x49')](handleError(_0x48f11d,null));};exports['describe']=function(_0xe9e5c4,_0x562cdd){return db[_0x2715('0x30')]['describe']()[_0x2715('0x28')](respondWithResult(_0x562cdd,null))[_0x2715('0x49')](handleError(_0x562cdd,null));};exports[_0x2715('0x50')]=function(_0x291439,_0x5e53c9){var _0x1d347c={},_0x43707e={},_0x42a837={'count':0x0,'rows':[]};_0x43707e[_0x2715('0x35')]=_[_0x2715('0x36')](db[_0x2715('0x30')][_0x2715('0x31')]);_0x43707e['query']=_[_0x2715('0x36')](_0x291439['query']);_0x43707e[_0x2715('0x37')]=_[_0x2715('0x38')](_0x43707e[_0x2715('0x35')],_0x43707e[_0x2715('0x39')]);_0x1d347c['attributes']=_[_0x2715('0x38')](_0x43707e[_0x2715('0x35')],qs[_0x2715('0x3b')](_0x291439[_0x2715('0x39')]['fields']));_0x1d347c['attributes']=_0x1d347c[_0x2715('0x3a')][_0x2715('0x3c')]?_0x1d347c[_0x2715('0x3a')]:_0x43707e[_0x2715('0x35')];if(!_0x291439['query'][_0x2715('0x51')](_0x2715('0x3d'))){_0x1d347c[_0x2715('0x21')]=qs[_0x2715('0x21')](_0x291439['query'][_0x2715('0x21')]);_0x1d347c['offset']=qs['offset'](_0x291439[_0x2715('0x39')][_0x2715('0x1e')]);}_0x1d347c[_0x2715('0x3e')]=qs[_0x2715('0x3f')](_0x291439['query'][_0x2715('0x3f')]);_0x1d347c[_0x2715('0x40')]=qs[_0x2715('0x37')](_['pick'](_0x291439[_0x2715('0x39')],_0x43707e['filters']));if(_0x291439[_0x2715('0x39')][_0x2715('0x42')]){_0x1d347c['where']=_['merge'](_0x1d347c[_0x2715('0x40')],{'$or':_[_0x2715('0x2f')](_0x1d347c[_0x2715('0x3a')],function(_0x4c764a){var _0x33bec3={};_0x33bec3[_0x4c764a]={'$like':'%'+_0x291439['query']['filter']+'%'};return _0x33bec3;})});}_0x1d347c=_[_0x2715('0x44')]({},_0x1d347c,_0x291439[_0x2715('0x45')]);var _0x572fd5={'where':_0x1d347c[_0x2715('0x40')]};return db['VoiceQueueReport'][_0x2715('0x20')](_0x572fd5)[_0x2715('0x28')](function(_0x46bf1c){_0x42a837['count']=_0x46bf1c;if(_0x291439['query']['includeAll']){_0x1d347c[_0x2715('0x46')]=[{'all':!![]}];}return db[_0x2715('0x30')][_0x2715('0x47')](_0x1d347c);})['then'](function(_0x38ebcb){_0x42a837[_0x2715('0x48')]=_0x38ebcb;return _0x42a837;})[_0x2715('0x28')](respondWithFilteredResult(_0x5e53c9,_0x1d347c,'getVoiceQueuesReport'))[_0x2715('0x49')](handleError(_0x5e53c9,null,'getVoiceQueuesReport'));};