Built motion from commit (unavailable).|2.5.11
[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 _0x0102=['socket.io-emitter','emit','format','user:%s','name','user:save','split','\x20interaction','account','notificationShake','body','queue','getMustacheRender','notificationTemplate','msg','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','remove','info','isAgentAvailable','BUSY','Pause','PAUSE','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','writeLog','util','../utils','mustache','ioredis','redis','localhost'];(function(_0x2f9d3e,_0x29345f){var _0x32d8e6=function(_0x9f63fc){while(--_0x9f63fc){_0x2f9d3e['push'](_0x2f9d3e['shift']());}};_0x32d8e6(++_0x29345f);}(_0x0102,0x186));var _0x2010=function(_0xb9c0ea,_0x38f07a){_0xb9c0ea=_0xb9c0ea-0x0;var _0x2b9309=_0x0102[_0xb9c0ea];return _0x2b9309;};'use strict';var _=require('lodash');var util=require(_0x2010('0x0'));var utils=require(_0x2010('0x1'));var Mustache=require(_0x2010('0x2'));var Redis=require(_0x2010('0x3'));var config=require('../../../../../config/environment');var logger=require('../../../../../config/logger')('routing');config['redis']=_['defaults'](config[_0x2010('0x4')],{'host':_0x2010('0x5'),'port':0x18eb});var io=require(_0x2010('0x6'))(new Redis(config[_0x2010('0x4')]));function emit(_0x4eeb67,_0x453fc0,_0x495d98){io['to'](_0x4eeb67)[_0x2010('0x7')](_0x453fc0,_0x495d98);}function sendNotification(_0x160e41,_0x48dd91,_0x1f94ca,_0x3c2d98,_0x3d34d4,_0x3acdbb){io['to'](util[_0x2010('0x8')](_0x2010('0x9'),_0x3c2d98[_0x2010('0xa')]))[_0x2010('0x7')](_0x2010('0xb'),_0x3c2d98);var _0x39a821=_0x3acdbb||{};var _0x1d3b39=_0x1f94ca[_0x2010('0xc')]('.');var _0x2d09c5={'uniqueid':_0x48dd91,'channel':_0x1d3b39[0x0],'id':_0x1d3b39[0x1],'title':_0x1d3b39[0x0]+_0x2010('0xd'),'interactionId':_0x1d3b39[0x2],'queue':_0x3d34d4?_0x3d34d4[_0x2010('0xa')]:null,'sound':_0x39a821[_0x2010('0xe')]['notificationSound'],'shake':_0x39a821['account'][_0x2010('0xf')]};try{if(!_0x39a821[_0x2010('0x10')]){_0x39a821[_0x2010('0x10')]={};}if(_0x3d34d4){_0x39a821[_0x2010('0x10')][_0x2010('0x11')]=_0x3d34d4;}else if(_0x39a821[_0x2010('0x10')]['queue']){delete _0x39a821[_0x2010('0x10')][_0x2010('0x11')];}_0x2d09c5['msg']=utils[_0x2010('0x12')](_0x39a821[_0x2010('0xe')][_0x2010('0x13')],_0x39a821);}catch(_0x2b403a){_0x2d09c5[_0x2010('0x14')]=_0x2010('0x15');logger[_0x2010('0x16')](util[_0x2010('0x8')](_0x2010('0x17'),_0x48dd91,_0x2b403a['message']));}io['to'](util['format'](_0x2010('0x9'),_0x3c2d98[_0x2010('0xa')]))[_0x2010('0x7')](util[_0x2010('0x8')]('notification:%s',_0x160e41?'save':_0x2010('0x18')),_0x2d09c5);}function writeLog(_0x171e45,_0x37b51b,_0x26facc){return logger[_0x2010('0x19')](util[_0x2010('0x8')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x171e45,_0x37b51b[_0x2010('0xa')],_0x26facc));}exports[_0x2010('0x1a')]=function(_0x58ff30,_0x499eee,_0x50aecc,_0x424453){if(_0x499eee['busy']){writeLog(_0x58ff30,_0x499eee,_0x2010('0x1b'));return![];}if(!_0x499eee['online']){writeLog(_0x58ff30,_0x499eee,'OFFLINE');return![];}if(_0x499eee[_0x50aecc+_0x2010('0x1c')]){writeLog(_0x58ff30,_0x499eee,_0x2010('0x1d'));return![];}if(_0x424453&&_0x499eee['hasOwnProperty'](_0x50aecc+_0x2010('0x1e'))&&_0x499eee['hasOwnProperty'](_0x50aecc+_0x2010('0x1f'))){if(_0x499eee[_0x50aecc+_0x2010('0x1e')]>0x0&&_0x499eee[_0x50aecc+_0x2010('0x1f')]>=_0x499eee[_0x50aecc+_0x2010('0x1e')]){writeLog(_0x58ff30,_0x499eee,_0x50aecc[_0x2010('0x20')]()+_0x2010('0x21'));return![];}}return!![];};exports[_0x2010('0x22')]=function(_0x3eb4dc,_0x405f04,_0x103460,_0x122ee3,_0x2ebdbb){return sendNotification(!![],_0x3eb4dc,_0x405f04,_0x103460,_0x122ee3,_0x2ebdbb);};exports['hideNotification']=function(_0x2a4691,_0x52fe5e,_0x5b52fb,_0x147a5a,_0xd16c04){return sendNotification(![],_0x2a4691,_0x52fe5e,_0x5b52fb,_0x147a5a,_0xd16c04);};exports[_0x2010('0x23')]=writeLog;