Built motion from commit (unavailable).|2.5.24
[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 _0xb676=['body','queue','msg','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','notification:%s','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','Pause','PAUSE','Capacity','hasOwnProperty','CurrentCapacity','\x20MAXCAPACITY','showNotification','writeLog','lodash','../utils','mustache','ioredis','../../../../../config/environment','redis','defaults','localhost','emit','format','user:%s','name','split','\x20interaction','account','notificationSound','notificationShake'];(function(_0x4dab14,_0x164ea0){var _0xf41aa=function(_0x305d50){while(--_0x305d50){_0x4dab14['push'](_0x4dab14['shift']());}};_0xf41aa(++_0x164ea0);}(_0xb676,0xbc));var _0x6b67=function(_0x21549c,_0x6d64d1){_0x21549c=_0x21549c-0x0;var _0x426cbd=_0xb676[_0x21549c];return _0x426cbd;};'use strict';var _=require(_0x6b67('0x0'));var util=require('util');var utils=require(_0x6b67('0x1'));var Mustache=require(_0x6b67('0x2'));var Redis=require(_0x6b67('0x3'));var config=require(_0x6b67('0x4'));var logger=require('../../../../../config/logger')('routing');config[_0x6b67('0x5')]=_[_0x6b67('0x6')](config['redis'],{'host':_0x6b67('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x6b67('0x5')]));function emit(_0x45cab7,_0x3e10b4,_0x5a28e3){io['to'](_0x45cab7)[_0x6b67('0x8')](_0x3e10b4,_0x5a28e3);}function sendNotification(_0x1f3234,_0x43bfd4,_0x561a78,_0xd783d8,_0xe69a03,_0x58f003){io['to'](util[_0x6b67('0x9')](_0x6b67('0xa'),_0xd783d8[_0x6b67('0xb')]))[_0x6b67('0x8')]('user:save',_0xd783d8);var _0x2f854d=_0x58f003||{};var _0x48ea70=_0x561a78[_0x6b67('0xc')]('.');var _0x25c0f8={'uniqueid':_0x43bfd4,'channel':_0x48ea70[0x0],'id':_0x48ea70[0x1],'title':_0x48ea70[0x0]+_0x6b67('0xd'),'interactionId':_0x48ea70[0x2],'queue':_0xe69a03?_0xe69a03[_0x6b67('0xb')]:null,'sound':_0x2f854d[_0x6b67('0xe')][_0x6b67('0xf')],'shake':_0x2f854d[_0x6b67('0xe')][_0x6b67('0x10')]};try{if(!_0x2f854d[_0x6b67('0x11')]){_0x2f854d[_0x6b67('0x11')]={};}if(_0xe69a03){_0x2f854d[_0x6b67('0x11')]['queue']=_0xe69a03;}else if(_0x2f854d[_0x6b67('0x11')][_0x6b67('0x12')]){delete _0x2f854d['body'][_0x6b67('0x12')];}_0x25c0f8[_0x6b67('0x13')]=utils[_0x6b67('0x14')](_0x2f854d[_0x6b67('0xe')]['notificationTemplate'],_0x2f854d);}catch(_0x416fdd){_0x25c0f8[_0x6b67('0x13')]=_0x6b67('0x15');logger[_0x6b67('0x16')](util[_0x6b67('0x9')](_0x6b67('0x17'),_0x43bfd4,_0x416fdd['message']));}io['to'](util[_0x6b67('0x9')]('user:%s',_0xd783d8[_0x6b67('0xb')]))[_0x6b67('0x8')](util[_0x6b67('0x9')](_0x6b67('0x18'),_0x1f3234?'save':_0x6b67('0x19')),_0x25c0f8);}function writeLog(_0x360208,_0x2137e7,_0x50fdfc){return logger[_0x6b67('0x1a')](util[_0x6b67('0x9')](_0x6b67('0x1b'),_0x360208,_0x2137e7['name'],_0x50fdfc));}exports[_0x6b67('0x1c')]=function(_0x280ea3,_0x59ae9c,_0x3a0a3f,_0x393b3d){if(_0x59ae9c[_0x6b67('0x1d')]){writeLog(_0x280ea3,_0x59ae9c,_0x6b67('0x1e'));return![];}if(!_0x59ae9c[_0x6b67('0x1f')]){writeLog(_0x280ea3,_0x59ae9c,_0x6b67('0x20'));return![];}if(_0x59ae9c[_0x3a0a3f+_0x6b67('0x21')]){writeLog(_0x280ea3,_0x59ae9c,_0x6b67('0x22'));return![];}if(_0x393b3d&&_0x59ae9c['hasOwnProperty'](_0x3a0a3f+_0x6b67('0x23'))&&_0x59ae9c[_0x6b67('0x24')](_0x3a0a3f+_0x6b67('0x25'))){if(_0x59ae9c[_0x3a0a3f+'Capacity']>0x0&&_0x59ae9c[_0x3a0a3f+_0x6b67('0x25')]>=_0x59ae9c[_0x3a0a3f+_0x6b67('0x23')]){writeLog(_0x280ea3,_0x59ae9c,_0x3a0a3f['toUpperCase']()+_0x6b67('0x26'));return![];}}return!![];};exports[_0x6b67('0x27')]=function(_0x3e781b,_0x3ac43d,_0x2d97ab,_0x140138,_0x3b65af){return sendNotification(!![],_0x3e781b,_0x3ac43d,_0x2d97ab,_0x140138,_0x3b65af);};exports['hideNotification']=function(_0x320a70,_0x433881,_0xa01702,_0x311b91,_0x41968d){return sendNotification(![],_0x320a70,_0x433881,_0xa01702,_0x311b91,_0x41968d);};exports[_0x6b67('0x28')]=writeLog;