b2c1fda6c0f2bb61837fda48f44ccb35a64fe972
[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 _0x81d5=['ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','localhost','socket.io-emitter','format','user:%s','name','user:save','split','\x20interaction','account','notificationSound','body','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','emit','notification:%s','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','BUSY','online','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','showNotification','writeLog','lodash','util','mustache'];(function(_0x23dad9,_0x5dc8f2){var _0x527967=function(_0x2d9dc2){while(--_0x2d9dc2){_0x23dad9['push'](_0x23dad9['shift']());}};_0x527967(++_0x5dc8f2);}(_0x81d5,0x1ab));var _0x581d=function(_0x443397,_0x2b7062){_0x443397=_0x443397-0x0;var _0x56a9e1=_0x81d5[_0x443397];return _0x56a9e1;};'use strict';var _=require(_0x581d('0x0'));var util=require(_0x581d('0x1'));var utils=require('../utils');var Mustache=require(_0x581d('0x2'));var Redis=require(_0x581d('0x3'));var config=require(_0x581d('0x4'));var logger=require(_0x581d('0x5'))(_0x581d('0x6'));config['redis']=_['defaults'](config[_0x581d('0x7')],{'host':_0x581d('0x8'),'port':0x18eb});var io=require(_0x581d('0x9'))(new Redis(config['redis']));function emit(_0x16067b,_0x2f32bf,_0x43124c){io['to'](_0x16067b)['emit'](_0x2f32bf,_0x43124c);}function sendNotification(_0xf1a3b6,_0x5efb9b,_0x47df9e,_0x5d8fa3,_0xdeeb73,_0x3435a9){io['to'](util[_0x581d('0xa')](_0x581d('0xb'),_0x5d8fa3[_0x581d('0xc')]))['emit'](_0x581d('0xd'),_0x5d8fa3);var _0xc8e15a=_0x3435a9||{};var _0x2b798d=_0x47df9e[_0x581d('0xe')]('.');var _0x1e403e={'uniqueid':_0x5efb9b,'channel':_0x2b798d[0x0],'id':_0x2b798d[0x1],'title':_0x2b798d[0x0]+_0x581d('0xf'),'interactionId':_0x2b798d[0x2],'queue':_0xdeeb73?_0xdeeb73[_0x581d('0xc')]:null,'sound':_0xc8e15a[_0x581d('0x10')][_0x581d('0x11')],'shake':_0xc8e15a[_0x581d('0x10')]['notificationShake']};try{if(!_0xc8e15a[_0x581d('0x12')]){_0xc8e15a[_0x581d('0x12')]={};}if(_0xdeeb73){_0xc8e15a['body']['queue']=_0xdeeb73;}else if(_0xc8e15a['body']['queue']){delete _0xc8e15a[_0x581d('0x12')]['queue'];}_0x1e403e[_0x581d('0x13')]=utils[_0x581d('0x14')](_0xc8e15a['account'][_0x581d('0x15')],_0xc8e15a);}catch(_0x5313d8){_0x1e403e[_0x581d('0x13')]=_0x581d('0x16');logger[_0x581d('0x17')](util[_0x581d('0xa')](_0x581d('0x18'),_0x5efb9b,_0x5313d8[_0x581d('0x19')]));}io['to'](util[_0x581d('0xa')]('user:%s',_0x5d8fa3[_0x581d('0xc')]))[_0x581d('0x1a')](util[_0x581d('0xa')](_0x581d('0x1b'),_0xf1a3b6?_0x581d('0x1c'):_0x581d('0x1d')),_0x1e403e);}function writeLog(_0x4635a8,_0x21f8bf,_0x468543){return logger[_0x581d('0x1e')](util[_0x581d('0xa')](_0x581d('0x1f'),_0x4635a8,_0x21f8bf['name'],_0x468543));}exports[_0x581d('0x20')]=function(_0x3dbc8e,_0x32ed5a,_0x2a4cd9,_0x2addd8){if(_0x32ed5a['busy']){writeLog(_0x3dbc8e,_0x32ed5a,_0x581d('0x21'));return![];}if(!_0x32ed5a[_0x581d('0x22')]){writeLog(_0x3dbc8e,_0x32ed5a,'OFFLINE');return![];}if(_0x32ed5a[_0x2a4cd9+_0x581d('0x23')]){writeLog(_0x3dbc8e,_0x32ed5a,_0x581d('0x24'));return![];}if(_0x2addd8&&_0x32ed5a[_0x581d('0x25')](_0x2a4cd9+'Capacity')&&_0x32ed5a[_0x581d('0x25')](_0x2a4cd9+_0x581d('0x26'))){if(_0x32ed5a[_0x2a4cd9+_0x581d('0x27')]>0x0&&_0x32ed5a[_0x2a4cd9+_0x581d('0x26')]>=_0x32ed5a[_0x2a4cd9+_0x581d('0x27')]){writeLog(_0x3dbc8e,_0x32ed5a,_0x2a4cd9[_0x581d('0x28')]()+'\x20MAXCAPACITY');return![];}}return!![];};exports[_0x581d('0x29')]=function(_0x2b75d8,_0x36ee1b,_0x5c67cd,_0x52552b,_0x504f71){return sendNotification(!![],_0x2b75d8,_0x36ee1b,_0x5c67cd,_0x52552b,_0x504f71);};exports['hideNotification']=function(_0x355efe,_0x266a2b,_0x337361,_0x408cce,_0x296d74){return sendNotification(![],_0x355efe,_0x266a2b,_0x337361,_0x408cce,_0x296d74);};exports[_0x581d('0x2a')]=writeLog;