cc5bb8ab381736df6ad23b10407e38abd2f79526
[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 _0x906c=['../utils','../../../../../config/environment','../../../../../config/logger','routing','redis','format','user:%s','name','emit','user:save','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','notificationTemplate','error','[%s][QUEUE]\x20%s','message','notification:%s','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','writeLog','lodash','util'];(function(_0x590def,_0x5aaa3b){var _0x5abe2b=function(_0x55dbb7){while(--_0x55dbb7){_0x590def['push'](_0x590def['shift']());}};_0x5abe2b(++_0x5aaa3b);}(_0x906c,0x195));var _0xc906=function(_0x27f353,_0x58d883){_0x27f353=_0x27f353-0x0;var _0x15abd1=_0x906c[_0x27f353];return _0x15abd1;};'use strict';var _=require(_0xc906('0x0'));var util=require(_0xc906('0x1'));var utils=require(_0xc906('0x2'));var Mustache=require('mustache');var Redis=require('ioredis');var config=require(_0xc906('0x3'));var logger=require(_0xc906('0x4'))(_0xc906('0x5'));config[_0xc906('0x6')]=_['defaults'](config[_0xc906('0x6')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xc906('0x6')]));function emit(_0x62ff11,_0x3b8256,_0x541b60){io['to'](_0x62ff11)['emit'](_0x3b8256,_0x541b60);}function sendNotification(_0x2ecf55,_0x58c03e,_0x19f87b,_0x10d187,_0x1d10a2,_0x41e4c3){io['to'](util[_0xc906('0x7')](_0xc906('0x8'),_0x10d187[_0xc906('0x9')]))[_0xc906('0xa')](_0xc906('0xb'),_0x10d187);var _0x17174d=_0x41e4c3||{};var _0x1f8ff2=_0x19f87b['split']('.');var _0x2941a8={'uniqueid':_0x58c03e,'channel':_0x1f8ff2[0x0],'id':_0x1f8ff2[0x1],'title':_0x1f8ff2[0x0]+_0xc906('0xc'),'interactionId':_0x1f8ff2[0x2],'queue':_0x1d10a2?_0x1d10a2[_0xc906('0x9')]:null,'sound':_0x17174d[_0xc906('0xd')][_0xc906('0xe')],'shake':_0x17174d[_0xc906('0xd')][_0xc906('0xf')]};try{if(!_0x17174d[_0xc906('0x10')]){_0x17174d['body']={};}if(_0x1d10a2){_0x17174d['body'][_0xc906('0x11')]=_0x1d10a2;}else if(_0x17174d[_0xc906('0x10')]['queue']){delete _0x17174d[_0xc906('0x10')]['queue'];}_0x2941a8[_0xc906('0x12')]=utils['getMustacheRender'](_0x17174d[_0xc906('0xd')][_0xc906('0x13')],_0x17174d);}catch(_0x48e9c1){_0x2941a8[_0xc906('0x12')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0xc906('0x14')](util[_0xc906('0x7')](_0xc906('0x15'),_0x58c03e,_0x48e9c1[_0xc906('0x16')]));}io['to'](util[_0xc906('0x7')](_0xc906('0x8'),_0x10d187['name']))[_0xc906('0xa')](util['format'](_0xc906('0x17'),_0x2ecf55?'save':'remove'),_0x2941a8);}function writeLog(_0x1adaf5,_0x1c38c4,_0x5a2172){return logger[_0xc906('0x18')](util[_0xc906('0x7')](_0xc906('0x19'),_0x1adaf5,_0x1c38c4[_0xc906('0x9')],_0x5a2172));}exports['isAgentAvailable']=function(_0x298555,_0x1a51a6,_0x229999,_0x2e9f9e){if(_0x1a51a6[_0xc906('0x1a')]){writeLog(_0x298555,_0x1a51a6,'BUSY');return![];}if(!_0x1a51a6[_0xc906('0x1b')]){writeLog(_0x298555,_0x1a51a6,_0xc906('0x1c'));return![];}if(_0x1a51a6[_0x229999+_0xc906('0x1d')]){writeLog(_0x298555,_0x1a51a6,_0xc906('0x1e'));return![];}if(_0x2e9f9e&&_0x1a51a6[_0xc906('0x1f')](_0x229999+_0xc906('0x20'))&&_0x1a51a6[_0xc906('0x1f')](_0x229999+_0xc906('0x21'))){if(_0x1a51a6[_0x229999+'Capacity']>0x0&&_0x1a51a6[_0x229999+_0xc906('0x21')]>=_0x1a51a6[_0x229999+_0xc906('0x20')]){writeLog(_0x298555,_0x1a51a6,_0x229999[_0xc906('0x22')]()+_0xc906('0x23'));return![];}}return!![];};exports['showNotification']=function(_0x3e0888,_0x2511a6,_0x4106cf,_0x2b59a3,_0x3817bd){return sendNotification(!![],_0x3e0888,_0x2511a6,_0x4106cf,_0x2b59a3,_0x3817bd);};exports['hideNotification']=function(_0x43273c,_0x307d00,_0x1e139f,_0x5a3768,_0x4cb367){return sendNotification(![],_0x43273c,_0x307d00,_0x1e139f,_0x5a3768,_0x4cb367);};exports[_0xc906('0x24')]=writeLog;