Built motion from commit (unavailable).|2.5.30
[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 _0x9a62=['[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','util','../utils','ioredis','../../../../../config/environment','redis','defaults','localhost','socket.io-emitter','emit','format','user:%s','name','account','notificationShake','body','queue','getMustacheRender','notificationTemplate','msg','I\x20can\x27t\x20render\x20your\x20template','error','message','notification:%s','info'];(function(_0x59e9ee,_0x307fdd){var _0x284fbc=function(_0x46c006){while(--_0x46c006){_0x59e9ee['push'](_0x59e9ee['shift']());}};_0x284fbc(++_0x307fdd);}(_0x9a62,0x1bc));var _0x29a6=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0x9a62[_0x4a9fb1];return _0x348672;};'use strict';var _=require('lodash');var util=require(_0x29a6('0x0'));var utils=require(_0x29a6('0x1'));var Mustache=require('mustache');var Redis=require(_0x29a6('0x2'));var config=require(_0x29a6('0x3'));var logger=require('../../../../../config/logger')('routing');config[_0x29a6('0x4')]=_[_0x29a6('0x5')](config[_0x29a6('0x4')],{'host':_0x29a6('0x6'),'port':0x18eb});var io=require(_0x29a6('0x7'))(new Redis(config[_0x29a6('0x4')]));function emit(_0x316d9e,_0x4a1ea8,_0x5b325a){io['to'](_0x316d9e)[_0x29a6('0x8')](_0x4a1ea8,_0x5b325a);}function sendNotification(_0x2e1272,_0x5cee47,_0x5ea776,_0x437647,_0x3e6cd4,_0x1de426){io['to'](util[_0x29a6('0x9')](_0x29a6('0xa'),_0x437647[_0x29a6('0xb')]))[_0x29a6('0x8')]('user:save',_0x437647);var _0x16b480=_0x1de426||{};var _0x6efb99=_0x5ea776['split']('.');var _0x5035cb={'uniqueid':_0x5cee47,'channel':_0x6efb99[0x0],'id':_0x6efb99[0x1],'title':_0x6efb99[0x0]+'\x20interaction','interactionId':_0x6efb99[0x2],'queue':_0x3e6cd4?_0x3e6cd4[_0x29a6('0xb')]:null,'sound':_0x16b480[_0x29a6('0xc')]['notificationSound'],'shake':_0x16b480[_0x29a6('0xc')][_0x29a6('0xd')]};try{if(!_0x16b480['body']){_0x16b480['body']={};}if(_0x3e6cd4){_0x16b480[_0x29a6('0xe')][_0x29a6('0xf')]=_0x3e6cd4;}else if(_0x16b480['body'][_0x29a6('0xf')]){delete _0x16b480[_0x29a6('0xe')][_0x29a6('0xf')];}_0x5035cb['msg']=utils[_0x29a6('0x10')](_0x16b480[_0x29a6('0xc')][_0x29a6('0x11')],_0x16b480);}catch(_0x2521a7){_0x5035cb[_0x29a6('0x12')]=_0x29a6('0x13');logger[_0x29a6('0x14')](util[_0x29a6('0x9')]('[%s][QUEUE]\x20%s',_0x5cee47,_0x2521a7[_0x29a6('0x15')]));}io['to'](util['format'](_0x29a6('0xa'),_0x437647[_0x29a6('0xb')]))[_0x29a6('0x8')](util['format'](_0x29a6('0x16'),_0x2e1272?'save':'remove'),_0x5035cb);}function writeLog(_0x5a8d55,_0x152b00,_0x319573){return logger[_0x29a6('0x17')](util[_0x29a6('0x9')](_0x29a6('0x18'),_0x5a8d55,_0x152b00['name'],_0x319573));}exports[_0x29a6('0x19')]=function(_0xae08a5,_0x306da8,_0x3ed7de,_0x46fcc7){if(_0x306da8[_0x29a6('0x1a')]){writeLog(_0xae08a5,_0x306da8,_0x29a6('0x1b'));return![];}if(!_0x306da8['online']){writeLog(_0xae08a5,_0x306da8,_0x29a6('0x1c'));return![];}if(_0x306da8[_0x3ed7de+_0x29a6('0x1d')]){writeLog(_0xae08a5,_0x306da8,_0x29a6('0x1e'));return![];}if(_0x46fcc7&&_0x306da8[_0x29a6('0x1f')](_0x3ed7de+_0x29a6('0x20'))&&_0x306da8[_0x29a6('0x1f')](_0x3ed7de+_0x29a6('0x21'))){if(_0x306da8[_0x3ed7de+'Capacity']>0x0&&_0x306da8[_0x3ed7de+'CurrentCapacity']>=_0x306da8[_0x3ed7de+_0x29a6('0x20')]){writeLog(_0xae08a5,_0x306da8,_0x3ed7de[_0x29a6('0x22')]()+_0x29a6('0x23'));return![];}}return!![];};exports[_0x29a6('0x24')]=function(_0x237f3e,_0x29ed8e,_0x596a0b,_0x570517,_0x31c2e4){return sendNotification(!![],_0x237f3e,_0x29ed8e,_0x596a0b,_0x570517,_0x31c2e4);};exports[_0x29a6('0x25')]=function(_0x4c5cb8,_0x454df0,_0x2b6b35,_0x4fa41e,_0x5a5cea){return sendNotification(![],_0x4c5cb8,_0x454df0,_0x2b6b35,_0x4fa41e,_0x5a5cea);};exports[_0x29a6('0x26')]=writeLog;