Built motion from commit 936e8062.|2.5.33
[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 _0x7096=['notification:%s','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','showNotification','hideNotification','util','mustache','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','emit','format','user:%s','user:save','split','\x20interaction','name','account','notificationShake','body','queue','msg','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x7096,0x10c));var _0x6709=function(_0x1d9aa0,_0x272488){_0x1d9aa0=_0x1d9aa0-0x0;var _0x226868=_0x7096[_0x1d9aa0];return _0x226868;};'use strict';var _=require('lodash');var util=require(_0x6709('0x0'));var utils=require('../utils');var Mustache=require(_0x6709('0x1'));var Redis=require('ioredis');var config=require(_0x6709('0x2'));var logger=require(_0x6709('0x3'))(_0x6709('0x4'));config[_0x6709('0x5')]=_[_0x6709('0x6')](config[_0x6709('0x5')],{'host':_0x6709('0x7'),'port':0x18eb});var io=require(_0x6709('0x8'))(new Redis(config[_0x6709('0x5')]));function emit(_0x3e2223,_0x11ad23,_0x985814){io['to'](_0x3e2223)[_0x6709('0x9')](_0x11ad23,_0x985814);}function sendNotification(_0x513ab6,_0x5af380,_0x2c07b1,_0x2d8c0b,_0xbcb47,_0x1aa476){io['to'](util[_0x6709('0xa')](_0x6709('0xb'),_0x2d8c0b['name']))['emit'](_0x6709('0xc'),_0x2d8c0b);var _0x262261=_0x1aa476||{};var _0x275dd3=_0x2c07b1[_0x6709('0xd')]('.');var _0x31ac88={'uniqueid':_0x5af380,'channel':_0x275dd3[0x0],'id':_0x275dd3[0x1],'title':_0x275dd3[0x0]+_0x6709('0xe'),'interactionId':_0x275dd3[0x2],'queue':_0xbcb47?_0xbcb47[_0x6709('0xf')]:null,'sound':_0x262261[_0x6709('0x10')]['notificationSound'],'shake':_0x262261[_0x6709('0x10')][_0x6709('0x11')]};try{if(!_0x262261[_0x6709('0x12')]){_0x262261[_0x6709('0x12')]={};}if(_0xbcb47){_0x262261['body'][_0x6709('0x13')]=_0xbcb47;}else if(_0x262261['body'][_0x6709('0x13')]){delete _0x262261['body'][_0x6709('0x13')];}_0x31ac88[_0x6709('0x14')]=utils[_0x6709('0x15')](_0x262261[_0x6709('0x10')]['notificationTemplate'],_0x262261);}catch(_0x52e342){_0x31ac88['msg']=_0x6709('0x16');logger[_0x6709('0x17')](util['format'](_0x6709('0x18'),_0x5af380,_0x52e342[_0x6709('0x19')]));}io['to'](util[_0x6709('0xa')]('user:%s',_0x2d8c0b[_0x6709('0xf')]))[_0x6709('0x9')](util[_0x6709('0xa')](_0x6709('0x1a'),_0x513ab6?'save':_0x6709('0x1b')),_0x31ac88);}function writeLog(_0x1edac3,_0x373047,_0x3cf882){return logger[_0x6709('0x1c')](util[_0x6709('0xa')](_0x6709('0x1d'),_0x1edac3,_0x373047[_0x6709('0xf')],_0x3cf882));}exports[_0x6709('0x1e')]=function(_0x1c5153,_0x2f3415,_0xa36371,_0x5cf48b){if(_0x2f3415[_0x6709('0x1f')]){writeLog(_0x1c5153,_0x2f3415,_0x6709('0x20'));return![];}if(!_0x2f3415[_0x6709('0x21')]){writeLog(_0x1c5153,_0x2f3415,'OFFLINE');return![];}if(_0x2f3415[_0xa36371+_0x6709('0x22')]){writeLog(_0x1c5153,_0x2f3415,_0x6709('0x23'));return![];}if(_0x5cf48b&&_0x2f3415[_0x6709('0x24')](_0xa36371+_0x6709('0x25'))&&_0x2f3415['hasOwnProperty'](_0xa36371+_0x6709('0x26'))){if(_0x2f3415[_0xa36371+_0x6709('0x25')]>0x0&&_0x2f3415[_0xa36371+'CurrentCapacity']>=_0x2f3415[_0xa36371+_0x6709('0x25')]){writeLog(_0x1c5153,_0x2f3415,_0xa36371[_0x6709('0x27')]()+'\x20MAXCAPACITY');return![];}}return!![];};exports[_0x6709('0x28')]=function(_0x2499a2,_0x50ada6,_0x271098,_0x5b5201,_0x46a325){return sendNotification(!![],_0x2499a2,_0x50ada6,_0x271098,_0x5b5201,_0x46a325);};exports[_0x6709('0x29')]=function(_0x5b6906,_0x137137,_0x4e6989,_0xe066d8,_0x388aee){return sendNotification(![],_0x5b6906,_0x137137,_0x4e6989,_0xe066d8,_0x388aee);};exports['writeLog']=writeLog;