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 _0x3fb7=['user:%s','name','emit','user:save','split','\x20interaction','notificationSound','account','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','format','[%s][QUEUE]\x20%s','message','notification:%s','save','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','online','OFFLINE','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','showNotification','hideNotification','lodash','util','../utils','mustache','../../../../../config/environment','../../../../../config/logger','routing','redis','localhost'];(function(_0x3fa813,_0x295ac7){var _0x3cbab1=function(_0x5b2451){while(--_0x5b2451){_0x3fa813['push'](_0x3fa813['shift']());}};_0x3cbab1(++_0x295ac7);}(_0x3fb7,0x187));var _0x73fb=function(_0x3e7eab,_0x1c0d7f){_0x3e7eab=_0x3e7eab-0x0;var _0x4ae4d4=_0x3fb7[_0x3e7eab];return _0x4ae4d4;};'use strict';var _=require(_0x73fb('0x0'));var util=require(_0x73fb('0x1'));var utils=require(_0x73fb('0x2'));var Mustache=require(_0x73fb('0x3'));var Redis=require('ioredis');var config=require(_0x73fb('0x4'));var logger=require(_0x73fb('0x5'))(_0x73fb('0x6'));config[_0x73fb('0x7')]=_['defaults'](config[_0x73fb('0x7')],{'host':_0x73fb('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x73fb('0x7')]));function emit(_0x557723,_0xa49eb7,_0x4b2829){io['to'](_0x557723)['emit'](_0xa49eb7,_0x4b2829);}function sendNotification(_0x20861b,_0x540701,_0x5eba3a,_0x2fc0ff,_0x4002a1,_0x34beac){io['to'](util['format'](_0x73fb('0x9'),_0x2fc0ff[_0x73fb('0xa')]))[_0x73fb('0xb')](_0x73fb('0xc'),_0x2fc0ff);var _0x1cb418=_0x34beac||{};var _0x1194b4=_0x5eba3a[_0x73fb('0xd')]('.');var _0x154617={'uniqueid':_0x540701,'channel':_0x1194b4[0x0],'id':_0x1194b4[0x1],'title':_0x1194b4[0x0]+_0x73fb('0xe'),'interactionId':_0x1194b4[0x2],'queue':_0x4002a1?_0x4002a1[_0x73fb('0xa')]:null,'sound':_0x1cb418['account'][_0x73fb('0xf')],'shake':_0x1cb418[_0x73fb('0x10')]['notificationShake']};try{if(!_0x1cb418[_0x73fb('0x11')]){_0x1cb418[_0x73fb('0x11')]={};}if(_0x4002a1){_0x1cb418[_0x73fb('0x11')][_0x73fb('0x12')]=_0x4002a1;}else if(_0x1cb418[_0x73fb('0x11')][_0x73fb('0x12')]){delete _0x1cb418[_0x73fb('0x11')][_0x73fb('0x12')];}_0x154617[_0x73fb('0x13')]=utils['getMustacheRender'](_0x1cb418[_0x73fb('0x10')][_0x73fb('0x14')],_0x1cb418);}catch(_0x591cd7){_0x154617[_0x73fb('0x13')]=_0x73fb('0x15');logger[_0x73fb('0x16')](util[_0x73fb('0x17')](_0x73fb('0x18'),_0x540701,_0x591cd7[_0x73fb('0x19')]));}io['to'](util[_0x73fb('0x17')]('user:%s',_0x2fc0ff['name']))[_0x73fb('0xb')](util[_0x73fb('0x17')](_0x73fb('0x1a'),_0x20861b?_0x73fb('0x1b'):'remove'),_0x154617);}function writeLog(_0x166b8e,_0x13b205,_0x1dbca4){return logger[_0x73fb('0x1c')](util['format'](_0x73fb('0x1d'),_0x166b8e,_0x13b205['name'],_0x1dbca4));}exports['isAgentAvailable']=function(_0x301af2,_0x414732,_0x2661ce,_0x3275ba){if(_0x414732[_0x73fb('0x1e')]){writeLog(_0x301af2,_0x414732,'BUSY');return![];}if(!_0x414732[_0x73fb('0x1f')]){writeLog(_0x301af2,_0x414732,_0x73fb('0x20'));return![];}if(_0x414732[_0x2661ce+'Pause']){writeLog(_0x301af2,_0x414732,_0x73fb('0x21'));return![];}if(_0x3275ba&&_0x414732[_0x73fb('0x22')](_0x2661ce+_0x73fb('0x23'))&&_0x414732[_0x73fb('0x22')](_0x2661ce+_0x73fb('0x24'))){if(_0x414732[_0x2661ce+_0x73fb('0x23')]>0x0&&_0x414732[_0x2661ce+_0x73fb('0x24')]>=_0x414732[_0x2661ce+_0x73fb('0x23')]){writeLog(_0x301af2,_0x414732,_0x2661ce[_0x73fb('0x25')]()+'\x20MAXCAPACITY');return![];}}return!![];};exports[_0x73fb('0x26')]=function(_0x1a8647,_0x1f08c3,_0x4cfad5,_0x41effc,_0x5283b5){return sendNotification(!![],_0x1a8647,_0x1f08c3,_0x4cfad5,_0x41effc,_0x5283b5);};exports[_0x73fb('0x27')]=function(_0x7d4387,_0xa145ec,_0x103075,_0x261556,_0xa68962){return sendNotification(![],_0x7d4387,_0xa145ec,_0x103075,_0x261556,_0xa68962);};exports['writeLog']=writeLog;