ebc177838e1dad56ae18e33533aee8a1330c5aab
[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 _0x9c5a=['[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','BUSY','online','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','writeLog','lodash','util','ioredis','../../../../../config/environment','../../../../../config/logger','routing','defaults','redis','socket.io-emitter','user:%s','name','user:save','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','error','format','[%s][QUEUE]\x20%s','emit','notification:%s','save','remove','debug'];(function(_0x22e751,_0x15633c){var _0x5c1f14=function(_0x2efbf3){while(--_0x2efbf3){_0x22e751['push'](_0x22e751['shift']());}};_0x5c1f14(++_0x15633c);}(_0x9c5a,0x1c3));var _0xa9c5=function(_0x1a76e9,_0x166453){_0x1a76e9=_0x1a76e9-0x0;var _0x49876d=_0x9c5a[_0x1a76e9];return _0x49876d;};'use strict';var _=require(_0xa9c5('0x0'));var util=require(_0xa9c5('0x1'));var utils=require('../utils');var Redis=require(_0xa9c5('0x2'));var config=require(_0xa9c5('0x3'));var logger=require(_0xa9c5('0x4'))(_0xa9c5('0x5'));config['redis']=_[_0xa9c5('0x6')](config[_0xa9c5('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0xa9c5('0x8'))(new Redis(config['redis']));function sendNotification(_0x394d84,_0x3df556,_0x4cb597,_0x4b6db6,_0x3d6b50,_0x16f331){io['to'](util['format'](_0xa9c5('0x9'),_0x4b6db6[_0xa9c5('0xa')]))['emit'](_0xa9c5('0xb'),_0x4b6db6);var _0x40a79d=_0x16f331||{};var _0x4a19c0=_0x4cb597['split']('.');var _0x38e106={'uniqueid':_0x3df556,'channel':_0x4a19c0[0x0],'id':_0x4a19c0[0x1],'title':_0x4a19c0[0x0]+_0xa9c5('0xc'),'interactionId':_0x4a19c0[0x2],'queue':_0x3d6b50?_0x3d6b50[_0xa9c5('0xa')]:null,'sound':_0x40a79d[_0xa9c5('0xd')][_0xa9c5('0xe')],'shake':_0x40a79d[_0xa9c5('0xd')][_0xa9c5('0xf')]};try{if(!_0x40a79d[_0xa9c5('0x10')]){_0x40a79d[_0xa9c5('0x10')]={};}if(_0x3d6b50){_0x40a79d[_0xa9c5('0x10')]['queue']=_0x3d6b50;}else if(_0x40a79d[_0xa9c5('0x10')][_0xa9c5('0x11')]){delete _0x40a79d[_0xa9c5('0x10')][_0xa9c5('0x11')];}_0x38e106[_0xa9c5('0x12')]=utils[_0xa9c5('0x13')](_0x40a79d[_0xa9c5('0xd')][_0xa9c5('0x14')],_0x40a79d);}catch(_0x19a43e){_0x38e106[_0xa9c5('0x12')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0xa9c5('0x15')](util[_0xa9c5('0x16')](_0xa9c5('0x17'),_0x3df556,_0x19a43e['message']));}io['to'](util[_0xa9c5('0x16')](_0xa9c5('0x9'),_0x4b6db6[_0xa9c5('0xa')]))[_0xa9c5('0x18')](util[_0xa9c5('0x16')](_0xa9c5('0x19'),_0x394d84?_0xa9c5('0x1a'):_0xa9c5('0x1b')),_0x38e106);}function writeLog(_0x2c7cd5,_0x36c486,_0x113c8f){return logger[_0xa9c5('0x1c')](util['format'](_0xa9c5('0x1d'),_0x2c7cd5,_0x36c486[_0xa9c5('0xa')],_0x113c8f));}exports['isAgentAvailable']=function(_0x5d2115,_0xce9af6,_0x366f5c,_0x10b208){if(_0xce9af6[_0xa9c5('0x1e')]){writeLog(_0x5d2115,_0xce9af6,_0xa9c5('0x1f'));return![];}if(!_0xce9af6[_0xa9c5('0x20')]){writeLog(_0x5d2115,_0xce9af6,'OFFLINE');return![];}if(_0xce9af6[_0x366f5c+'Pause']){writeLog(_0x5d2115,_0xce9af6,_0xa9c5('0x21'));return![];}if(_0x10b208&&_0xce9af6[_0xa9c5('0x22')](_0x366f5c+'Capacity')&&_0xce9af6[_0xa9c5('0x22')](_0x366f5c+_0xa9c5('0x23'))){if(_0xce9af6[_0x366f5c+_0xa9c5('0x24')]>0x0&&_0xce9af6[_0x366f5c+_0xa9c5('0x23')]>=_0xce9af6[_0x366f5c+_0xa9c5('0x24')]){writeLog(_0x5d2115,_0xce9af6,_0x366f5c[_0xa9c5('0x25')]()+_0xa9c5('0x26'));return![];}}return!![];};exports['showNotification']=function(_0x4e8a7f,_0x242771,_0x4cd5e6,_0x1762ac,_0x830bad){return sendNotification(!![],_0x4e8a7f,_0x242771,_0x4cd5e6,_0x1762ac,_0x830bad);};exports['hideNotification']=function(_0x11a723,_0x320dc0,_0x5f468b,_0x413edf,_0x32baf9){return sendNotification(![],_0x11a723,_0x320dc0,_0x5f468b,_0x413edf,_0x32baf9);};exports[_0xa9c5('0x27')]=writeLog;