Built motion from commit (unavailable).|2.5.14
[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 _0x6305=['hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','util','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','defaults','redis','localhost','emit','format','user:%s','user:save','split','\x20interaction','name','notificationSound','account','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','save','remove','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','BUSY','online','OFFLINE','Pause','PAUSE'];(function(_0x4a42dd,_0x4dca7c){var _0x3169ae=function(_0x317d8f){while(--_0x317d8f){_0x4a42dd['push'](_0x4a42dd['shift']());}};_0x3169ae(++_0x4dca7c);}(_0x6305,0x1ab));var _0x5630=function(_0x2763f2,_0x416af8){_0x2763f2=_0x2763f2-0x0;var _0x3ef471=_0x6305[_0x2763f2];return _0x3ef471;};'use strict';var _=require('lodash');var util=require(_0x5630('0x0'));var utils=require('../utils');var Mustache=require(_0x5630('0x1'));var Redis=require(_0x5630('0x2'));var config=require(_0x5630('0x3'));var logger=require(_0x5630('0x4'))(_0x5630('0x5'));config['redis']=_[_0x5630('0x6')](config[_0x5630('0x7')],{'host':_0x5630('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function emit(_0x76ef62,_0x287406,_0x32de50){io['to'](_0x76ef62)[_0x5630('0x9')](_0x287406,_0x32de50);}function sendNotification(_0x15c9de,_0x3ac92a,_0x192a87,_0x3a96cd,_0x827e37,_0x42e81f){io['to'](util[_0x5630('0xa')](_0x5630('0xb'),_0x3a96cd['name']))[_0x5630('0x9')](_0x5630('0xc'),_0x3a96cd);var _0x3ba104=_0x42e81f||{};var _0x396771=_0x192a87[_0x5630('0xd')]('.');var _0x5758f1={'uniqueid':_0x3ac92a,'channel':_0x396771[0x0],'id':_0x396771[0x1],'title':_0x396771[0x0]+_0x5630('0xe'),'interactionId':_0x396771[0x2],'queue':_0x827e37?_0x827e37[_0x5630('0xf')]:null,'sound':_0x3ba104['account'][_0x5630('0x10')],'shake':_0x3ba104[_0x5630('0x11')][_0x5630('0x12')]};try{if(!_0x3ba104[_0x5630('0x13')]){_0x3ba104[_0x5630('0x13')]={};}if(_0x827e37){_0x3ba104[_0x5630('0x13')]['queue']=_0x827e37;}else if(_0x3ba104[_0x5630('0x13')][_0x5630('0x14')]){delete _0x3ba104[_0x5630('0x13')][_0x5630('0x14')];}_0x5758f1[_0x5630('0x15')]=utils[_0x5630('0x16')](_0x3ba104[_0x5630('0x11')][_0x5630('0x17')],_0x3ba104);}catch(_0x4be855){_0x5758f1['msg']=_0x5630('0x18');logger[_0x5630('0x19')](util[_0x5630('0xa')]('[%s][QUEUE]\x20%s',_0x3ac92a,_0x4be855['message']));}io['to'](util[_0x5630('0xa')](_0x5630('0xb'),_0x3a96cd[_0x5630('0xf')]))[_0x5630('0x9')](util[_0x5630('0xa')]('notification:%s',_0x15c9de?_0x5630('0x1a'):_0x5630('0x1b')),_0x5758f1);}function writeLog(_0x582c19,_0x2eeb31,_0x57a98b){return logger['info'](util[_0x5630('0xa')](_0x5630('0x1c'),_0x582c19,_0x2eeb31[_0x5630('0xf')],_0x57a98b));}exports['isAgentAvailable']=function(_0xf50409,_0x643e6b,_0x26327f,_0x2e8b7a){if(_0x643e6b[_0x5630('0x1d')]){writeLog(_0xf50409,_0x643e6b,_0x5630('0x1e'));return![];}if(!_0x643e6b[_0x5630('0x1f')]){writeLog(_0xf50409,_0x643e6b,_0x5630('0x20'));return![];}if(_0x643e6b[_0x26327f+_0x5630('0x21')]){writeLog(_0xf50409,_0x643e6b,_0x5630('0x22'));return![];}if(_0x2e8b7a&&_0x643e6b[_0x5630('0x23')](_0x26327f+'Capacity')&&_0x643e6b['hasOwnProperty'](_0x26327f+_0x5630('0x24'))){if(_0x643e6b[_0x26327f+_0x5630('0x25')]>0x0&&_0x643e6b[_0x26327f+_0x5630('0x24')]>=_0x643e6b[_0x26327f+_0x5630('0x25')]){writeLog(_0xf50409,_0x643e6b,_0x26327f[_0x5630('0x26')]()+_0x5630('0x27'));return![];}}return!![];};exports['showNotification']=function(_0x4aee3b,_0x38a59a,_0x571112,_0x40c9ba,_0x11ed26){return sendNotification(!![],_0x4aee3b,_0x38a59a,_0x571112,_0x40c9ba,_0x11ed26);};exports[_0x5630('0x28')]=function(_0x14a359,_0x5051fb,_0x3db5a3,_0x4226a2,_0x42b618){return sendNotification(![],_0x14a359,_0x5051fb,_0x3db5a3,_0x4226a2,_0x42b618);};exports[_0x5630('0x29')]=writeLog;