d074cee93a0388b9eb9593d063c341e2a3213e15
[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 _0xe1e6=['order','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./voiceQueueReport.socket','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','send','index','VoiceQueueReport','rawAttributes','type','key','model','map','name','query','filters','intersection','attributes','fields','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','create','body','find','describe','getVoiceQueuesReport','length','hasOwnProperty'];(function(_0x26e2e8,_0x105b22){var _0x238da5=function(_0x55835f){while(--_0x55835f){_0x26e2e8['push'](_0x26e2e8['shift']());}};_0x238da5(++_0x105b22);}(_0xe1e6,0xa9));var _0x6e1e=function(_0x3a7c3b,_0x5def2d){_0x3a7c3b=_0x3a7c3b-0x0;var _0x44abc2=_0xe1e6[_0x3a7c3b];return _0x44abc2;};'use strict';var emlformat=require(_0x6e1e('0x0'));var rimraf=require(_0x6e1e('0x1'));var zipdir=require(_0x6e1e('0x2'));var jsonpatch=require(_0x6e1e('0x3'));var rp=require(_0x6e1e('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6e1e('0x5'));var util=require(_0x6e1e('0x6'));var path=require(_0x6e1e('0x7'));var sox=require(_0x6e1e('0x8'));var csv=require(_0x6e1e('0x9'));var ejs=require(_0x6e1e('0xa'));var fs=require('fs');var fs_extra=require(_0x6e1e('0xb'));var _=require(_0x6e1e('0xc'));var squel=require('squel');var crypto=require(_0x6e1e('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6e1e('0x9'));var querystring=require(_0x6e1e('0xe'));var Papa=require(_0x6e1e('0xf'));var Redis=require('ioredis');var authService=require(_0x6e1e('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x6e1e('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6e1e('0x12'))(_0x6e1e('0x13'));var utils=require(_0x6e1e('0x14'));var config=require(_0x6e1e('0x15'));var licenseUtil=require(_0x6e1e('0x16'));var db=require(_0x6e1e('0x17'))['db'];config[_0x6e1e('0x18')]=_[_0x6e1e('0x19')](config[_0x6e1e('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x6e1e('0x1a'))(new Redis(config[_0x6e1e('0x18')]));require(_0x6e1e('0x1b'))['register'](socket);function respondWithStatusCode(_0x129e8e,_0x341a57){_0x341a57=_0x341a57||0xcc;return function(_0x127065){if(_0x127065){return _0x129e8e[_0x6e1e('0x1c')](_0x341a57);}return _0x129e8e[_0x6e1e('0x1d')](_0x341a57)['end']();};}function respondWithResult(_0x37e3b6,_0xaa8273){_0xaa8273=_0xaa8273||0xc8;return function(_0x422b5f){if(_0x422b5f){return _0x37e3b6['status'](_0xaa8273)[_0x6e1e('0x1e')](_0x422b5f);}};}function respondWithFilteredResult(_0x343ba0,_0x1df55e){return function(_0x4834d2){if(_0x4834d2){var _0x3ad821=typeof _0x1df55e[_0x6e1e('0x1f')]==='undefined'&&typeof _0x1df55e[_0x6e1e('0x20')]===_0x6e1e('0x21');var _0x33c3ae=_0x4834d2[_0x6e1e('0x22')];var _0x44dab5=_0x3ad821?0x0:_0x1df55e[_0x6e1e('0x1f')];var _0x71da87=_0x3ad821?_0x4834d2['count']:_0x1df55e[_0x6e1e('0x1f')]+_0x1df55e[_0x6e1e('0x20')];var _0xbc5ee8;if(_0x71da87>=_0x33c3ae){_0x71da87=_0x33c3ae;_0xbc5ee8=0xc8;}else{_0xbc5ee8=0xce;}_0x343ba0[_0x6e1e('0x1d')](_0xbc5ee8);return _0x343ba0[_0x6e1e('0x23')](_0x6e1e('0x24'),_0x44dab5+'-'+_0x71da87+'/'+_0x33c3ae)['json'](_0x4834d2);}return null;};}function patchUpdates(_0x272e52){return function(_0x13dd4d){try{jsonpatch[_0x6e1e('0x25')](_0x13dd4d,_0x272e52,!![]);}catch(_0x3684df){return BPromise[_0x6e1e('0x26')](_0x3684df);}return _0x13dd4d[_0x6e1e('0x27')]();};}function saveUpdates(_0x464f35,_0x2ef3ca){return function(_0x243fc2){if(_0x243fc2){return _0x243fc2[_0x6e1e('0x28')](_0x464f35)[_0x6e1e('0x29')](function(_0x2dcf3d){return _0x2dcf3d;});}return null;};}function removeEntity(_0x2f88e9,_0x3acabd){return function(_0x15471f){if(_0x15471f){return _0x15471f[_0x6e1e('0x2a')]()['then'](function(){_0x2f88e9[_0x6e1e('0x1d')](0xcc)[_0x6e1e('0x2b')]();});}};}function handleEntityNotFound(_0x1dc7fa,_0x1dfb63){return function(_0x2b7dd5){if(!_0x2b7dd5){_0x1dc7fa[_0x6e1e('0x1c')](0x194);}return _0x2b7dd5;};}function handleError(_0x36338a,_0x30e8cb){_0x30e8cb=_0x30e8cb||0x1f4;return function(_0x20cd87){logger[_0x6e1e('0x2c')](_0x20cd87[_0x6e1e('0x2d')]);if(_0x20cd87['name']){delete _0x20cd87['name'];}_0x36338a[_0x6e1e('0x1d')](_0x30e8cb)[_0x6e1e('0x2e')](_0x20cd87);};}exports[_0x6e1e('0x2f')]=function(_0x3fec9c,_0xd2778f){var _0x5f0ef6={},_0x5d1680={},_0x25edad={'count':0x0,'rows':[]};var _0x45f455=_['map'](db[_0x6e1e('0x30')][_0x6e1e('0x31')],function(_0x54ff17){return{'name':_0x54ff17['fieldName'],'type':_0x54ff17[_0x6e1e('0x32')][_0x6e1e('0x33')]};});_0x5d1680[_0x6e1e('0x34')]=_[_0x6e1e('0x35')](_0x45f455,_0x6e1e('0x36'));_0x5d1680[_0x6e1e('0x37')]=_['keys'](_0x3fec9c[_0x6e1e('0x37')]);_0x5d1680[_0x6e1e('0x38')]=_[_0x6e1e('0x39')](_0x5d1680['model'],_0x5d1680[_0x6e1e('0x37')]);_0x5f0ef6[_0x6e1e('0x3a')]=_['intersection'](_0x5d1680[_0x6e1e('0x34')],qs[_0x6e1e('0x3b')](_0x3fec9c['query'][_0x6e1e('0x3b')]));_0x5f0ef6['attributes']=_0x5f0ef6['attributes']['length']?_0x5f0ef6[_0x6e1e('0x3a')]:_0x5d1680[_0x6e1e('0x34')];if(!_0x3fec9c['query']['hasOwnProperty'](_0x6e1e('0x3c'))){_0x5f0ef6[_0x6e1e('0x20')]=qs['limit'](_0x3fec9c['query'][_0x6e1e('0x20')]);_0x5f0ef6[_0x6e1e('0x1f')]=qs[_0x6e1e('0x1f')](_0x3fec9c['query'][_0x6e1e('0x1f')]);}_0x5f0ef6['order']=qs[_0x6e1e('0x3d')](_0x3fec9c['query'][_0x6e1e('0x3d')]);_0x5f0ef6[_0x6e1e('0x3e')]=qs[_0x6e1e('0x38')](_[_0x6e1e('0x3f')](_0x3fec9c[_0x6e1e('0x37')],_0x5d1680[_0x6e1e('0x38')]),_0x45f455);if(_0x3fec9c[_0x6e1e('0x37')][_0x6e1e('0x40')]){_0x5f0ef6[_0x6e1e('0x3e')]=_['merge'](_0x5f0ef6[_0x6e1e('0x3e')],{'$or':_['map'](_0x45f455,function(_0x15ab02){if(_0x15ab02[_0x6e1e('0x32')]!==_0x6e1e('0x41')){var _0x815d71={};_0x815d71[_0x15ab02[_0x6e1e('0x36')]]={'$like':'%'+_0x3fec9c[_0x6e1e('0x37')][_0x6e1e('0x40')]+'%'};return _0x815d71;}})});}_0x5f0ef6=_[_0x6e1e('0x42')]({},_0x5f0ef6,_0x3fec9c[_0x6e1e('0x43')]);var _0x1e8bf3={'where':_0x5f0ef6['where']};return db['VoiceQueueReport'][_0x6e1e('0x22')](_0x1e8bf3)[_0x6e1e('0x29')](function(_0x398d31){_0x25edad[_0x6e1e('0x22')]=_0x398d31;if(_0x3fec9c[_0x6e1e('0x37')][_0x6e1e('0x44')]){_0x5f0ef6[_0x6e1e('0x45')]=[{'all':!![]}];}return db[_0x6e1e('0x30')][_0x6e1e('0x46')](_0x5f0ef6);})[_0x6e1e('0x29')](function(_0x87dfdc){_0x25edad[_0x6e1e('0x47')]=_0x87dfdc;return _0x25edad;})['then'](respondWithFilteredResult(_0xd2778f,_0x5f0ef6))[_0x6e1e('0x48')](handleError(_0xd2778f,null));};exports[_0x6e1e('0x49')]=function(_0x456c84,_0x319558){var _0x4ee98a={'raw':![],'where':{'id':_0x456c84[_0x6e1e('0x4a')]['id']}},_0x156835={};_0x156835['model']=_[_0x6e1e('0x4b')](db[_0x6e1e('0x30')][_0x6e1e('0x31')]);_0x156835[_0x6e1e('0x37')]=_[_0x6e1e('0x4b')](_0x456c84[_0x6e1e('0x37')]);_0x156835[_0x6e1e('0x38')]=_[_0x6e1e('0x39')](_0x156835[_0x6e1e('0x34')],_0x156835['query']);_0x4ee98a['attributes']=_[_0x6e1e('0x39')](_0x156835[_0x6e1e('0x34')],qs[_0x6e1e('0x3b')](_0x456c84[_0x6e1e('0x37')]['fields']));_0x4ee98a[_0x6e1e('0x3a')]=_0x4ee98a[_0x6e1e('0x3a')]['length']?_0x4ee98a['attributes']:_0x156835[_0x6e1e('0x34')];if(_0x456c84[_0x6e1e('0x37')][_0x6e1e('0x44')]){_0x4ee98a[_0x6e1e('0x45')]=[{'all':!![]}];}_0x4ee98a=_[_0x6e1e('0x42')]({},_0x4ee98a,_0x456c84[_0x6e1e('0x43')]);return db['VoiceQueueReport']['find'](_0x4ee98a)[_0x6e1e('0x29')](handleEntityNotFound(_0x319558,null))[_0x6e1e('0x29')](respondWithResult(_0x319558,null))[_0x6e1e('0x48')](handleError(_0x319558,null));};exports[_0x6e1e('0x4c')]=function(_0x57624c,_0x5e5f6f){return db['VoiceQueueReport'][_0x6e1e('0x4c')](_0x57624c[_0x6e1e('0x4d')],{})['then'](respondWithResult(_0x5e5f6f,0xc9))[_0x6e1e('0x48')](handleError(_0x5e5f6f,null));};exports[_0x6e1e('0x28')]=function(_0x35dd94,_0x242227){if(_0x35dd94[_0x6e1e('0x4d')]['id']){delete _0x35dd94[_0x6e1e('0x4d')]['id'];}return db[_0x6e1e('0x30')][_0x6e1e('0x4e')]({'where':{'id':_0x35dd94[_0x6e1e('0x4a')]['id']}})['then'](handleEntityNotFound(_0x242227,null))[_0x6e1e('0x29')](saveUpdates(_0x35dd94[_0x6e1e('0x4d')],null))['then'](respondWithResult(_0x242227,null))[_0x6e1e('0x48')](handleError(_0x242227,null));};exports[_0x6e1e('0x2a')]=function(_0x5ede12,_0xc2129e){return db[_0x6e1e('0x30')][_0x6e1e('0x4e')]({'where':{'id':_0x5ede12[_0x6e1e('0x4a')]['id']}})[_0x6e1e('0x29')](handleEntityNotFound(_0xc2129e,null))[_0x6e1e('0x29')](removeEntity(_0xc2129e,null))['catch'](handleError(_0xc2129e,null));};exports[_0x6e1e('0x4f')]=function(_0x269d85,_0x27aa54){return db[_0x6e1e('0x30')][_0x6e1e('0x4f')]()[_0x6e1e('0x29')](respondWithResult(_0x27aa54,null))['catch'](handleError(_0x27aa54,null));};exports[_0x6e1e('0x50')]=function(_0x51bab8,_0x43eba8){var _0x981e15={},_0x4ec191={},_0x3a237f={'count':0x0,'rows':[]};_0x4ec191[_0x6e1e('0x34')]=_[_0x6e1e('0x4b')](db[_0x6e1e('0x30')][_0x6e1e('0x31')]);_0x4ec191['query']=_[_0x6e1e('0x4b')](_0x51bab8['query']);_0x4ec191['filters']=_['intersection'](_0x4ec191[_0x6e1e('0x34')],_0x4ec191[_0x6e1e('0x37')]);_0x981e15['attributes']=_['intersection'](_0x4ec191[_0x6e1e('0x34')],qs[_0x6e1e('0x3b')](_0x51bab8[_0x6e1e('0x37')][_0x6e1e('0x3b')]));_0x981e15['attributes']=_0x981e15[_0x6e1e('0x3a')][_0x6e1e('0x51')]?_0x981e15[_0x6e1e('0x3a')]:_0x4ec191[_0x6e1e('0x34')];if(!_0x51bab8[_0x6e1e('0x37')][_0x6e1e('0x52')]('nolimit')){_0x981e15[_0x6e1e('0x20')]=qs['limit'](_0x51bab8['query'][_0x6e1e('0x20')]);_0x981e15[_0x6e1e('0x1f')]=qs['offset'](_0x51bab8['query'][_0x6e1e('0x1f')]);}_0x981e15[_0x6e1e('0x53')]=qs[_0x6e1e('0x3d')](_0x51bab8['query'][_0x6e1e('0x3d')]);_0x981e15[_0x6e1e('0x3e')]=qs[_0x6e1e('0x38')](_[_0x6e1e('0x3f')](_0x51bab8[_0x6e1e('0x37')],_0x4ec191[_0x6e1e('0x38')]));if(_0x51bab8[_0x6e1e('0x37')][_0x6e1e('0x40')]){_0x981e15['where']=_['merge'](_0x981e15['where'],{'$or':_[_0x6e1e('0x35')](_0x981e15[_0x6e1e('0x3a')],function(_0x3536fe){var _0xf6fa35={};_0xf6fa35[_0x3536fe]={'$like':'%'+_0x51bab8[_0x6e1e('0x37')][_0x6e1e('0x40')]+'%'};return _0xf6fa35;})});}_0x981e15=_[_0x6e1e('0x42')]({},_0x981e15,_0x51bab8['options']);var _0x44056a={'where':_0x981e15[_0x6e1e('0x3e')]};return db[_0x6e1e('0x30')][_0x6e1e('0x22')](_0x44056a)[_0x6e1e('0x29')](function(_0x5832fa){_0x3a237f[_0x6e1e('0x22')]=_0x5832fa;if(_0x51bab8[_0x6e1e('0x37')][_0x6e1e('0x44')]){_0x981e15['include']=[{'all':!![]}];}return db[_0x6e1e('0x30')]['findAll'](_0x981e15);})[_0x6e1e('0x29')](function(_0x3428aa){_0x3a237f[_0x6e1e('0x47')]=_0x3428aa;return _0x3a237f;})[_0x6e1e('0x29')](respondWithFilteredResult(_0x43eba8,_0x981e15,_0x6e1e('0x50')))[_0x6e1e('0x48')](handleError(_0x43eba8,null,'getVoiceQueuesReport'));};