e865ec74f5606b76fa686b634294cb60466d6ec8
[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 _0x2c91=['[%s][QUEUE]\x20%s','message','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','online','OFFLINE','Pause','PAUSE','Capacity','hasOwnProperty','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','util','mustache','ioredis','../../../../../config/environment','routing','defaults','redis','emit','format','user:%s','name','user:save','split','\x20interaction','account','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error'];(function(_0x5d2803,_0xf375bd){var _0xdcad2c=function(_0x3c3a98){while(--_0x3c3a98){_0x5d2803['push'](_0x5d2803['shift']());}};_0xdcad2c(++_0xf375bd);}(_0x2c91,0xe0));var _0x12c9=function(_0x331a98,_0x271cd9){_0x331a98=_0x331a98-0x0;var _0x102a87=_0x2c91[_0x331a98];return _0x102a87;};'use strict';var _=require('lodash');var util=require(_0x12c9('0x0'));var utils=require('../utils');var Mustache=require(_0x12c9('0x1'));var Redis=require(_0x12c9('0x2'));var config=require(_0x12c9('0x3'));var logger=require('../../../../../config/logger')(_0x12c9('0x4'));config['redis']=_[_0x12c9('0x5')](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x12c9('0x6')]));function emit(_0x15aa3a,_0x394013,_0x588655){io['to'](_0x15aa3a)[_0x12c9('0x7')](_0x394013,_0x588655);}function sendNotification(_0x49e4eb,_0x1cbf4b,_0x4440ed,_0x58dbb1,_0x2a66cc,_0x3e7ca8){io['to'](util[_0x12c9('0x8')](_0x12c9('0x9'),_0x58dbb1[_0x12c9('0xa')]))[_0x12c9('0x7')](_0x12c9('0xb'),_0x58dbb1);var _0x6bec6e=_0x3e7ca8||{};var _0x1552a9=_0x4440ed[_0x12c9('0xc')]('.');var _0x223787={'uniqueid':_0x1cbf4b,'channel':_0x1552a9[0x0],'id':_0x1552a9[0x1],'title':_0x1552a9[0x0]+_0x12c9('0xd'),'interactionId':_0x1552a9[0x2],'queue':_0x2a66cc?_0x2a66cc[_0x12c9('0xa')]:null,'sound':_0x6bec6e[_0x12c9('0xe')]['notificationSound'],'shake':_0x6bec6e[_0x12c9('0xe')][_0x12c9('0xf')]};try{if(!_0x6bec6e[_0x12c9('0x10')]){_0x6bec6e['body']={};}if(_0x2a66cc){_0x6bec6e[_0x12c9('0x10')][_0x12c9('0x11')]=_0x2a66cc;}else if(_0x6bec6e[_0x12c9('0x10')]['queue']){delete _0x6bec6e[_0x12c9('0x10')][_0x12c9('0x11')];}_0x223787[_0x12c9('0x12')]=utils['getMustacheRender'](_0x6bec6e[_0x12c9('0xe')][_0x12c9('0x13')],_0x6bec6e);}catch(_0xc440fc){_0x223787[_0x12c9('0x12')]=_0x12c9('0x14');logger[_0x12c9('0x15')](util['format'](_0x12c9('0x16'),_0x1cbf4b,_0xc440fc[_0x12c9('0x17')]));}io['to'](util[_0x12c9('0x8')](_0x12c9('0x9'),_0x58dbb1[_0x12c9('0xa')]))[_0x12c9('0x7')](util['format']('notification:%s',_0x49e4eb?'save':_0x12c9('0x18')),_0x223787);}function writeLog(_0x4009a9,_0x37a3a9,_0x57566e){return logger[_0x12c9('0x19')](util[_0x12c9('0x8')](_0x12c9('0x1a'),_0x4009a9,_0x37a3a9['name'],_0x57566e));}exports[_0x12c9('0x1b')]=function(_0x348fa0,_0xcab96c,_0x18ed27,_0x4ac038){if(_0xcab96c[_0x12c9('0x1c')]){writeLog(_0x348fa0,_0xcab96c,'BUSY');return![];}if(!_0xcab96c[_0x12c9('0x1d')]){writeLog(_0x348fa0,_0xcab96c,_0x12c9('0x1e'));return![];}if(_0xcab96c[_0x18ed27+_0x12c9('0x1f')]){writeLog(_0x348fa0,_0xcab96c,_0x12c9('0x20'));return![];}if(_0x4ac038&&_0xcab96c['hasOwnProperty'](_0x18ed27+_0x12c9('0x21'))&&_0xcab96c[_0x12c9('0x22')](_0x18ed27+_0x12c9('0x23'))){if(_0xcab96c[_0x18ed27+'Capacity']>0x0&&_0xcab96c[_0x18ed27+_0x12c9('0x23')]>=_0xcab96c[_0x18ed27+_0x12c9('0x21')]){writeLog(_0x348fa0,_0xcab96c,_0x18ed27[_0x12c9('0x24')]()+_0x12c9('0x25'));return![];}}return!![];};exports[_0x12c9('0x26')]=function(_0x2176f9,_0x32af10,_0x246850,_0x1f4f09,_0x27b97a){return sendNotification(!![],_0x2176f9,_0x32af10,_0x246850,_0x1f4f09,_0x27b97a);};exports[_0x12c9('0x27')]=function(_0x55deb9,_0x3d1da8,_0x464812,_0x1ff218,_0x183ce7){return sendNotification(![],_0x55deb9,_0x3d1da8,_0x464812,_0x1ff218,_0x183ce7);};exports[_0x12c9('0x28')]=writeLog;