Built motion from commit b0a9a629.|2.6.33
[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 _0x39e6=['rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','then','include','findAll','rows','catch','show','params','keys','includeAll','options','find','create','body','describe','getVoiceQueuesReport','hasOwnProperty','nolimit','order','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','status','json','undefined','limit','offset','count','set','Content-Range','apply','reject','update','destroy','end','error','stack','name','send','index','map','VoiceQueueReport'];(function(_0x54a028,_0x59baf1){var _0x5db66d=function(_0xb722e0){while(--_0xb722e0){_0x54a028['push'](_0x54a028['shift']());}};_0x5db66d(++_0x59baf1);}(_0x39e6,0x125));var _0x639e=function(_0x327346,_0x213599){_0x327346=_0x327346-0x0;var _0xa548a3=_0x39e6[_0x327346];return _0xa548a3;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x639e('0x0'));var zipdir=require(_0x639e('0x1'));var jsonpatch=require(_0x639e('0x2'));var rp=require(_0x639e('0x3'));var moment=require(_0x639e('0x4'));var BPromise=require(_0x639e('0x5'));var Mustache=require(_0x639e('0x6'));var util=require('util');var path=require(_0x639e('0x7'));var sox=require(_0x639e('0x8'));var csv=require(_0x639e('0x9'));var ejs=require(_0x639e('0xa'));var fs=require('fs');var fs_extra=require(_0x639e('0xb'));var _=require(_0x639e('0xc'));var squel=require('squel');var crypto=require(_0x639e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x639e('0xe'));var toCsv=require(_0x639e('0x9'));var querystring=require(_0x639e('0xf'));var Papa=require(_0x639e('0x10'));var Redis=require(_0x639e('0x11'));var authService=require(_0x639e('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x639e('0x13'));var hardwareService=require(_0x639e('0x14'));var logger=require('../../config/logger')(_0x639e('0x15'));var utils=require(_0x639e('0x16'));var config=require(_0x639e('0x17'));var licenseUtil=require(_0x639e('0x18'));var db=require(_0x639e('0x19'))['db'];config[_0x639e('0x1a')]=_[_0x639e('0x1b')](config[_0x639e('0x1a')],{'host':_0x639e('0x1c'),'port':0x18eb});var socket=require(_0x639e('0x1d'))(new Redis(config[_0x639e('0x1a')]));require(_0x639e('0x1e'))['register'](socket);function respondWithStatusCode(_0x4fc3a3,_0x2482fc){_0x2482fc=_0x2482fc||0xcc;return function(_0x1d88e9){if(_0x1d88e9){return _0x4fc3a3['sendStatus'](_0x2482fc);}return _0x4fc3a3[_0x639e('0x1f')](_0x2482fc)['end']();};}function respondWithResult(_0x351d62,_0x21c438){_0x21c438=_0x21c438||0xc8;return function(_0xa1cdcc){if(_0xa1cdcc){return _0x351d62['status'](_0x21c438)[_0x639e('0x20')](_0xa1cdcc);}};}function respondWithFilteredResult(_0x1797a5,_0xd6a22a){return function(_0x3b7db5){if(_0x3b7db5){var _0x3aa4a6=typeof _0xd6a22a['offset']===_0x639e('0x21')&&typeof _0xd6a22a[_0x639e('0x22')]===_0x639e('0x21');var _0x4af25f=_0x3b7db5['count'];var _0x1b3533=_0x3aa4a6?0x0:_0xd6a22a[_0x639e('0x23')];var _0x4e61d0=_0x3aa4a6?_0x3b7db5[_0x639e('0x24')]:_0xd6a22a['offset']+_0xd6a22a['limit'];var _0x142532;if(_0x4e61d0>=_0x4af25f){_0x4e61d0=_0x4af25f;_0x142532=0xc8;}else{_0x142532=0xce;}_0x1797a5['status'](_0x142532);return _0x1797a5[_0x639e('0x25')](_0x639e('0x26'),_0x1b3533+'-'+_0x4e61d0+'/'+_0x4af25f)['json'](_0x3b7db5);}return null;};}function patchUpdates(_0x1d0561){return function(_0x29f868){try{jsonpatch[_0x639e('0x27')](_0x29f868,_0x1d0561,!![]);}catch(_0xc95de){return BPromise[_0x639e('0x28')](_0xc95de);}return _0x29f868['save']();};}function saveUpdates(_0x79050d,_0x1d25c0){return function(_0x435f42){if(_0x435f42){return _0x435f42[_0x639e('0x29')](_0x79050d)['then'](function(_0x192722){return _0x192722;});}return null;};}function removeEntity(_0x11cdde,_0x356d84){return function(_0x87b3e7){if(_0x87b3e7){return _0x87b3e7[_0x639e('0x2a')]()['then'](function(){_0x11cdde[_0x639e('0x1f')](0xcc)[_0x639e('0x2b')]();});}};}function handleEntityNotFound(_0x262d9a,_0x50c32f){return function(_0x532d4c){if(!_0x532d4c){_0x262d9a['sendStatus'](0x194);}return _0x532d4c;};}function handleError(_0x1e9b09,_0x536335){_0x536335=_0x536335||0x1f4;return function(_0x48bf16){logger[_0x639e('0x2c')](_0x48bf16[_0x639e('0x2d')]);if(_0x48bf16[_0x639e('0x2e')]){delete _0x48bf16[_0x639e('0x2e')];}_0x1e9b09[_0x639e('0x1f')](_0x536335)[_0x639e('0x2f')](_0x48bf16);};}exports[_0x639e('0x30')]=function(_0x39b6bc,_0xeaa3ff){var _0x3d71b3={},_0x21b99c={},_0x303294={'count':0x0,'rows':[]};var _0x1249e6=_[_0x639e('0x31')](db[_0x639e('0x32')][_0x639e('0x33')],function(_0x17b6e6){return{'name':_0x17b6e6[_0x639e('0x34')],'type':_0x17b6e6[_0x639e('0x35')][_0x639e('0x36')]};});_0x21b99c['model']=_[_0x639e('0x31')](_0x1249e6,_0x639e('0x2e'));_0x21b99c['query']=_['keys'](_0x39b6bc[_0x639e('0x37')]);_0x21b99c[_0x639e('0x38')]=_[_0x639e('0x39')](_0x21b99c[_0x639e('0x3a')],_0x21b99c[_0x639e('0x37')]);_0x3d71b3[_0x639e('0x3b')]=_[_0x639e('0x39')](_0x21b99c[_0x639e('0x3a')],qs[_0x639e('0x3c')](_0x39b6bc[_0x639e('0x37')]['fields']));_0x3d71b3[_0x639e('0x3b')]=_0x3d71b3[_0x639e('0x3b')][_0x639e('0x3d')]?_0x3d71b3['attributes']:_0x21b99c['model'];if(!_0x39b6bc[_0x639e('0x37')]['hasOwnProperty']('nolimit')){_0x3d71b3[_0x639e('0x22')]=qs[_0x639e('0x22')](_0x39b6bc[_0x639e('0x37')][_0x639e('0x22')]);_0x3d71b3[_0x639e('0x23')]=qs['offset'](_0x39b6bc[_0x639e('0x37')][_0x639e('0x23')]);}_0x3d71b3['order']=qs[_0x639e('0x3e')](_0x39b6bc[_0x639e('0x37')][_0x639e('0x3e')]);_0x3d71b3[_0x639e('0x3f')]=qs['filters'](_[_0x639e('0x40')](_0x39b6bc[_0x639e('0x37')],_0x21b99c[_0x639e('0x38')]),_0x1249e6);if(_0x39b6bc['query'][_0x639e('0x41')]){_0x3d71b3[_0x639e('0x3f')]=_[_0x639e('0x42')](_0x3d71b3[_0x639e('0x3f')],{'$or':_[_0x639e('0x31')](_0x1249e6,function(_0x3764c9){if(_0x3764c9[_0x639e('0x35')]!==_0x639e('0x43')){var _0x1dd225={};_0x1dd225[_0x3764c9[_0x639e('0x2e')]]={'$like':'%'+_0x39b6bc[_0x639e('0x37')][_0x639e('0x41')]+'%'};return _0x1dd225;}})});}_0x3d71b3=_[_0x639e('0x42')]({},_0x3d71b3,_0x39b6bc['options']);var _0x443b81={'where':_0x3d71b3[_0x639e('0x3f')]};return db[_0x639e('0x32')][_0x639e('0x24')](_0x443b81)[_0x639e('0x44')](function(_0x5229c1){_0x303294[_0x639e('0x24')]=_0x5229c1;if(_0x39b6bc[_0x639e('0x37')]['includeAll']){_0x3d71b3[_0x639e('0x45')]=[{'all':!![]}];}return db[_0x639e('0x32')][_0x639e('0x46')](_0x3d71b3);})[_0x639e('0x44')](function(_0x35d700){_0x303294[_0x639e('0x47')]=_0x35d700;return _0x303294;})[_0x639e('0x44')](respondWithFilteredResult(_0xeaa3ff,_0x3d71b3))[_0x639e('0x48')](handleError(_0xeaa3ff,null));};exports[_0x639e('0x49')]=function(_0x4bbb1b,_0x597074){var _0x1b1f7f={'raw':![],'where':{'id':_0x4bbb1b[_0x639e('0x4a')]['id']}},_0x316836={};_0x316836[_0x639e('0x3a')]=_[_0x639e('0x4b')](db[_0x639e('0x32')][_0x639e('0x33')]);_0x316836[_0x639e('0x37')]=_[_0x639e('0x4b')](_0x4bbb1b['query']);_0x316836['filters']=_['intersection'](_0x316836[_0x639e('0x3a')],_0x316836[_0x639e('0x37')]);_0x1b1f7f['attributes']=_[_0x639e('0x39')](_0x316836[_0x639e('0x3a')],qs['fields'](_0x4bbb1b[_0x639e('0x37')][_0x639e('0x3c')]));_0x1b1f7f[_0x639e('0x3b')]=_0x1b1f7f[_0x639e('0x3b')][_0x639e('0x3d')]?_0x1b1f7f[_0x639e('0x3b')]:_0x316836['model'];if(_0x4bbb1b[_0x639e('0x37')][_0x639e('0x4c')]){_0x1b1f7f['include']=[{'all':!![]}];}_0x1b1f7f=_[_0x639e('0x42')]({},_0x1b1f7f,_0x4bbb1b[_0x639e('0x4d')]);return db[_0x639e('0x32')][_0x639e('0x4e')](_0x1b1f7f)[_0x639e('0x44')](handleEntityNotFound(_0x597074,null))[_0x639e('0x44')](respondWithResult(_0x597074,null))[_0x639e('0x48')](handleError(_0x597074,null));};exports[_0x639e('0x4f')]=function(_0xbed2c7,_0x33bce8){return db[_0x639e('0x32')][_0x639e('0x4f')](_0xbed2c7[_0x639e('0x50')],{})['then'](respondWithResult(_0x33bce8,0xc9))[_0x639e('0x48')](handleError(_0x33bce8,null));};exports[_0x639e('0x29')]=function(_0x45e7fe,_0x2ccc67){if(_0x45e7fe[_0x639e('0x50')]['id']){delete _0x45e7fe[_0x639e('0x50')]['id'];}return db[_0x639e('0x32')]['find']({'where':{'id':_0x45e7fe[_0x639e('0x4a')]['id']}})[_0x639e('0x44')](handleEntityNotFound(_0x2ccc67,null))[_0x639e('0x44')](saveUpdates(_0x45e7fe['body'],null))[_0x639e('0x44')](respondWithResult(_0x2ccc67,null))[_0x639e('0x48')](handleError(_0x2ccc67,null));};exports[_0x639e('0x2a')]=function(_0x143291,_0x5401f5){return db[_0x639e('0x32')]['find']({'where':{'id':_0x143291['params']['id']}})['then'](handleEntityNotFound(_0x5401f5,null))[_0x639e('0x44')](removeEntity(_0x5401f5,null))['catch'](handleError(_0x5401f5,null));};exports[_0x639e('0x51')]=function(_0x40e9cd,_0x566f7a){return db[_0x639e('0x32')][_0x639e('0x51')]()[_0x639e('0x44')](respondWithResult(_0x566f7a,null))[_0x639e('0x48')](handleError(_0x566f7a,null));};exports[_0x639e('0x52')]=function(_0x2576de,_0x350ed6){var _0x1f3970={},_0x2d4d28={},_0x521a39={'count':0x0,'rows':[]};_0x2d4d28[_0x639e('0x3a')]=_['keys'](db[_0x639e('0x32')][_0x639e('0x33')]);_0x2d4d28[_0x639e('0x37')]=_['keys'](_0x2576de['query']);_0x2d4d28[_0x639e('0x38')]=_['intersection'](_0x2d4d28[_0x639e('0x3a')],_0x2d4d28[_0x639e('0x37')]);_0x1f3970[_0x639e('0x3b')]=_['intersection'](_0x2d4d28['model'],qs[_0x639e('0x3c')](_0x2576de[_0x639e('0x37')][_0x639e('0x3c')]));_0x1f3970[_0x639e('0x3b')]=_0x1f3970[_0x639e('0x3b')][_0x639e('0x3d')]?_0x1f3970[_0x639e('0x3b')]:_0x2d4d28[_0x639e('0x3a')];if(!_0x2576de['query'][_0x639e('0x53')](_0x639e('0x54'))){_0x1f3970[_0x639e('0x22')]=qs[_0x639e('0x22')](_0x2576de['query'][_0x639e('0x22')]);_0x1f3970[_0x639e('0x23')]=qs[_0x639e('0x23')](_0x2576de[_0x639e('0x37')][_0x639e('0x23')]);}_0x1f3970[_0x639e('0x55')]=qs[_0x639e('0x3e')](_0x2576de[_0x639e('0x37')][_0x639e('0x3e')]);_0x1f3970['where']=qs[_0x639e('0x38')](_[_0x639e('0x40')](_0x2576de[_0x639e('0x37')],_0x2d4d28[_0x639e('0x38')]));if(_0x2576de[_0x639e('0x37')][_0x639e('0x41')]){_0x1f3970[_0x639e('0x3f')]=_[_0x639e('0x42')](_0x1f3970[_0x639e('0x3f')],{'$or':_[_0x639e('0x31')](_0x1f3970[_0x639e('0x3b')],function(_0x1c40ab){var _0x21c608={};_0x21c608[_0x1c40ab]={'$like':'%'+_0x2576de[_0x639e('0x37')][_0x639e('0x41')]+'%'};return _0x21c608;})});}_0x1f3970=_[_0x639e('0x42')]({},_0x1f3970,_0x2576de['options']);var _0x281670={'where':_0x1f3970[_0x639e('0x3f')]};return db[_0x639e('0x32')][_0x639e('0x24')](_0x281670)['then'](function(_0x1182b2){_0x521a39['count']=_0x1182b2;if(_0x2576de[_0x639e('0x37')][_0x639e('0x4c')]){_0x1f3970[_0x639e('0x45')]=[{'all':!![]}];}return db[_0x639e('0x32')][_0x639e('0x46')](_0x1f3970);})[_0x639e('0x44')](function(_0x40ec89){_0x521a39[_0x639e('0x47')]=_0x40ec89;return _0x521a39;})[_0x639e('0x44')](respondWithFilteredResult(_0x350ed6,_0x1f3970,_0x639e('0x52')))[_0x639e('0x48')](handleError(_0x350ed6,null,'getVoiceQueuesReport'));};