Built motion from commit (unavailable).|2.5.22
[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 _0x8da1=['busy','BUSY','OFFLINE','Pause','PAUSE','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','localhost','emit','user:%s','name','user:save','split','account','notificationSound','body','queue','msg','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','error','format','message','notification:%s','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable'];(function(_0x11d4f2,_0x57d690){var _0x2d9c37=function(_0x68d145){while(--_0x68d145){_0x11d4f2['push'](_0x11d4f2['shift']());}};_0x2d9c37(++_0x57d690);}(_0x8da1,0x1a6));var _0x18da=function(_0x4dfce8,_0x2a9880){_0x4dfce8=_0x4dfce8-0x0;var _0x488a8c=_0x8da1[_0x4dfce8];return _0x488a8c;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0x18da('0x0'));var Mustache=require(_0x18da('0x1'));var Redis=require(_0x18da('0x2'));var config=require(_0x18da('0x3'));var logger=require(_0x18da('0x4'))(_0x18da('0x5'));config[_0x18da('0x6')]=_['defaults'](config[_0x18da('0x6')],{'host':_0x18da('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x18da('0x6')]));function emit(_0x5e55d0,_0x4fd348,_0x349199){io['to'](_0x5e55d0)[_0x18da('0x8')](_0x4fd348,_0x349199);}function sendNotification(_0x57f6a8,_0x49023a,_0x1fcc4e,_0x55bb2e,_0x184064,_0x1f81be){io['to'](util['format'](_0x18da('0x9'),_0x55bb2e[_0x18da('0xa')]))[_0x18da('0x8')](_0x18da('0xb'),_0x55bb2e);var _0x51f0ba=_0x1f81be||{};var _0x16cd67=_0x1fcc4e[_0x18da('0xc')]('.');var _0x599d4a={'uniqueid':_0x49023a,'channel':_0x16cd67[0x0],'id':_0x16cd67[0x1],'title':_0x16cd67[0x0]+'\x20interaction','interactionId':_0x16cd67[0x2],'queue':_0x184064?_0x184064[_0x18da('0xa')]:null,'sound':_0x51f0ba[_0x18da('0xd')][_0x18da('0xe')],'shake':_0x51f0ba[_0x18da('0xd')]['notificationShake']};try{if(!_0x51f0ba[_0x18da('0xf')]){_0x51f0ba[_0x18da('0xf')]={};}if(_0x184064){_0x51f0ba['body']['queue']=_0x184064;}else if(_0x51f0ba['body'][_0x18da('0x10')]){delete _0x51f0ba[_0x18da('0xf')][_0x18da('0x10')];}_0x599d4a[_0x18da('0x11')]=utils[_0x18da('0x12')](_0x51f0ba['account']['notificationTemplate'],_0x51f0ba);}catch(_0x2c4dcb){_0x599d4a[_0x18da('0x11')]=_0x18da('0x13');logger[_0x18da('0x14')](util[_0x18da('0x15')]('[%s][QUEUE]\x20%s',_0x49023a,_0x2c4dcb[_0x18da('0x16')]));}io['to'](util[_0x18da('0x15')](_0x18da('0x9'),_0x55bb2e[_0x18da('0xa')]))[_0x18da('0x8')](util['format'](_0x18da('0x17'),_0x57f6a8?_0x18da('0x18'):_0x18da('0x19')),_0x599d4a);}function writeLog(_0x21a792,_0x2e97df,_0x3045f1){return logger[_0x18da('0x1a')](util[_0x18da('0x15')](_0x18da('0x1b'),_0x21a792,_0x2e97df['name'],_0x3045f1));}exports[_0x18da('0x1c')]=function(_0x15b921,_0x52c194,_0x183f63,_0x1ef528){if(_0x52c194[_0x18da('0x1d')]){writeLog(_0x15b921,_0x52c194,_0x18da('0x1e'));return![];}if(!_0x52c194['online']){writeLog(_0x15b921,_0x52c194,_0x18da('0x1f'));return![];}if(_0x52c194[_0x183f63+_0x18da('0x20')]){writeLog(_0x15b921,_0x52c194,_0x18da('0x21'));return![];}if(_0x1ef528&&_0x52c194['hasOwnProperty'](_0x183f63+'Capacity')&&_0x52c194['hasOwnProperty'](_0x183f63+_0x18da('0x22'))){if(_0x52c194[_0x183f63+'Capacity']>0x0&&_0x52c194[_0x183f63+_0x18da('0x22')]>=_0x52c194[_0x183f63+_0x18da('0x23')]){writeLog(_0x15b921,_0x52c194,_0x183f63[_0x18da('0x24')]()+_0x18da('0x25'));return![];}}return!![];};exports[_0x18da('0x26')]=function(_0xa91c23,_0x1aba7a,_0x4d7cf7,_0x3bec6f,_0xd3732b){return sendNotification(!![],_0xa91c23,_0x1aba7a,_0x4d7cf7,_0x3bec6f,_0xd3732b);};exports[_0x18da('0x27')]=function(_0x2b3489,_0x343e7c,_0x3a9e7d,_0x5e1ff8,_0x163bcb){return sendNotification(![],_0x2b3489,_0x343e7c,_0x3a9e7d,_0x5e1ff8,_0x163bcb);};exports[_0x18da('0x28')]=writeLog;