Built motion from commit (unavailable).|2.0.84
[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 _0x7fbe=['rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceQueueReport.socket','register','sendStatus','end','json','offset','limit','status','Content-Range','apply','reject','save','update','then','error','stack','name','index','VoiceQueueReport','rawAttributes','model','keys','dateStart','query','dateEnd','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','add','day','merge','filter','map','options','includeAll','include','rows','show','params','find','catch','create','body','destroy','describe','nolimit','count','getVoiceQueuesReport'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x7fbe,0x1ec));var _0xe7fb=function(_0xd2cd94,_0x3bf735){_0xd2cd94=_0xd2cd94-0x0;var _0x844eaa=_0x7fbe[_0xd2cd94];return _0x844eaa;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xe7fb('0x0'));var zipdir=require(_0xe7fb('0x1'));var jsonpatch=require(_0xe7fb('0x2'));var rp=require(_0xe7fb('0x3'));var moment=require(_0xe7fb('0x4'));var BPromise=require(_0xe7fb('0x5'));var Mustache=require(_0xe7fb('0x6'));var util=require(_0xe7fb('0x7'));var path=require(_0xe7fb('0x8'));var sox=require(_0xe7fb('0x9'));var csv=require(_0xe7fb('0xa'));var ejs=require(_0xe7fb('0xb'));var fs=require('fs');var _=require(_0xe7fb('0xc'));var squel=require(_0xe7fb('0xd'));var crypto=require('crypto');var jsforce=require(_0xe7fb('0xe'));var deskjs=require(_0xe7fb('0xf'));var toCsv=require(_0xe7fb('0xa'));var querystring=require(_0xe7fb('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var qs=require(_0xe7fb('0x11'));var logger=require(_0xe7fb('0x12'))(_0xe7fb('0x13'));var utils=require(_0xe7fb('0x14'));var config=require(_0xe7fb('0x15'));var db=require(_0xe7fb('0x16'))['db'];config[_0xe7fb('0x17')]=_[_0xe7fb('0x18')](config[_0xe7fb('0x17')],{'host':_0xe7fb('0x19'),'port':0x18eb});var socket=require(_0xe7fb('0x1a'))(new Redis(config[_0xe7fb('0x17')]));require(_0xe7fb('0x1b'))[_0xe7fb('0x1c')](socket);function respondWithStatusCode(_0x7fe4d3,_0x598729){_0x598729=_0x598729||0xcc;return function(_0x278b75){if(_0x278b75){return _0x7fe4d3[_0xe7fb('0x1d')](_0x598729);}return _0x7fe4d3['status'](_0x598729)[_0xe7fb('0x1e')]();};}function respondWithResult(_0x37eb9f,_0x482f7d){_0x482f7d=_0x482f7d||0xc8;return function(_0xa76acf){if(_0xa76acf){return _0x37eb9f['status'](_0x482f7d)[_0xe7fb('0x1f')](_0xa76acf);}};}function respondWithFilteredResult(_0x18d23c,_0x12603d){return function(_0x17e8a8){if(_0x17e8a8){var _0x562262=_0x17e8a8['count'],_0x892b0f=_0x12603d[_0xe7fb('0x20')],_0x5ebc87=_0x12603d[_0xe7fb('0x20')]+_0x12603d[_0xe7fb('0x21')],_0x293a47;if(_0x5ebc87>=_0x562262){_0x5ebc87=_0x562262;_0x293a47=0xc8;}else{_0x293a47=0xce;}_0x18d23c[_0xe7fb('0x22')](_0x293a47);return _0x18d23c['set'](_0xe7fb('0x23'),_0x892b0f+'-'+_0x5ebc87+'/'+_0x562262)['json'](_0x17e8a8);}return null;};}function patchUpdates(_0x11cae0){return function(_0x51f01f){try{jsonpatch[_0xe7fb('0x24')](_0x51f01f,_0x11cae0,!![]);}catch(_0x4ea664){return BPromise[_0xe7fb('0x25')](_0x4ea664);}return _0x51f01f[_0xe7fb('0x26')]();};}function saveUpdates(_0x4a9994,_0x143eb6){return function(_0x4742bd){if(_0x4742bd){return _0x4742bd[_0xe7fb('0x27')](_0x4a9994)['then'](function(_0x469d50){return _0x469d50;});}return null;};}function removeEntity(_0x469ead,_0x5da3d9){return function(_0x5bea27){if(_0x5bea27){return _0x5bea27['destroy']()[_0xe7fb('0x28')](function(){_0x469ead['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4026b1,_0x32e8b2){return function(_0x2996ae){if(!_0x2996ae){_0x4026b1['sendStatus'](0x194);}return _0x2996ae;};}function handleError(_0x6c930,_0x2b69c4){_0x2b69c4=_0x2b69c4||0x1f4;return function(_0x390f32){logger[_0xe7fb('0x29')](_0x390f32[_0xe7fb('0x2a')]);if(_0x390f32[_0xe7fb('0x2b')]){delete _0x390f32[_0xe7fb('0x2b')];}_0x6c930['status'](_0x2b69c4)['send'](_0x390f32);};}exports[_0xe7fb('0x2c')]=function(_0x3bdee9,_0xead63){var _0x4fd290={},_0xb1f2f4={},_0x251807={'count':0x0,'rows':[]};var _0xd3fffe=db[_0xe7fb('0x2d')][_0xe7fb('0x2e')];_0xb1f2f4[_0xe7fb('0x2f')]=_[_0xe7fb('0x30')](_0xd3fffe);var _0x3dd0be={'dateStart':_0x3bdee9['query'][_0xe7fb('0x31')],'dateEnd':_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x33')]};delete _0x3bdee9['query']['dateStart'];delete _0x3bdee9[_0xe7fb('0x32')]['dateEnd'];_0xb1f2f4[_0xe7fb('0x32')]=_[_0xe7fb('0x30')](_0x3bdee9[_0xe7fb('0x32')]);_0xb1f2f4[_0xe7fb('0x34')]=_['intersection'](_0xb1f2f4[_0xe7fb('0x2f')],_0xb1f2f4[_0xe7fb('0x32')]);_0x4fd290[_0xe7fb('0x35')]=_[_0xe7fb('0x36')](_0xb1f2f4[_0xe7fb('0x2f')],qs['fields'](_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x37')]));_0x4fd290[_0xe7fb('0x35')]=_0x4fd290[_0xe7fb('0x35')][_0xe7fb('0x38')]?_0x4fd290[_0xe7fb('0x35')]:_0xb1f2f4[_0xe7fb('0x2f')];if(!_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x39')]('nolimit')){_0x4fd290[_0xe7fb('0x21')]=qs[_0xe7fb('0x21')](_0x3bdee9[_0xe7fb('0x32')]['limit']);_0x4fd290[_0xe7fb('0x20')]=qs[_0xe7fb('0x20')](_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x20')]);}_0x4fd290[_0xe7fb('0x3a')]=qs[_0xe7fb('0x3b')](_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x3b')]);_0x4fd290[_0xe7fb('0x3c')]=qs[_0xe7fb('0x34')](_[_0xe7fb('0x3d')](_0x3bdee9[_0xe7fb('0x32')],_0xb1f2f4[_0xe7fb('0x34')]));if(_0x3dd0be[_0xe7fb('0x31')]){if(_0x3dd0be[_0xe7fb('0x33')]){_0x3dd0be[_0xe7fb('0x33')]=moment(_0x3dd0be[_0xe7fb('0x33')])[_0xe7fb('0x3e')](0x1,_0xe7fb('0x3f'));}else{_0x3dd0be['dateEnd']=moment(_0x3dd0be[_0xe7fb('0x31')])[_0xe7fb('0x3e')](0x1,_0xe7fb('0x3f'));}_[_0xe7fb('0x40')](_0x4fd290['where'],{'createdAt':{'$gte':_0x3dd0be[_0xe7fb('0x31')],'$lte':_0x3dd0be[_0xe7fb('0x33')]}});}if(_0x3bdee9[_0xe7fb('0x32')][_0xe7fb('0x41')]){_0x4fd290['where']=_[_0xe7fb('0x40')](_0x4fd290[_0xe7fb('0x3c')],{'$or':_[_0xe7fb('0x42')](_0x4fd290[_0xe7fb('0x35')],function(_0x468d16){var _0xb729fc={};_0xb729fc[_0x468d16]={'$like':'%'+_0x3bdee9['query'][_0xe7fb('0x41')]+'%'};return _0xb729fc;})});}_0x4fd290=_[_0xe7fb('0x40')]({},_0x4fd290,_0x3bdee9[_0xe7fb('0x43')]);var _0x4b263d={'where':_0x4fd290[_0xe7fb('0x3c')]};return db[_0xe7fb('0x2d')]['count'](_0x4b263d)['then'](function(_0x5a01ae){_0x251807['count']=_0x5a01ae;if(_0x3bdee9['query'][_0xe7fb('0x44')]){_0x4fd290[_0xe7fb('0x45')]=[{'all':!![]}];}return db[_0xe7fb('0x2d')]['findAll'](_0x4fd290);})[_0xe7fb('0x28')](function(_0x58d743){_0x251807[_0xe7fb('0x46')]=_0x58d743;return _0x251807;})[_0xe7fb('0x28')](respondWithFilteredResult(_0xead63,_0x4fd290))['catch'](handleError(_0xead63,null));};exports[_0xe7fb('0x47')]=function(_0x2a3422,_0x240efa){var _0x1d07d9={'raw':![],'where':{'id':_0x2a3422[_0xe7fb('0x48')]['id']}},_0x54dbd8={};_0x54dbd8[_0xe7fb('0x2f')]=_[_0xe7fb('0x30')](db['VoiceQueueReport'][_0xe7fb('0x2e')]);_0x54dbd8[_0xe7fb('0x32')]=_[_0xe7fb('0x30')](_0x2a3422[_0xe7fb('0x32')]);_0x54dbd8[_0xe7fb('0x34')]=_['intersection'](_0x54dbd8[_0xe7fb('0x2f')],_0x54dbd8['query']);_0x1d07d9[_0xe7fb('0x35')]=_[_0xe7fb('0x36')](_0x54dbd8[_0xe7fb('0x2f')],qs[_0xe7fb('0x37')](_0x2a3422[_0xe7fb('0x32')]['fields']));_0x1d07d9[_0xe7fb('0x35')]=_0x1d07d9['attributes']['length']?_0x1d07d9[_0xe7fb('0x35')]:_0x54dbd8[_0xe7fb('0x2f')];if(_0x2a3422[_0xe7fb('0x32')]['includeAll']){_0x1d07d9[_0xe7fb('0x45')]=[{'all':!![]}];}_0x1d07d9=_[_0xe7fb('0x40')]({},_0x1d07d9,_0x2a3422['options']);return db['VoiceQueueReport'][_0xe7fb('0x49')](_0x1d07d9)[_0xe7fb('0x28')](handleEntityNotFound(_0x240efa,null))[_0xe7fb('0x28')](respondWithResult(_0x240efa,null))[_0xe7fb('0x4a')](handleError(_0x240efa,null));};exports[_0xe7fb('0x4b')]=function(_0x1f0533,_0x18a590){return db[_0xe7fb('0x2d')]['create'](_0x1f0533[_0xe7fb('0x4c')],{})['then'](respondWithResult(_0x18a590,0xc9))[_0xe7fb('0x4a')](handleError(_0x18a590,null));};exports[_0xe7fb('0x27')]=function(_0x5cedfb,_0x25347b){if(_0x5cedfb['body']['id']){delete _0x5cedfb[_0xe7fb('0x4c')]['id'];}return db['VoiceQueueReport'][_0xe7fb('0x49')]({'where':{'id':_0x5cedfb['params']['id']}})[_0xe7fb('0x28')](handleEntityNotFound(_0x25347b,null))['then'](saveUpdates(_0x5cedfb[_0xe7fb('0x4c')],null))[_0xe7fb('0x28')](respondWithResult(_0x25347b,null))[_0xe7fb('0x4a')](handleError(_0x25347b,null));};exports[_0xe7fb('0x4d')]=function(_0xb8179a,_0x2f959d){return db[_0xe7fb('0x2d')]['find']({'where':{'id':_0xb8179a['params']['id']}})[_0xe7fb('0x28')](handleEntityNotFound(_0x2f959d,null))['then'](removeEntity(_0x2f959d,null))['catch'](handleError(_0x2f959d,null));};exports['describe']=function(_0x50b8df,_0x539252){return db[_0xe7fb('0x2d')][_0xe7fb('0x4e')]()[_0xe7fb('0x28')](respondWithResult(_0x539252,null))[_0xe7fb('0x4a')](handleError(_0x539252,null));};exports['getVoiceQueuesReport']=function(_0x37af37,_0x236b35){var _0x195e52={},_0x4a9372={},_0x56c512={'count':0x0,'rows':[]};_0x4a9372[_0xe7fb('0x2f')]=_[_0xe7fb('0x30')](db[_0xe7fb('0x2d')]['rawAttributes']);var _0x27f860={'dateStart':_0x37af37[_0xe7fb('0x32')][_0xe7fb('0x31')],'dateEnd':_0x37af37[_0xe7fb('0x32')]['dateEnd']};delete _0x37af37['query'][_0xe7fb('0x31')];delete _0x37af37[_0xe7fb('0x32')][_0xe7fb('0x33')];_0x4a9372[_0xe7fb('0x32')]=_[_0xe7fb('0x30')](_0x37af37['query']);_0x4a9372[_0xe7fb('0x34')]=_[_0xe7fb('0x36')](_0x4a9372[_0xe7fb('0x2f')],_0x4a9372['query']);_0x195e52['attributes']=_[_0xe7fb('0x36')](_0x4a9372[_0xe7fb('0x2f')],qs[_0xe7fb('0x37')](_0x37af37[_0xe7fb('0x32')][_0xe7fb('0x37')]));_0x195e52[_0xe7fb('0x35')]=_0x195e52['attributes'][_0xe7fb('0x38')]?_0x195e52[_0xe7fb('0x35')]:_0x4a9372[_0xe7fb('0x2f')];if(!_0x37af37[_0xe7fb('0x32')][_0xe7fb('0x39')](_0xe7fb('0x4f'))){_0x195e52['limit']=qs[_0xe7fb('0x21')](_0x37af37['query'][_0xe7fb('0x21')]);_0x195e52[_0xe7fb('0x20')]=qs[_0xe7fb('0x20')](_0x37af37[_0xe7fb('0x32')]['offset']);}_0x195e52['order']=qs[_0xe7fb('0x3b')](_0x37af37[_0xe7fb('0x32')][_0xe7fb('0x3b')]);_0x195e52[_0xe7fb('0x3c')]=qs[_0xe7fb('0x34')](_['pick'](_0x37af37[_0xe7fb('0x32')],_0x4a9372['filters']));if(_0x27f860[_0xe7fb('0x31')]){if(_0x27f860['dateEnd']){_0x27f860['dateEnd']=moment(_0x27f860[_0xe7fb('0x33')])[_0xe7fb('0x3e')](0x1,_0xe7fb('0x3f'));}else{_0x27f860['dateEnd']=moment(_0x27f860[_0xe7fb('0x31')])[_0xe7fb('0x3e')](0x1,_0xe7fb('0x3f'));}_[_0xe7fb('0x40')](_0x195e52[_0xe7fb('0x3c')],{'createdAt':{'$gte':_0x27f860['dateStart'],'$lte':_0x27f860[_0xe7fb('0x33')]}});}if(_0x37af37[_0xe7fb('0x32')]['filter']){_0x195e52[_0xe7fb('0x3c')]=_[_0xe7fb('0x40')](_0x195e52['where'],{'$or':_[_0xe7fb('0x42')](_0x195e52['attributes'],function(_0x2705ef){var _0x1dc9c1={};_0x1dc9c1[_0x2705ef]={'$like':'%'+_0x37af37[_0xe7fb('0x32')]['filter']+'%'};return _0x1dc9c1;})});}_0x195e52=_[_0xe7fb('0x40')]({},_0x195e52,_0x37af37[_0xe7fb('0x43')]);var _0x2c558a={'where':_0x195e52[_0xe7fb('0x3c')]};return db[_0xe7fb('0x2d')][_0xe7fb('0x50')](_0x2c558a)[_0xe7fb('0x28')](function(_0x187040){_0x56c512['count']=_0x187040;if(_0x37af37['query'][_0xe7fb('0x44')]){_0x195e52[_0xe7fb('0x45')]=[{'all':!![]}];}return db[_0xe7fb('0x2d')]['findAll'](_0x195e52);})['then'](function(_0x1ac1fd){_0x56c512[_0xe7fb('0x46')]=_0x1ac1fd;return _0x56c512;})[_0xe7fb('0x28')](respondWithFilteredResult(_0x236b35,_0x195e52,_0xe7fb('0x51')))[_0xe7fb('0x4a')](handleError(_0x236b35,null,_0xe7fb('0x51')));};