Built motion from commit da617fac.|2.6.6
[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 _0xf2ca=['body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','message','user:%s','emit','notification:%s','save','remove','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','OFFLINE','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','lodash','util','../utils','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','socket.io-emitter','format','name','user:save','split','account','notificationSound','notificationShake'];(function(_0x4b4b0e,_0x6c674){var _0x4c2d91=function(_0x4d440d){while(--_0x4d440d){_0x4b4b0e['push'](_0x4b4b0e['shift']());}};_0x4c2d91(++_0x6c674);}(_0xf2ca,0x16a));var _0xaf2c=function(_0x264b61,_0x4a5017){_0x264b61=_0x264b61-0x0;var _0x8fff4f=_0xf2ca[_0x264b61];return _0x8fff4f;};'use strict';var _=require(_0xaf2c('0x0'));var util=require(_0xaf2c('0x1'));var utils=require(_0xaf2c('0x2'));var Redis=require('ioredis');var config=require(_0xaf2c('0x3'));var logger=require(_0xaf2c('0x4'))(_0xaf2c('0x5'));config[_0xaf2c('0x6')]=_[_0xaf2c('0x7')](config[_0xaf2c('0x6')],{'host':'localhost','port':0x18eb});var io=require(_0xaf2c('0x8'))(new Redis(config[_0xaf2c('0x6')]));function sendNotification(_0x297740,_0x1f9531,_0x58351f,_0x37fedd,_0x3c0421,_0x4a7397){io['to'](util[_0xaf2c('0x9')]('user:%s',_0x37fedd[_0xaf2c('0xa')]))['emit'](_0xaf2c('0xb'),_0x37fedd);var _0x144a7a=_0x4a7397||{};var _0x2e04e5=_0x58351f[_0xaf2c('0xc')]('.');var _0x5ad9b0={'uniqueid':_0x1f9531,'channel':_0x2e04e5[0x0],'id':_0x2e04e5[0x1],'title':_0x2e04e5[0x0]+'\x20interaction','interactionId':_0x2e04e5[0x2],'queue':_0x3c0421?_0x3c0421[_0xaf2c('0xa')]:null,'sound':_0x144a7a[_0xaf2c('0xd')][_0xaf2c('0xe')],'shake':_0x144a7a[_0xaf2c('0xd')][_0xaf2c('0xf')]};try{if(!_0x144a7a['body']){_0x144a7a['body']={};}if(_0x3c0421){_0x144a7a[_0xaf2c('0x10')][_0xaf2c('0x11')]=_0x3c0421;}else if(_0x144a7a[_0xaf2c('0x10')][_0xaf2c('0x11')]){delete _0x144a7a[_0xaf2c('0x10')][_0xaf2c('0x11')];}_0x5ad9b0[_0xaf2c('0x12')]=utils[_0xaf2c('0x13')](_0x144a7a[_0xaf2c('0xd')][_0xaf2c('0x14')],_0x144a7a);}catch(_0x6ac8e){_0x5ad9b0[_0xaf2c('0x12')]=_0xaf2c('0x15');logger[_0xaf2c('0x16')](util[_0xaf2c('0x9')]('[%s][QUEUE]\x20%s',_0x1f9531,_0x6ac8e[_0xaf2c('0x17')]));}io['to'](util['format'](_0xaf2c('0x18'),_0x37fedd[_0xaf2c('0xa')]))[_0xaf2c('0x19')](util['format'](_0xaf2c('0x1a'),_0x297740?_0xaf2c('0x1b'):_0xaf2c('0x1c')),_0x5ad9b0);}function writeLog(_0x20000b,_0x3f977c,_0x1b7f07){return logger['debug'](util[_0xaf2c('0x9')](_0xaf2c('0x1d'),_0x20000b,_0x3f977c[_0xaf2c('0xa')],_0x1b7f07));}exports[_0xaf2c('0x1e')]=function(_0x237318,_0x486de2,_0x396646,_0xbf6f62){if(_0x486de2[_0xaf2c('0x1f')]){writeLog(_0x237318,_0x486de2,'BUSY');return![];}if(!_0x486de2['online']){writeLog(_0x237318,_0x486de2,_0xaf2c('0x20'));return![];}if(_0x486de2[_0x396646+_0xaf2c('0x21')]){writeLog(_0x237318,_0x486de2,_0xaf2c('0x22'));return![];}if(_0xbf6f62&&_0x486de2[_0xaf2c('0x23')](_0x396646+'Capacity')&&_0x486de2[_0xaf2c('0x23')](_0x396646+_0xaf2c('0x24'))){if(_0x486de2[_0x396646+_0xaf2c('0x25')]>0x0&&_0x486de2[_0x396646+_0xaf2c('0x24')]>=_0x486de2[_0x396646+_0xaf2c('0x25')]){writeLog(_0x237318,_0x486de2,_0x396646[_0xaf2c('0x26')]()+_0xaf2c('0x27'));return![];}}return!![];};exports['showNotification']=function(_0x29f8b0,_0x2051be,_0x36f37c,_0x410536,_0x4b7cf2){return sendNotification(!![],_0x29f8b0,_0x2051be,_0x36f37c,_0x410536,_0x4b7cf2);};exports[_0xaf2c('0x28')]=function(_0x589d47,_0x38db1b,_0x42f980,_0x15466b,_0x5d685a){return sendNotification(![],_0x589d47,_0x38db1b,_0x42f980,_0x15466b,_0x5d685a);};exports[_0xaf2c('0x29')]=writeLog;