0e9e1abe0cb08851d84cc90aef094382f4f1bc51
[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 _0xbee0=['../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','socket.io-emitter','emit','format','user:%s','name','user:save','\x20interaction','account','notificationSound','body','queue','getMustacheRender','msg','error','message','notification:%s','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','writeLog','util'];(function(_0x57981c,_0x473a22){var _0x2e5052=function(_0x56637f){while(--_0x56637f){_0x57981c['push'](_0x57981c['shift']());}};_0x2e5052(++_0x473a22);}(_0xbee0,0x147));var _0x0bee=function(_0x4f2075,_0xa21a82){_0x4f2075=_0x4f2075-0x0;var _0x24c72e=_0xbee0[_0x4f2075];return _0x24c72e;};'use strict';var _=require('lodash');var util=require(_0x0bee('0x0'));var utils=require(_0x0bee('0x1'));var Mustache=require(_0x0bee('0x2'));var Redis=require(_0x0bee('0x3'));var config=require(_0x0bee('0x4'));var logger=require(_0x0bee('0x5'))(_0x0bee('0x6'));config[_0x0bee('0x7')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x0bee('0x8'))(new Redis(config[_0x0bee('0x7')]));function emit(_0x3e499b,_0x430f89,_0x498d63){io['to'](_0x3e499b)[_0x0bee('0x9')](_0x430f89,_0x498d63);}function sendNotification(_0x123424,_0x19d117,_0x314f79,_0x53a9af,_0x45b1aa,_0x36bb41){io['to'](util[_0x0bee('0xa')](_0x0bee('0xb'),_0x53a9af[_0x0bee('0xc')]))[_0x0bee('0x9')](_0x0bee('0xd'),_0x53a9af);var _0x56ec86=_0x36bb41||{};var _0xa2e4f3=_0x314f79['split']('.');var _0x25ab0b={'uniqueid':_0x19d117,'channel':_0xa2e4f3[0x0],'id':_0xa2e4f3[0x1],'title':_0xa2e4f3[0x0]+_0x0bee('0xe'),'interactionId':_0xa2e4f3[0x2],'queue':_0x45b1aa?_0x45b1aa[_0x0bee('0xc')]:null,'sound':_0x56ec86[_0x0bee('0xf')][_0x0bee('0x10')],'shake':_0x56ec86[_0x0bee('0xf')]['notificationShake']};try{if(!_0x56ec86['body']){_0x56ec86['body']={};}if(_0x45b1aa){_0x56ec86[_0x0bee('0x11')][_0x0bee('0x12')]=_0x45b1aa;}else if(_0x56ec86[_0x0bee('0x11')][_0x0bee('0x12')]){delete _0x56ec86['body']['queue'];}_0x25ab0b['msg']=utils[_0x0bee('0x13')](_0x56ec86[_0x0bee('0xf')]['notificationTemplate'],_0x56ec86);}catch(_0x3087c2){_0x25ab0b[_0x0bee('0x14')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0x0bee('0x15')](util[_0x0bee('0xa')]('[%s][QUEUE]\x20%s',_0x19d117,_0x3087c2[_0x0bee('0x16')]));}io['to'](util['format'](_0x0bee('0xb'),_0x53a9af[_0x0bee('0xc')]))[_0x0bee('0x9')](util['format'](_0x0bee('0x17'),_0x123424?_0x0bee('0x18'):_0x0bee('0x19')),_0x25ab0b);}function writeLog(_0x43aeb0,_0x2d66a8,_0x549c42){return logger[_0x0bee('0x1a')](util['format'](_0x0bee('0x1b'),_0x43aeb0,_0x2d66a8[_0x0bee('0xc')],_0x549c42));}exports[_0x0bee('0x1c')]=function(_0x8aafcd,_0x5b5080,_0x293527,_0x19cdd6){if(_0x5b5080[_0x0bee('0x1d')]){writeLog(_0x8aafcd,_0x5b5080,_0x0bee('0x1e'));return![];}if(!_0x5b5080['online']){writeLog(_0x8aafcd,_0x5b5080,_0x0bee('0x1f'));return![];}if(_0x5b5080[_0x293527+_0x0bee('0x20')]){writeLog(_0x8aafcd,_0x5b5080,_0x0bee('0x21'));return![];}if(_0x19cdd6&&_0x5b5080[_0x0bee('0x22')](_0x293527+_0x0bee('0x23'))&&_0x5b5080[_0x0bee('0x22')](_0x293527+_0x0bee('0x24'))){if(_0x5b5080[_0x293527+_0x0bee('0x23')]>0x0&&_0x5b5080[_0x293527+_0x0bee('0x24')]>=_0x5b5080[_0x293527+_0x0bee('0x23')]){writeLog(_0x8aafcd,_0x5b5080,_0x293527[_0x0bee('0x25')]()+_0x0bee('0x26'));return![];}}return!![];};exports[_0x0bee('0x27')]=function(_0x15ebc8,_0x306abf,_0x135cd2,_0x2eebfa,_0x3c8542){return sendNotification(!![],_0x15ebc8,_0x306abf,_0x135cd2,_0x2eebfa,_0x3c8542);};exports['hideNotification']=function(_0x5e66f3,_0x392aff,_0x8dfb69,_0x31e80a,_0x1b83c9){return sendNotification(![],_0x5e66f3,_0x392aff,_0x8dfb69,_0x31e80a,_0x1b83c9);};exports[_0x0bee('0x28')]=writeLog;