Built motion from commit a61a4a20.|2.5.46
[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 _0xbd51=['info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','Pause','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','lodash','../utils','mustache','ioredis','../../../../../config/environment','redis','localhost','socket.io-emitter','emit','format','user:%s','name','split','\x20interaction','account','notificationSound','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','message','notification:%s','save','remove'];(function(_0x4fe078,_0x59eddc){var _0x4db55c=function(_0x4a4f11){while(--_0x4a4f11){_0x4fe078['push'](_0x4fe078['shift']());}};_0x4db55c(++_0x59eddc);}(_0xbd51,0x1a8));var _0x1bd5=function(_0x2ab748,_0x173e18){_0x2ab748=_0x2ab748-0x0;var _0x3517f6=_0xbd51[_0x2ab748];return _0x3517f6;};'use strict';var _=require(_0x1bd5('0x0'));var util=require('util');var utils=require(_0x1bd5('0x1'));var Mustache=require(_0x1bd5('0x2'));var Redis=require(_0x1bd5('0x3'));var config=require(_0x1bd5('0x4'));var logger=require('../../../../../config/logger')('routing');config['redis']=_['defaults'](config[_0x1bd5('0x5')],{'host':_0x1bd5('0x6'),'port':0x18eb});var io=require(_0x1bd5('0x7'))(new Redis(config['redis']));function emit(_0x29abea,_0x30a385,_0x19077c){io['to'](_0x29abea)[_0x1bd5('0x8')](_0x30a385,_0x19077c);}function sendNotification(_0xd8418f,_0x4a7f90,_0x36ef1a,_0x5c8e0d,_0x2bd975,_0x28df8e){io['to'](util[_0x1bd5('0x9')](_0x1bd5('0xa'),_0x5c8e0d[_0x1bd5('0xb')]))[_0x1bd5('0x8')]('user:save',_0x5c8e0d);var _0x456ef8=_0x28df8e||{};var _0x4e666c=_0x36ef1a[_0x1bd5('0xc')]('.');var _0x24e38c={'uniqueid':_0x4a7f90,'channel':_0x4e666c[0x0],'id':_0x4e666c[0x1],'title':_0x4e666c[0x0]+_0x1bd5('0xd'),'interactionId':_0x4e666c[0x2],'queue':_0x2bd975?_0x2bd975[_0x1bd5('0xb')]:null,'sound':_0x456ef8[_0x1bd5('0xe')][_0x1bd5('0xf')],'shake':_0x456ef8[_0x1bd5('0xe')]['notificationShake']};try{if(!_0x456ef8['body']){_0x456ef8[_0x1bd5('0x10')]={};}if(_0x2bd975){_0x456ef8[_0x1bd5('0x10')][_0x1bd5('0x11')]=_0x2bd975;}else if(_0x456ef8[_0x1bd5('0x10')]['queue']){delete _0x456ef8['body'][_0x1bd5('0x11')];}_0x24e38c[_0x1bd5('0x12')]=utils[_0x1bd5('0x13')](_0x456ef8[_0x1bd5('0xe')][_0x1bd5('0x14')],_0x456ef8);}catch(_0x2d2e80){_0x24e38c[_0x1bd5('0x12')]=_0x1bd5('0x15');logger[_0x1bd5('0x16')](util['format']('[%s][QUEUE]\x20%s',_0x4a7f90,_0x2d2e80[_0x1bd5('0x17')]));}io['to'](util[_0x1bd5('0x9')](_0x1bd5('0xa'),_0x5c8e0d[_0x1bd5('0xb')]))[_0x1bd5('0x8')](util[_0x1bd5('0x9')](_0x1bd5('0x18'),_0xd8418f?_0x1bd5('0x19'):_0x1bd5('0x1a')),_0x24e38c);}function writeLog(_0xb1ac1e,_0x34bd6a,_0x2447c4){return logger[_0x1bd5('0x1b')](util[_0x1bd5('0x9')](_0x1bd5('0x1c'),_0xb1ac1e,_0x34bd6a[_0x1bd5('0xb')],_0x2447c4));}exports[_0x1bd5('0x1d')]=function(_0x29c340,_0x5567c9,_0x42c43d,_0x50c663){if(_0x5567c9[_0x1bd5('0x1e')]){writeLog(_0x29c340,_0x5567c9,_0x1bd5('0x1f'));return![];}if(!_0x5567c9[_0x1bd5('0x20')]){writeLog(_0x29c340,_0x5567c9,'OFFLINE');return![];}if(_0x5567c9[_0x42c43d+_0x1bd5('0x21')]){writeLog(_0x29c340,_0x5567c9,'PAUSE');return![];}if(_0x50c663&&_0x5567c9[_0x1bd5('0x22')](_0x42c43d+_0x1bd5('0x23'))&&_0x5567c9[_0x1bd5('0x22')](_0x42c43d+_0x1bd5('0x24'))){if(_0x5567c9[_0x42c43d+'Capacity']>0x0&&_0x5567c9[_0x42c43d+_0x1bd5('0x24')]>=_0x5567c9[_0x42c43d+_0x1bd5('0x23')]){writeLog(_0x29c340,_0x5567c9,_0x42c43d[_0x1bd5('0x25')]()+_0x1bd5('0x26'));return![];}}return!![];};exports['showNotification']=function(_0xdba332,_0x24d4d9,_0x3595e9,_0x369b88,_0xe54b9f){return sendNotification(!![],_0xdba332,_0x24d4d9,_0x3595e9,_0x369b88,_0xe54b9f);};exports[_0x1bd5('0x27')]=function(_0x4e72b2,_0x289097,_0x472b22,_0x8d53ba,_0x4bcc77){return sendNotification(![],_0x4e72b2,_0x289097,_0x472b22,_0x8d53ba,_0x4bcc77);};exports[_0x1bd5('0x28')]=writeLog;