cc9b20b8e084c6376be523483412d6a9da8d39bc
[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 _0xc6aa=['../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','emit','format','user:%s','name','split','\x20interaction','account','notificationSound','notificationShake','body','queue','getMustacheRender','notificationTemplate','msg','I\x20can\x27t\x20render\x20your\x20template','notification:%s','save','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','PAUSE','Capacity','CurrentCapacity','toUpperCase','showNotification','hideNotification','writeLog','lodash','mustache','../../../../../config/environment'];(function(_0x2261ce,_0x9ed8b6){var _0x524640=function(_0x3cbb90){while(--_0x3cbb90){_0x2261ce['push'](_0x2261ce['shift']());}};_0x524640(++_0x9ed8b6);}(_0xc6aa,0x75));var _0xac6a=function(_0xeb96c3,_0x6ba8d6){_0xeb96c3=_0xeb96c3-0x0;var _0x46a233=_0xc6aa[_0xeb96c3];return _0x46a233;};'use strict';var _=require(_0xac6a('0x0'));var util=require('util');var utils=require('../utils');var Mustache=require(_0xac6a('0x1'));var Redis=require('ioredis');var config=require(_0xac6a('0x2'));var logger=require(_0xac6a('0x3'))(_0xac6a('0x4'));config[_0xac6a('0x5')]=_[_0xac6a('0x6')](config[_0xac6a('0x5')],{'host':_0xac6a('0x7'),'port':0x18eb});var io=require(_0xac6a('0x8'))(new Redis(config['redis']));function emit(_0x5b58d0,_0x4612c6,_0x3d3ab2){io['to'](_0x5b58d0)[_0xac6a('0x9')](_0x4612c6,_0x3d3ab2);}function sendNotification(_0x25e187,_0x539086,_0x447137,_0x447531,_0x226f5c,_0x235372){io['to'](util[_0xac6a('0xa')](_0xac6a('0xb'),_0x447531[_0xac6a('0xc')]))[_0xac6a('0x9')]('user:save',_0x447531);var _0x521152=_0x235372||{};var _0x2ff82c=_0x447137[_0xac6a('0xd')]('.');var _0x2bc27e={'uniqueid':_0x539086,'channel':_0x2ff82c[0x0],'id':_0x2ff82c[0x1],'title':_0x2ff82c[0x0]+_0xac6a('0xe'),'interactionId':_0x2ff82c[0x2],'queue':_0x226f5c?_0x226f5c[_0xac6a('0xc')]:null,'sound':_0x521152[_0xac6a('0xf')][_0xac6a('0x10')],'shake':_0x521152[_0xac6a('0xf')][_0xac6a('0x11')]};try{if(!_0x521152['body']){_0x521152[_0xac6a('0x12')]={};}if(_0x226f5c){_0x521152['body'][_0xac6a('0x13')]=_0x226f5c;}else if(_0x521152['body']['queue']){delete _0x521152['body'][_0xac6a('0x13')];}_0x2bc27e['msg']=utils[_0xac6a('0x14')](_0x521152['account'][_0xac6a('0x15')],_0x521152);}catch(_0x493a08){_0x2bc27e[_0xac6a('0x16')]=_0xac6a('0x17');logger['error'](util[_0xac6a('0xa')]('[%s][QUEUE]\x20%s',_0x539086,_0x493a08['message']));}io['to'](util['format']('user:%s',_0x447531[_0xac6a('0xc')]))[_0xac6a('0x9')](util[_0xac6a('0xa')](_0xac6a('0x18'),_0x25e187?_0xac6a('0x19'):'remove'),_0x2bc27e);}function writeLog(_0x2e40da,_0x481dfe,_0x1cba51){return logger[_0xac6a('0x1a')](util['format'](_0xac6a('0x1b'),_0x2e40da,_0x481dfe[_0xac6a('0xc')],_0x1cba51));}exports[_0xac6a('0x1c')]=function(_0x124cb7,_0x3f3b86,_0x5a269d,_0x3d9ce6){if(_0x3f3b86[_0xac6a('0x1d')]){writeLog(_0x124cb7,_0x3f3b86,_0xac6a('0x1e'));return![];}if(!_0x3f3b86[_0xac6a('0x1f')]){writeLog(_0x124cb7,_0x3f3b86,_0xac6a('0x20'));return![];}if(_0x3f3b86[_0x5a269d+'Pause']){writeLog(_0x124cb7,_0x3f3b86,_0xac6a('0x21'));return![];}if(_0x3d9ce6&&_0x3f3b86['hasOwnProperty'](_0x5a269d+_0xac6a('0x22'))&&_0x3f3b86['hasOwnProperty'](_0x5a269d+_0xac6a('0x23'))){if(_0x3f3b86[_0x5a269d+'Capacity']>0x0&&_0x3f3b86[_0x5a269d+'CurrentCapacity']>=_0x3f3b86[_0x5a269d+_0xac6a('0x22')]){writeLog(_0x124cb7,_0x3f3b86,_0x5a269d[_0xac6a('0x24')]()+'\x20MAXCAPACITY');return![];}}return!![];};exports[_0xac6a('0x25')]=function(_0x1491f6,_0x453059,_0x4ca2b4,_0x5c5c3e,_0x5eeca0){return sendNotification(!![],_0x1491f6,_0x453059,_0x4ca2b4,_0x5c5c3e,_0x5eeca0);};exports[_0xac6a('0x26')]=function(_0x59764d,_0x25b91a,_0x894844,_0x2beab1,_0x538e54){return sendNotification(![],_0x59764d,_0x25b91a,_0x894844,_0x2beab1,_0x538e54);};exports[_0xac6a('0x27')]=writeLog;