989d1941881ffd2510b3535c588492ee8a58f3f5
[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 _0xb677=['user:save','\x20interaction','name','account','notificationSound','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','format','notification:%s','save','remove','isAgentAvailable','BUSY','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','lodash','../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','user:%s','emit'];(function(_0x160c73,_0x2ee678){var _0xd9302=function(_0x169454){while(--_0x169454){_0x160c73['push'](_0x160c73['shift']());}};_0xd9302(++_0x2ee678);}(_0xb677,0x119));var _0x7b67=function(_0x548cfa,_0x55d716){_0x548cfa=_0x548cfa-0x0;var _0x7b3d22=_0xb677[_0x548cfa];return _0x7b3d22;};'use strict';var _=require(_0x7b67('0x0'));var util=require('util');var utils=require(_0x7b67('0x1'));var Mustache=require(_0x7b67('0x2'));var Redis=require(_0x7b67('0x3'));var config=require(_0x7b67('0x4'));var logger=require(_0x7b67('0x5'))(_0x7b67('0x6'));config[_0x7b67('0x7')]=_[_0x7b67('0x8')](config['redis'],{'host':_0x7b67('0x9'),'port':0x18eb});var io=require(_0x7b67('0xa'))(new Redis(config[_0x7b67('0x7')]));function emit(_0x3b7a82,_0x502c32,_0x5af161){io['to'](_0x3b7a82)['emit'](_0x502c32,_0x5af161);}function sendNotification(_0x4ac7fb,_0x4b3c59,_0x16826e,_0x4f853f,_0x34e306,_0x248aad){io['to'](util['format'](_0x7b67('0xb'),_0x4f853f['name']))[_0x7b67('0xc')](_0x7b67('0xd'),_0x4f853f);var _0x3f94f8=_0x248aad||{};var _0x536942=_0x16826e['split']('.');var _0x5ed2e5={'uniqueid':_0x4b3c59,'channel':_0x536942[0x0],'id':_0x536942[0x1],'title':_0x536942[0x0]+_0x7b67('0xe'),'interactionId':_0x536942[0x2],'queue':_0x34e306?_0x34e306[_0x7b67('0xf')]:null,'sound':_0x3f94f8[_0x7b67('0x10')][_0x7b67('0x11')],'shake':_0x3f94f8[_0x7b67('0x10')][_0x7b67('0x12')]};try{if(!_0x3f94f8['body']){_0x3f94f8[_0x7b67('0x13')]={};}if(_0x34e306){_0x3f94f8[_0x7b67('0x13')][_0x7b67('0x14')]=_0x34e306;}else if(_0x3f94f8[_0x7b67('0x13')][_0x7b67('0x14')]){delete _0x3f94f8[_0x7b67('0x13')][_0x7b67('0x14')];}_0x5ed2e5[_0x7b67('0x15')]=utils['getMustacheRender'](_0x3f94f8[_0x7b67('0x10')][_0x7b67('0x16')],_0x3f94f8);}catch(_0x37cef1){_0x5ed2e5[_0x7b67('0x15')]=_0x7b67('0x17');logger[_0x7b67('0x18')](util['format'](_0x7b67('0x19'),_0x4b3c59,_0x37cef1[_0x7b67('0x1a')]));}io['to'](util[_0x7b67('0x1b')](_0x7b67('0xb'),_0x4f853f[_0x7b67('0xf')]))[_0x7b67('0xc')](util[_0x7b67('0x1b')](_0x7b67('0x1c'),_0x4ac7fb?_0x7b67('0x1d'):_0x7b67('0x1e')),_0x5ed2e5);}function writeLog(_0x5ddb36,_0x125924,_0x16bc9b){return logger['info'](util['format']('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x5ddb36,_0x125924['name'],_0x16bc9b));}exports[_0x7b67('0x1f')]=function(_0xeabc5c,_0x10c8fe,_0x3042fe,_0x2c3f11){if(_0x10c8fe['busy']){writeLog(_0xeabc5c,_0x10c8fe,_0x7b67('0x20'));return![];}if(!_0x10c8fe[_0x7b67('0x21')]){writeLog(_0xeabc5c,_0x10c8fe,_0x7b67('0x22'));return![];}if(_0x10c8fe[_0x3042fe+_0x7b67('0x23')]){writeLog(_0xeabc5c,_0x10c8fe,_0x7b67('0x24'));return![];}if(_0x2c3f11&&_0x10c8fe[_0x7b67('0x25')](_0x3042fe+_0x7b67('0x26'))&&_0x10c8fe['hasOwnProperty'](_0x3042fe+_0x7b67('0x27'))){if(_0x10c8fe[_0x3042fe+'Capacity']>0x0&&_0x10c8fe[_0x3042fe+_0x7b67('0x27')]>=_0x10c8fe[_0x3042fe+_0x7b67('0x26')]){writeLog(_0xeabc5c,_0x10c8fe,_0x3042fe[_0x7b67('0x28')]()+_0x7b67('0x29'));return![];}}return!![];};exports['showNotification']=function(_0x3cf152,_0x40d2a7,_0x37e35f,_0x5c3f44,_0x5e35c9){return sendNotification(!![],_0x3cf152,_0x40d2a7,_0x37e35f,_0x5c3f44,_0x5e35c9);};exports['hideNotification']=function(_0x8649ec,_0x4bd8b7,_0x5ee006,_0x2cd200,_0x3de320){return sendNotification(![],_0x8649ec,_0x4bd8b7,_0x5ee006,_0x2cd200,_0x3de320);};exports['writeLog']=writeLog;