9c820fb20d9913003d51949c4f13636ce35a5a92
[motion2.git] / server / services / routing / server / applications / strategy / util.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 _0xbca0=['body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','format','[%s][QUEUE]\x20%s','message','user:%s','name','emit','notification:%s','save','remove','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','BUSY','OFFLINE','Pause','hasOwnProperty','Capacity','CurrentCapacity','\x20MAXCAPACITY','showNotification','hideNotification','checkWaitingNotifications','interaction','UserId','some','QueuesWaitingInteractions','capitalize','channel','agents','WaitingInteractions','saveWaitingNotification','removeWaitingNotification','writeLog','lodash','util','../../../../../config/logger','routing','redis','defaults','socket.io-emitter','split','account','notificationSound','notificationShake'];(function(_0x4b129b,_0x15477f){var _0x2b89b7=function(_0x150d8d){while(--_0x150d8d){_0x4b129b['push'](_0x4b129b['shift']());}};_0x2b89b7(++_0x15477f);}(_0xbca0,0x8b));var _0x0bca=function(_0x51c28d,_0x325bb2){_0x51c28d=_0x51c28d-0x0;var _0x2bfdef=_0xbca0[_0x51c28d];return _0x2bfdef;};'use strict';var _=require(_0x0bca('0x0'));var util=require(_0x0bca('0x1'));var utils=require('../utils');var Redis=require('ioredis');var config=require('../../../../../config/environment');var logger=require(_0x0bca('0x2'))(_0x0bca('0x3'));config[_0x0bca('0x4')]=_[_0x0bca('0x5')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x0bca('0x6'))(new Redis(config[_0x0bca('0x4')]));function sendNotification(_0x3dab5e,_0x454627,_0x4dcba6,_0x48260c,_0x55fbf0,_0x241ca5){var _0x3ac251=_0x241ca5||{};var _0x228bdf=_0x4dcba6[_0x0bca('0x7')]('.');var _0x10caac={'uniqueid':_0x454627,'channel':_0x228bdf[0x0],'id':_0x228bdf[0x1],'title':_0x228bdf[0x0]+'\x20interaction','interactionId':_0x228bdf[0x2],'queue':_0x55fbf0?_0x55fbf0['name']:null,'sound':_0x3ac251[_0x0bca('0x8')][_0x0bca('0x9')],'shake':_0x3ac251[_0x0bca('0x8')][_0x0bca('0xa')]};try{if(!_0x3ac251[_0x0bca('0xb')]){_0x3ac251[_0x0bca('0xb')]={};}if(_0x55fbf0){_0x3ac251[_0x0bca('0xb')][_0x0bca('0xc')]=_0x55fbf0;}else if(_0x3ac251[_0x0bca('0xb')][_0x0bca('0xc')]){delete _0x3ac251[_0x0bca('0xb')][_0x0bca('0xc')];}_0x10caac[_0x0bca('0xd')]=utils[_0x0bca('0xe')](_0x3ac251[_0x0bca('0x8')][_0x0bca('0xf')],_0x3ac251);}catch(_0x20d6bf){_0x10caac[_0x0bca('0xd')]=_0x0bca('0x10');logger['error'](util[_0x0bca('0x11')](_0x0bca('0x12'),_0x454627,_0x20d6bf[_0x0bca('0x13')]));}io['to'](util[_0x0bca('0x11')](_0x0bca('0x14'),_0x48260c[_0x0bca('0x15')]))[_0x0bca('0x16')](util['format'](_0x0bca('0x17'),_0x3dab5e?_0x0bca('0x18'):_0x0bca('0x19')),_0x10caac);}function writeLog(_0x1111c3,_0x2f5338,_0x1f7c1c){return logger[_0x0bca('0x1a')](util['format'](_0x0bca('0x1b'),_0x1111c3,_0x2f5338['name'],_0x1f7c1c));}exports['isAgentAvailable']=function(_0x69a20c,_0x3fbfad,_0xcc2790,_0x2d2119){if(_0x3fbfad[_0x0bca('0x1c')]){writeLog(_0x69a20c,_0x3fbfad,_0x0bca('0x1d'));return![];}if(!_0x3fbfad['online']){writeLog(_0x69a20c,_0x3fbfad,_0x0bca('0x1e'));return![];}if(_0x3fbfad[_0xcc2790+_0x0bca('0x1f')]){writeLog(_0x69a20c,_0x3fbfad,'PAUSE');return![];}if(_0x2d2119&&_0x3fbfad[_0x0bca('0x20')](_0xcc2790+_0x0bca('0x21'))&&_0x3fbfad[_0x0bca('0x20')](_0xcc2790+_0x0bca('0x22'))){if(_0x3fbfad[_0xcc2790+_0x0bca('0x21')]>0x0&&_0x3fbfad[_0xcc2790+_0x0bca('0x22')]>=_0x3fbfad[_0xcc2790+_0x0bca('0x21')]){writeLog(_0x69a20c,_0x3fbfad,_0xcc2790['toUpperCase']()+_0x0bca('0x23'));return![];}}return!![];};exports[_0x0bca('0x24')]=function(_0x2cece9,_0x2617bc,_0xbe494,_0x1d7f87,_0x1fafc9){return sendNotification(!![],_0x2cece9,_0x2617bc,_0xbe494,_0x1d7f87,_0x1fafc9);};exports[_0x0bca('0x25')]=function(_0x18cab1,_0xd3e9bf,_0x365f63,_0x3fc816,_0x45f4da){return sendNotification(![],_0x18cab1,_0xd3e9bf,_0x365f63,_0x3fc816,_0x45f4da);};exports[_0x0bca('0x26')]=function(_0x111f4a,_0x3055b9,_0x3d687c){var _0x1b7e2b=_0x3055b9[_0x0bca('0x27')][_0x0bca('0x28')];if(!_0x1b7e2b&&_0x3d687c){_0x1b7e2b=_0x3d687c['id'];}var _0x262959=_[_0x0bca('0x29')](_0x111f4a[_0x3055b9['channel']+_0x0bca('0x2a')],function(_0x75ef08){var _0x18cdaa=_[_0x0bca('0x2b')](_0x3055b9[_0x0bca('0x2c')])+'InteractionId';return _0x75ef08[_0x18cdaa]===_0x3055b9['interaction']['id'];});if(!_0x262959&&_0x1b7e2b&&_0x111f4a[_0x0bca('0x2d')][_0x1b7e2b]){_0x262959=_[_0x0bca('0x29')](_0x111f4a[_0x0bca('0x2d')][_0x1b7e2b][_0x3055b9[_0x0bca('0x2c')]+_0x0bca('0x2e')],function(_0x469b23){return _0x469b23['id']===_0x3055b9[_0x0bca('0x27')]['id'];});}return _0x262959;};exports[_0x0bca('0x2f')]=function(_0x3baa39,_0x300cd7,_0x8544b2,_0x2e9bb8){if(_0x8544b2&&_0x8544b2['id']&&_0x3baa39[_0x0bca('0x2d')]&&_0x3baa39[_0x0bca('0x2d')][_0x8544b2['id']]){_0x3baa39[_0x0bca('0x2d')][_0x8544b2['id']][_0x2e9bb8+_0x0bca('0x2e')][_0x300cd7[_0x0bca('0x13')]['id']]={'id':_0x300cd7[_0x0bca('0x27')]['id']};}};exports[_0x0bca('0x30')]=function(_0xe333ca,_0x184773,_0x519e5e,_0x209d3d){if(_0x519e5e&&_0x519e5e['id']&&_0xe333ca[_0x0bca('0x2d')]&&_0xe333ca[_0x0bca('0x2d')][_0x519e5e['id']]){delete _0xe333ca[_0x0bca('0x2d')][_0x519e5e['id']][_0x209d3d+_0x0bca('0x2e')][_0x184773[_0x0bca('0x13')]['id']];}};exports[_0x0bca('0x31')]=writeLog;