Built motion from commit (unavailable).|2.5.23
[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 _0x7860=['split','\x20interaction','name','account','notificationSound','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','info','isAgentAvailable','busy','BUSY','OFFLINE','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','../utils','mustache','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','socket.io-emitter','emit','format','user:%s','user:save'];(function(_0x3cc854,_0x2129a8){var _0x356eb3=function(_0x2ff0ee){while(--_0x2ff0ee){_0x3cc854['push'](_0x3cc854['shift']());}};_0x356eb3(++_0x2129a8);}(_0x7860,0xe4));var _0x0786=function(_0x53fe57,_0x7b99ea){_0x53fe57=_0x53fe57-0x0;var _0x1f17fd=_0x7860[_0x53fe57];return _0x1f17fd;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0x0786('0x0'));var Mustache=require(_0x0786('0x1'));var Redis=require('ioredis');var config=require(_0x0786('0x2'));var logger=require(_0x0786('0x3'))(_0x0786('0x4'));config[_0x0786('0x5')]=_[_0x0786('0x6')](config[_0x0786('0x5')],{'host':'localhost','port':0x18eb});var io=require(_0x0786('0x7'))(new Redis(config['redis']));function emit(_0x27e176,_0x4b6db7,_0x39a5ec){io['to'](_0x27e176)[_0x0786('0x8')](_0x4b6db7,_0x39a5ec);}function sendNotification(_0x475bdf,_0x3cbcac,_0x13fbb1,_0x3c5d3e,_0x2975bf,_0x1fa966){io['to'](util[_0x0786('0x9')](_0x0786('0xa'),_0x3c5d3e['name']))[_0x0786('0x8')](_0x0786('0xb'),_0x3c5d3e);var _0x5e371c=_0x1fa966||{};var _0x1a7640=_0x13fbb1[_0x0786('0xc')]('.');var _0x3881eb={'uniqueid':_0x3cbcac,'channel':_0x1a7640[0x0],'id':_0x1a7640[0x1],'title':_0x1a7640[0x0]+_0x0786('0xd'),'interactionId':_0x1a7640[0x2],'queue':_0x2975bf?_0x2975bf[_0x0786('0xe')]:null,'sound':_0x5e371c[_0x0786('0xf')][_0x0786('0x10')],'shake':_0x5e371c[_0x0786('0xf')][_0x0786('0x11')]};try{if(!_0x5e371c[_0x0786('0x12')]){_0x5e371c[_0x0786('0x12')]={};}if(_0x2975bf){_0x5e371c[_0x0786('0x12')][_0x0786('0x13')]=_0x2975bf;}else if(_0x5e371c[_0x0786('0x12')]['queue']){delete _0x5e371c[_0x0786('0x12')][_0x0786('0x13')];}_0x3881eb[_0x0786('0x14')]=utils[_0x0786('0x15')](_0x5e371c[_0x0786('0xf')][_0x0786('0x16')],_0x5e371c);}catch(_0x292ba2){_0x3881eb[_0x0786('0x14')]=_0x0786('0x17');logger[_0x0786('0x18')](util[_0x0786('0x9')](_0x0786('0x19'),_0x3cbcac,_0x292ba2['message']));}io['to'](util['format'](_0x0786('0xa'),_0x3c5d3e[_0x0786('0xe')]))[_0x0786('0x8')](util[_0x0786('0x9')]('notification:%s',_0x475bdf?'save':'remove'),_0x3881eb);}function writeLog(_0x507039,_0x4f7380,_0x1d7de6){return logger[_0x0786('0x1a')](util[_0x0786('0x9')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x507039,_0x4f7380['name'],_0x1d7de6));}exports[_0x0786('0x1b')]=function(_0x525e2b,_0x5ec2ac,_0x5e468f,_0xeacb05){if(_0x5ec2ac[_0x0786('0x1c')]){writeLog(_0x525e2b,_0x5ec2ac,_0x0786('0x1d'));return![];}if(!_0x5ec2ac['online']){writeLog(_0x525e2b,_0x5ec2ac,_0x0786('0x1e'));return![];}if(_0x5ec2ac[_0x5e468f+_0x0786('0x1f')]){writeLog(_0x525e2b,_0x5ec2ac,_0x0786('0x20'));return![];}if(_0xeacb05&&_0x5ec2ac[_0x0786('0x21')](_0x5e468f+'Capacity')&&_0x5ec2ac[_0x0786('0x21')](_0x5e468f+_0x0786('0x22'))){if(_0x5ec2ac[_0x5e468f+_0x0786('0x23')]>0x0&&_0x5ec2ac[_0x5e468f+_0x0786('0x22')]>=_0x5ec2ac[_0x5e468f+_0x0786('0x23')]){writeLog(_0x525e2b,_0x5ec2ac,_0x5e468f[_0x0786('0x24')]()+_0x0786('0x25'));return![];}}return!![];};exports['showNotification']=function(_0x1a05b7,_0x530dc5,_0x2983b6,_0x2d39e0,_0x512769){return sendNotification(!![],_0x1a05b7,_0x530dc5,_0x2983b6,_0x2d39e0,_0x512769);};exports[_0x0786('0x26')]=function(_0x2265d7,_0x57ad9b,_0x2a27f8,_0xa8d972,_0x2f5594){return sendNotification(![],_0x2265d7,_0x57ad9b,_0x2a27f8,_0xa8d972,_0x2f5594);};exports[_0x0786('0x27')]=writeLog;