Built motion from commit f0a64034.|2.6.11
[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 _0x4d50=['limit','undefined','count','offset','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','map','VoiceQueueReport','rawAttributes','fieldName','type','model','keys','filters','intersection','attributes','fields','query','length','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','find','create','body','update','describe','getVoiceQueuesReport','hasOwnProperty','pick','rows','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','./voiceQueueReport.socket','sendStatus','status','end','json'];(function(_0x1da527,_0x2dc953){var _0x40fc7c=function(_0x9949f5){while(--_0x9949f5){_0x1da527['push'](_0x1da527['shift']());}};_0x40fc7c(++_0x2dc953);}(_0x4d50,0x124));var _0x04d5=function(_0x32c4d0,_0x548e6f){_0x32c4d0=_0x32c4d0-0x0;var _0x5359bc=_0x4d50[_0x32c4d0];return _0x5359bc;};'use strict';var emlformat=require(_0x04d5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x04d5('0x1'));var jsonpatch=require(_0x04d5('0x2'));var rp=require('request-promise');var moment=require(_0x04d5('0x3'));var BPromise=require(_0x04d5('0x4'));var Mustache=require(_0x04d5('0x5'));var util=require(_0x04d5('0x6'));var path=require(_0x04d5('0x7'));var sox=require('sox');var csv=require(_0x04d5('0x8'));var ejs=require(_0x04d5('0x9'));var fs=require('fs');var fs_extra=require(_0x04d5('0xa'));var _=require(_0x04d5('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x04d5('0xc'));var deskjs=require(_0x04d5('0xd'));var toCsv=require(_0x04d5('0x8'));var querystring=require('querystring');var Papa=require(_0x04d5('0xe'));var Redis=require(_0x04d5('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x04d5('0x10'));var as=require(_0x04d5('0x11'));var hardwareService=require(_0x04d5('0x12'));var logger=require(_0x04d5('0x13'))(_0x04d5('0x14'));var utils=require(_0x04d5('0x15'));var config=require(_0x04d5('0x16'));var licenseUtil=require(_0x04d5('0x17'));var db=require(_0x04d5('0x18'))['db'];config[_0x04d5('0x19')]=_['defaults'](config[_0x04d5('0x19')],{'host':_0x04d5('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x04d5('0x19')]));require(_0x04d5('0x1b'))['register'](socket);function respondWithStatusCode(_0x29f43a,_0x3469f4){_0x3469f4=_0x3469f4||0xcc;return function(_0x40047a){if(_0x40047a){return _0x29f43a[_0x04d5('0x1c')](_0x3469f4);}return _0x29f43a[_0x04d5('0x1d')](_0x3469f4)[_0x04d5('0x1e')]();};}function respondWithResult(_0x299197,_0x24bdff){_0x24bdff=_0x24bdff||0xc8;return function(_0x431f94){if(_0x431f94){return _0x299197['status'](_0x24bdff)[_0x04d5('0x1f')](_0x431f94);}};}function respondWithFilteredResult(_0x56e2fa,_0x5b0c3e){return function(_0xae12f7){if(_0xae12f7){var _0x5b6d93=typeof _0x5b0c3e['offset']==='undefined'&&typeof _0x5b0c3e[_0x04d5('0x20')]===_0x04d5('0x21');var _0x51fd9e=_0xae12f7[_0x04d5('0x22')];var _0x165223=_0x5b6d93?0x0:_0x5b0c3e[_0x04d5('0x23')];var _0x521ead=_0x5b6d93?_0xae12f7['count']:_0x5b0c3e['offset']+_0x5b0c3e[_0x04d5('0x20')];var _0x25e34d;if(_0x521ead>=_0x51fd9e){_0x521ead=_0x51fd9e;_0x25e34d=0xc8;}else{_0x25e34d=0xce;}_0x56e2fa[_0x04d5('0x1d')](_0x25e34d);return _0x56e2fa[_0x04d5('0x24')](_0x04d5('0x25'),_0x165223+'-'+_0x521ead+'/'+_0x51fd9e)[_0x04d5('0x1f')](_0xae12f7);}return null;};}function patchUpdates(_0x201893){return function(_0xe4bc6c){try{jsonpatch[_0x04d5('0x26')](_0xe4bc6c,_0x201893,!![]);}catch(_0x279eb6){return BPromise[_0x04d5('0x27')](_0x279eb6);}return _0xe4bc6c[_0x04d5('0x28')]();};}function saveUpdates(_0x4b05da,_0x11f79c){return function(_0x5e60b4){if(_0x5e60b4){return _0x5e60b4['update'](_0x4b05da)[_0x04d5('0x29')](function(_0xcd754f){return _0xcd754f;});}return null;};}function removeEntity(_0x417a2f,_0x507767){return function(_0x43833b){if(_0x43833b){return _0x43833b[_0x04d5('0x2a')]()[_0x04d5('0x29')](function(){_0x417a2f['status'](0xcc)[_0x04d5('0x1e')]();});}};}function handleEntityNotFound(_0x5c7f7a,_0x1603bf){return function(_0x4bd05a){if(!_0x4bd05a){_0x5c7f7a['sendStatus'](0x194);}return _0x4bd05a;};}function handleError(_0x5cf1e8,_0x2bf315){_0x2bf315=_0x2bf315||0x1f4;return function(_0x512360){logger['error'](_0x512360[_0x04d5('0x2b')]);if(_0x512360['name']){delete _0x512360[_0x04d5('0x2c')];}_0x5cf1e8[_0x04d5('0x1d')](_0x2bf315)[_0x04d5('0x2d')](_0x512360);};}exports['index']=function(_0x177370,_0x552f28){var _0x545e50={},_0x2ab11d={},_0x28831a={'count':0x0,'rows':[]};var _0x172bef=_[_0x04d5('0x2e')](db[_0x04d5('0x2f')][_0x04d5('0x30')],function(_0x445e3c){return{'name':_0x445e3c[_0x04d5('0x31')],'type':_0x445e3c[_0x04d5('0x32')]['key']};});_0x2ab11d[_0x04d5('0x33')]=_[_0x04d5('0x2e')](_0x172bef,_0x04d5('0x2c'));_0x2ab11d['query']=_[_0x04d5('0x34')](_0x177370['query']);_0x2ab11d[_0x04d5('0x35')]=_[_0x04d5('0x36')](_0x2ab11d[_0x04d5('0x33')],_0x2ab11d['query']);_0x545e50[_0x04d5('0x37')]=_['intersection'](_0x2ab11d[_0x04d5('0x33')],qs[_0x04d5('0x38')](_0x177370[_0x04d5('0x39')][_0x04d5('0x38')]));_0x545e50[_0x04d5('0x37')]=_0x545e50[_0x04d5('0x37')][_0x04d5('0x3a')]?_0x545e50[_0x04d5('0x37')]:_0x2ab11d[_0x04d5('0x33')];if(!_0x177370['query']['hasOwnProperty']('nolimit')){_0x545e50[_0x04d5('0x20')]=qs[_0x04d5('0x20')](_0x177370['query'][_0x04d5('0x20')]);_0x545e50[_0x04d5('0x23')]=qs[_0x04d5('0x23')](_0x177370[_0x04d5('0x39')][_0x04d5('0x23')]);}_0x545e50[_0x04d5('0x3b')]=qs[_0x04d5('0x3c')](_0x177370[_0x04d5('0x39')][_0x04d5('0x3c')]);_0x545e50[_0x04d5('0x3d')]=qs[_0x04d5('0x35')](_['pick'](_0x177370[_0x04d5('0x39')],_0x2ab11d['filters']),_0x172bef);if(_0x177370[_0x04d5('0x39')][_0x04d5('0x3e')]){_0x545e50[_0x04d5('0x3d')]=_[_0x04d5('0x3f')](_0x545e50[_0x04d5('0x3d')],{'$or':_[_0x04d5('0x2e')](_0x172bef,function(_0x57a788){if(_0x57a788[_0x04d5('0x32')]!==_0x04d5('0x40')){var _0x3c7fc0={};_0x3c7fc0[_0x57a788[_0x04d5('0x2c')]]={'$like':'%'+_0x177370[_0x04d5('0x39')][_0x04d5('0x3e')]+'%'};return _0x3c7fc0;}})});}_0x545e50=_[_0x04d5('0x3f')]({},_0x545e50,_0x177370[_0x04d5('0x41')]);var _0x8aadbf={'where':_0x545e50[_0x04d5('0x3d')]};return db[_0x04d5('0x2f')][_0x04d5('0x22')](_0x8aadbf)[_0x04d5('0x29')](function(_0x3b4166){_0x28831a[_0x04d5('0x22')]=_0x3b4166;if(_0x177370[_0x04d5('0x39')][_0x04d5('0x42')]){_0x545e50[_0x04d5('0x43')]=[{'all':!![]}];}return db[_0x04d5('0x2f')][_0x04d5('0x44')](_0x545e50);})[_0x04d5('0x29')](function(_0x4f5e12){_0x28831a['rows']=_0x4f5e12;return _0x28831a;})[_0x04d5('0x29')](respondWithFilteredResult(_0x552f28,_0x545e50))[_0x04d5('0x45')](handleError(_0x552f28,null));};exports[_0x04d5('0x46')]=function(_0x4967ae,_0x2d802b){var _0x2cd850={'raw':![],'where':{'id':_0x4967ae[_0x04d5('0x47')]['id']}},_0x2762ed={};_0x2762ed[_0x04d5('0x33')]=_['keys'](db['VoiceQueueReport'][_0x04d5('0x30')]);_0x2762ed[_0x04d5('0x39')]=_['keys'](_0x4967ae['query']);_0x2762ed['filters']=_['intersection'](_0x2762ed['model'],_0x2762ed[_0x04d5('0x39')]);_0x2cd850[_0x04d5('0x37')]=_['intersection'](_0x2762ed[_0x04d5('0x33')],qs[_0x04d5('0x38')](_0x4967ae[_0x04d5('0x39')]['fields']));_0x2cd850['attributes']=_0x2cd850[_0x04d5('0x37')][_0x04d5('0x3a')]?_0x2cd850[_0x04d5('0x37')]:_0x2762ed['model'];if(_0x4967ae[_0x04d5('0x39')][_0x04d5('0x42')]){_0x2cd850[_0x04d5('0x43')]=[{'all':!![]}];}_0x2cd850=_[_0x04d5('0x3f')]({},_0x2cd850,_0x4967ae[_0x04d5('0x41')]);return db[_0x04d5('0x2f')][_0x04d5('0x48')](_0x2cd850)[_0x04d5('0x29')](handleEntityNotFound(_0x2d802b,null))[_0x04d5('0x29')](respondWithResult(_0x2d802b,null))[_0x04d5('0x45')](handleError(_0x2d802b,null));};exports[_0x04d5('0x49')]=function(_0x2dca1d,_0x4547e4){return db['VoiceQueueReport'][_0x04d5('0x49')](_0x2dca1d[_0x04d5('0x4a')],{})['then'](respondWithResult(_0x4547e4,0xc9))[_0x04d5('0x45')](handleError(_0x4547e4,null));};exports[_0x04d5('0x4b')]=function(_0x54f54a,_0x47231f){if(_0x54f54a[_0x04d5('0x4a')]['id']){delete _0x54f54a['body']['id'];}return db[_0x04d5('0x2f')][_0x04d5('0x48')]({'where':{'id':_0x54f54a['params']['id']}})[_0x04d5('0x29')](handleEntityNotFound(_0x47231f,null))[_0x04d5('0x29')](saveUpdates(_0x54f54a['body'],null))[_0x04d5('0x29')](respondWithResult(_0x47231f,null))['catch'](handleError(_0x47231f,null));};exports[_0x04d5('0x2a')]=function(_0x4eb0a5,_0x431010){return db['VoiceQueueReport']['find']({'where':{'id':_0x4eb0a5['params']['id']}})['then'](handleEntityNotFound(_0x431010,null))[_0x04d5('0x29')](removeEntity(_0x431010,null))[_0x04d5('0x45')](handleError(_0x431010,null));};exports[_0x04d5('0x4c')]=function(_0x56311a,_0x5460b6){return db[_0x04d5('0x2f')][_0x04d5('0x4c')]()['then'](respondWithResult(_0x5460b6,null))[_0x04d5('0x45')](handleError(_0x5460b6,null));};exports[_0x04d5('0x4d')]=function(_0x59594b,_0xfcd383){var _0x24462a={},_0x1e93b8={},_0xf9677d={'count':0x0,'rows':[]};_0x1e93b8[_0x04d5('0x33')]=_[_0x04d5('0x34')](db[_0x04d5('0x2f')]['rawAttributes']);_0x1e93b8[_0x04d5('0x39')]=_[_0x04d5('0x34')](_0x59594b[_0x04d5('0x39')]);_0x1e93b8[_0x04d5('0x35')]=_['intersection'](_0x1e93b8['model'],_0x1e93b8[_0x04d5('0x39')]);_0x24462a[_0x04d5('0x37')]=_[_0x04d5('0x36')](_0x1e93b8[_0x04d5('0x33')],qs['fields'](_0x59594b[_0x04d5('0x39')]['fields']));_0x24462a[_0x04d5('0x37')]=_0x24462a[_0x04d5('0x37')][_0x04d5('0x3a')]?_0x24462a[_0x04d5('0x37')]:_0x1e93b8[_0x04d5('0x33')];if(!_0x59594b[_0x04d5('0x39')][_0x04d5('0x4e')]('nolimit')){_0x24462a[_0x04d5('0x20')]=qs[_0x04d5('0x20')](_0x59594b['query']['limit']);_0x24462a['offset']=qs['offset'](_0x59594b[_0x04d5('0x39')][_0x04d5('0x23')]);}_0x24462a[_0x04d5('0x3b')]=qs[_0x04d5('0x3c')](_0x59594b[_0x04d5('0x39')][_0x04d5('0x3c')]);_0x24462a[_0x04d5('0x3d')]=qs[_0x04d5('0x35')](_[_0x04d5('0x4f')](_0x59594b[_0x04d5('0x39')],_0x1e93b8[_0x04d5('0x35')]));if(_0x59594b['query'][_0x04d5('0x3e')]){_0x24462a[_0x04d5('0x3d')]=_['merge'](_0x24462a[_0x04d5('0x3d')],{'$or':_[_0x04d5('0x2e')](_0x24462a[_0x04d5('0x37')],function(_0x2fc45f){var _0xd91ccb={};_0xd91ccb[_0x2fc45f]={'$like':'%'+_0x59594b[_0x04d5('0x39')][_0x04d5('0x3e')]+'%'};return _0xd91ccb;})});}_0x24462a=_['merge']({},_0x24462a,_0x59594b[_0x04d5('0x41')]);var _0x387bcd={'where':_0x24462a[_0x04d5('0x3d')]};return db[_0x04d5('0x2f')][_0x04d5('0x22')](_0x387bcd)[_0x04d5('0x29')](function(_0xb801f3){_0xf9677d[_0x04d5('0x22')]=_0xb801f3;if(_0x59594b[_0x04d5('0x39')][_0x04d5('0x42')]){_0x24462a['include']=[{'all':!![]}];}return db[_0x04d5('0x2f')][_0x04d5('0x44')](_0x24462a);})['then'](function(_0x460c28){_0xf9677d[_0x04d5('0x50')]=_0x460c28;return _0xf9677d;})[_0x04d5('0x29')](respondWithFilteredResult(_0xfcd383,_0x24462a,_0x04d5('0x4d')))[_0x04d5('0x45')](handleError(_0xfcd383,null,_0x04d5('0x4d')));};