40e12460689d5142d8adfbad5818a087c2146ac2
[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 _0xda19=['PAUSE','Capacity','hasOwnProperty','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','util','../utils','../../../../../config/environment','routing','defaults','redis','localhost','socket.io-emitter','name','user:save','split','\x20interaction','account','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','format','[%s][QUEUE]\x20%s','message','user:%s','notification:%s','save','remove','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','Pause'];(function(_0x17a9b3,_0x3a97f6){var _0x1c5118=function(_0x4ef2e5){while(--_0x4ef2e5){_0x17a9b3['push'](_0x17a9b3['shift']());}};_0x1c5118(++_0x3a97f6);}(_0xda19,0xd5));var _0x9da1=function(_0x48b55f,_0x2a17e7){_0x48b55f=_0x48b55f-0x0;var _0x524a3c=_0xda19[_0x48b55f];return _0x524a3c;};'use strict';var _=require('lodash');var util=require(_0x9da1('0x0'));var utils=require(_0x9da1('0x1'));var Redis=require('ioredis');var config=require(_0x9da1('0x2'));var logger=require('../../../../../config/logger')(_0x9da1('0x3'));config['redis']=_[_0x9da1('0x4')](config[_0x9da1('0x5')],{'host':_0x9da1('0x6'),'port':0x18eb});var io=require(_0x9da1('0x7'))(new Redis(config[_0x9da1('0x5')]));function sendNotification(_0x2dcbc6,_0x23e4f7,_0x2c3cdd,_0x1c24e6,_0x5e2d18,_0x47df89){io['to'](util['format']('user:%s',_0x1c24e6[_0x9da1('0x8')]))['emit'](_0x9da1('0x9'),_0x1c24e6);var _0x1cca84=_0x47df89||{};var _0x3ba3d3=_0x2c3cdd[_0x9da1('0xa')]('.');var _0x418af0={'uniqueid':_0x23e4f7,'channel':_0x3ba3d3[0x0],'id':_0x3ba3d3[0x1],'title':_0x3ba3d3[0x0]+_0x9da1('0xb'),'interactionId':_0x3ba3d3[0x2],'queue':_0x5e2d18?_0x5e2d18[_0x9da1('0x8')]:null,'sound':_0x1cca84['account']['notificationSound'],'shake':_0x1cca84[_0x9da1('0xc')]['notificationShake']};try{if(!_0x1cca84[_0x9da1('0xd')]){_0x1cca84[_0x9da1('0xd')]={};}if(_0x5e2d18){_0x1cca84[_0x9da1('0xd')][_0x9da1('0xe')]=_0x5e2d18;}else if(_0x1cca84['body'][_0x9da1('0xe')]){delete _0x1cca84['body']['queue'];}_0x418af0[_0x9da1('0xf')]=utils['getMustacheRender'](_0x1cca84[_0x9da1('0xc')][_0x9da1('0x10')],_0x1cca84);}catch(_0x37653d){_0x418af0[_0x9da1('0xf')]=_0x9da1('0x11');logger['error'](util[_0x9da1('0x12')](_0x9da1('0x13'),_0x23e4f7,_0x37653d[_0x9da1('0x14')]));}io['to'](util[_0x9da1('0x12')](_0x9da1('0x15'),_0x1c24e6[_0x9da1('0x8')]))['emit'](util['format'](_0x9da1('0x16'),_0x2dcbc6?_0x9da1('0x17'):_0x9da1('0x18')),_0x418af0);}function writeLog(_0x41e555,_0x40a967,_0x3b1645){return logger[_0x9da1('0x19')](util['format'](_0x9da1('0x1a'),_0x41e555,_0x40a967[_0x9da1('0x8')],_0x3b1645));}exports[_0x9da1('0x1b')]=function(_0xacba30,_0x1fc065,_0x4e9d7d,_0x5454d3){if(_0x1fc065[_0x9da1('0x1c')]){writeLog(_0xacba30,_0x1fc065,_0x9da1('0x1d'));return![];}if(!_0x1fc065[_0x9da1('0x1e')]){writeLog(_0xacba30,_0x1fc065,_0x9da1('0x1f'));return![];}if(_0x1fc065[_0x4e9d7d+_0x9da1('0x20')]){writeLog(_0xacba30,_0x1fc065,_0x9da1('0x21'));return![];}if(_0x5454d3&&_0x1fc065['hasOwnProperty'](_0x4e9d7d+_0x9da1('0x22'))&&_0x1fc065[_0x9da1('0x23')](_0x4e9d7d+'CurrentCapacity')){if(_0x1fc065[_0x4e9d7d+_0x9da1('0x22')]>0x0&&_0x1fc065[_0x4e9d7d+_0x9da1('0x24')]>=_0x1fc065[_0x4e9d7d+'Capacity']){writeLog(_0xacba30,_0x1fc065,_0x4e9d7d[_0x9da1('0x25')]()+_0x9da1('0x26'));return![];}}return!![];};exports['showNotification']=function(_0x36b87a,_0x1d6af5,_0x55cd3d,_0x5c09ed,_0x67dbc8){return sendNotification(!![],_0x36b87a,_0x1d6af5,_0x55cd3d,_0x5c09ed,_0x67dbc8);};exports[_0x9da1('0x27')]=function(_0x5eca5b,_0x27c6e2,_0x5db5c2,_0x5a6f2d,_0x5a59c2){return sendNotification(![],_0x5eca5b,_0x27c6e2,_0x5db5c2,_0x5a6f2d,_0x5a59c2);};exports[_0x9da1('0x28')]=writeLog;