dc568e92b8a563123ed0a0e5481e9859918c2060
[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 _0x3e24=['hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','showNotification','hideNotification','writeLog','lodash','util','../utils','mustache','ioredis','../../../../../config/logger','routing','defaults','redis','localhost','socket.io-emitter','emit','format','name','split','\x20interaction','account','notificationSound','notificationShake','body','queue','notificationTemplate','msg','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','notification:%s','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','online','OFFLINE','Pause','PAUSE'];(function(_0x2ca7ca,_0x24c7af){var _0x55ecf0=function(_0x513b54){while(--_0x513b54){_0x2ca7ca['push'](_0x2ca7ca['shift']());}};_0x55ecf0(++_0x24c7af);}(_0x3e24,0x167));var _0x43e2=function(_0x124128,_0x1934dd){_0x124128=_0x124128-0x0;var _0x25079e=_0x3e24[_0x124128];return _0x25079e;};'use strict';var _=require(_0x43e2('0x0'));var util=require(_0x43e2('0x1'));var utils=require(_0x43e2('0x2'));var Mustache=require(_0x43e2('0x3'));var Redis=require(_0x43e2('0x4'));var config=require('../../../../../config/environment');var logger=require(_0x43e2('0x5'))(_0x43e2('0x6'));config['redis']=_[_0x43e2('0x7')](config[_0x43e2('0x8')],{'host':_0x43e2('0x9'),'port':0x18eb});var io=require(_0x43e2('0xa'))(new Redis(config[_0x43e2('0x8')]));function emit(_0x121e2e,_0x23b2d8,_0x59956d){io['to'](_0x121e2e)[_0x43e2('0xb')](_0x23b2d8,_0x59956d);}function sendNotification(_0x2357bc,_0x4bd2ce,_0x1c96f9,_0x2fdf85,_0x5375d8,_0x2ed387){io['to'](util[_0x43e2('0xc')]('user:%s',_0x2fdf85[_0x43e2('0xd')]))['emit']('user:save',_0x2fdf85);var _0x5847f0=_0x2ed387||{};var _0x103220=_0x1c96f9[_0x43e2('0xe')]('.');var _0x236b88={'uniqueid':_0x4bd2ce,'channel':_0x103220[0x0],'id':_0x103220[0x1],'title':_0x103220[0x0]+_0x43e2('0xf'),'interactionId':_0x103220[0x2],'queue':_0x5375d8?_0x5375d8[_0x43e2('0xd')]:null,'sound':_0x5847f0[_0x43e2('0x10')][_0x43e2('0x11')],'shake':_0x5847f0[_0x43e2('0x10')][_0x43e2('0x12')]};try{if(!_0x5847f0[_0x43e2('0x13')]){_0x5847f0[_0x43e2('0x13')]={};}if(_0x5375d8){_0x5847f0[_0x43e2('0x13')]['queue']=_0x5375d8;}else if(_0x5847f0[_0x43e2('0x13')][_0x43e2('0x14')]){delete _0x5847f0[_0x43e2('0x13')][_0x43e2('0x14')];}_0x236b88['msg']=utils['getMustacheRender'](_0x5847f0[_0x43e2('0x10')][_0x43e2('0x15')],_0x5847f0);}catch(_0x27aa89){_0x236b88[_0x43e2('0x16')]=_0x43e2('0x17');logger[_0x43e2('0x18')](util[_0x43e2('0xc')](_0x43e2('0x19'),_0x4bd2ce,_0x27aa89[_0x43e2('0x1a')]));}io['to'](util[_0x43e2('0xc')]('user:%s',_0x2fdf85[_0x43e2('0xd')]))[_0x43e2('0xb')](util['format'](_0x43e2('0x1b'),_0x2357bc?'save':_0x43e2('0x1c')),_0x236b88);}function writeLog(_0x13610f,_0x1fac53,_0x23825c){return logger[_0x43e2('0x1d')](util['format'](_0x43e2('0x1e'),_0x13610f,_0x1fac53[_0x43e2('0xd')],_0x23825c));}exports[_0x43e2('0x1f')]=function(_0x52e361,_0x234a1d,_0x32f048,_0x43078f){if(_0x234a1d[_0x43e2('0x20')]){writeLog(_0x52e361,_0x234a1d,'BUSY');return![];}if(!_0x234a1d[_0x43e2('0x21')]){writeLog(_0x52e361,_0x234a1d,_0x43e2('0x22'));return![];}if(_0x234a1d[_0x32f048+_0x43e2('0x23')]){writeLog(_0x52e361,_0x234a1d,_0x43e2('0x24'));return![];}if(_0x43078f&&_0x234a1d[_0x43e2('0x25')](_0x32f048+_0x43e2('0x26'))&&_0x234a1d[_0x43e2('0x25')](_0x32f048+_0x43e2('0x27'))){if(_0x234a1d[_0x32f048+_0x43e2('0x26')]>0x0&&_0x234a1d[_0x32f048+_0x43e2('0x27')]>=_0x234a1d[_0x32f048+_0x43e2('0x26')]){writeLog(_0x52e361,_0x234a1d,_0x32f048[_0x43e2('0x28')]()+'\x20MAXCAPACITY');return![];}}return!![];};exports[_0x43e2('0x29')]=function(_0x2f2bd8,_0x545246,_0x163063,_0x1883c6,_0x2dffa2){return sendNotification(!![],_0x2f2bd8,_0x545246,_0x163063,_0x1883c6,_0x2dffa2);};exports[_0x43e2('0x2a')]=function(_0x3fd232,_0x5a896b,_0x42f495,_0xd1b43a,_0x1779f9){return sendNotification(![],_0x3fd232,_0x5a896b,_0x42f495,_0xd1b43a,_0x1779f9);};exports[_0x43e2('0x2b')]=writeLog;