Built motion from commit (unavailable).|2.4.20
[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 _0xade9=['../../../../../config/logger','routing','redis','localhost','emit','format','user:%s','name','user:save','split','\x20interaction','account','notificationSound','body','queue','getMustacheRender','notificationTemplate','msg','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','online','OFFLINE','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','writeLog','util','../utils','mustache','ioredis','../../../../../config/environment'];(function(_0x2b83fd,_0x497584){var _0x567b0f=function(_0x198362){while(--_0x198362){_0x2b83fd['push'](_0x2b83fd['shift']());}};_0x567b0f(++_0x497584);}(_0xade9,0x1e7));var _0x9ade=function(_0x1b4bdc,_0x11f92c){_0x1b4bdc=_0x1b4bdc-0x0;var _0x246255=_0xade9[_0x1b4bdc];return _0x246255;};'use strict';var _=require('lodash');var util=require(_0x9ade('0x0'));var utils=require(_0x9ade('0x1'));var Mustache=require(_0x9ade('0x2'));var Redis=require(_0x9ade('0x3'));var config=require(_0x9ade('0x4'));var logger=require(_0x9ade('0x5'))(_0x9ade('0x6'));config[_0x9ade('0x7')]=_['defaults'](config[_0x9ade('0x7')],{'host':_0x9ade('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x9ade('0x7')]));function emit(_0xc3840d,_0x48974f,_0x37f58a){io['to'](_0xc3840d)[_0x9ade('0x9')](_0x48974f,_0x37f58a);}function sendNotification(_0x3c00ba,_0x5a19de,_0x2c931f,_0x579ac5,_0x3671ca,_0x5a33ad){io['to'](util[_0x9ade('0xa')](_0x9ade('0xb'),_0x579ac5[_0x9ade('0xc')]))['emit'](_0x9ade('0xd'),_0x579ac5);var _0xc1ab56=_0x5a33ad||{};var _0x442283=_0x2c931f[_0x9ade('0xe')]('.');var _0x484957={'uniqueid':_0x5a19de,'channel':_0x442283[0x0],'id':_0x442283[0x1],'title':_0x442283[0x0]+_0x9ade('0xf'),'interactionId':_0x442283[0x2],'queue':_0x3671ca?_0x3671ca[_0x9ade('0xc')]:null,'sound':_0xc1ab56[_0x9ade('0x10')][_0x9ade('0x11')],'shake':_0xc1ab56[_0x9ade('0x10')]['notificationShake']};try{if(!_0xc1ab56[_0x9ade('0x12')]){_0xc1ab56['body']={};}if(_0x3671ca){_0xc1ab56[_0x9ade('0x12')][_0x9ade('0x13')]=_0x3671ca;}else if(_0xc1ab56['body'][_0x9ade('0x13')]){delete _0xc1ab56[_0x9ade('0x12')][_0x9ade('0x13')];}_0x484957['msg']=utils[_0x9ade('0x14')](_0xc1ab56[_0x9ade('0x10')][_0x9ade('0x15')],_0xc1ab56);}catch(_0x502366){_0x484957[_0x9ade('0x16')]=_0x9ade('0x17');logger[_0x9ade('0x18')](util['format'](_0x9ade('0x19'),_0x5a19de,_0x502366[_0x9ade('0x1a')]));}io['to'](util[_0x9ade('0xa')](_0x9ade('0xb'),_0x579ac5[_0x9ade('0xc')]))[_0x9ade('0x9')](util['format']('notification:%s',_0x3c00ba?'save':_0x9ade('0x1b')),_0x484957);}function writeLog(_0xe1c932,_0x42ceb3,_0x2d4e2c){return logger[_0x9ade('0x1c')](util[_0x9ade('0xa')](_0x9ade('0x1d'),_0xe1c932,_0x42ceb3['name'],_0x2d4e2c));}exports['isAgentAvailable']=function(_0xcb32be,_0x54eed4,_0x13c08c,_0x2a115d){if(_0x54eed4[_0x9ade('0x1e')]){writeLog(_0xcb32be,_0x54eed4,'BUSY');return![];}if(!_0x54eed4[_0x9ade('0x1f')]){writeLog(_0xcb32be,_0x54eed4,_0x9ade('0x20'));return![];}if(_0x54eed4[_0x13c08c+'Pause']){writeLog(_0xcb32be,_0x54eed4,_0x9ade('0x21'));return![];}if(_0x2a115d&&_0x54eed4[_0x9ade('0x22')](_0x13c08c+_0x9ade('0x23'))&&_0x54eed4[_0x9ade('0x22')](_0x13c08c+_0x9ade('0x24'))){if(_0x54eed4[_0x13c08c+_0x9ade('0x23')]>0x0&&_0x54eed4[_0x13c08c+_0x9ade('0x24')]>=_0x54eed4[_0x13c08c+_0x9ade('0x23')]){writeLog(_0xcb32be,_0x54eed4,_0x13c08c[_0x9ade('0x25')]()+_0x9ade('0x26'));return![];}}return!![];};exports[_0x9ade('0x27')]=function(_0x11b848,_0x29db00,_0x4e0425,_0x12d887,_0x1a5ddb){return sendNotification(!![],_0x11b848,_0x29db00,_0x4e0425,_0x12d887,_0x1a5ddb);};exports['hideNotification']=function(_0x384c11,_0x164ea8,_0x269ae9,_0x37913b,_0x1f28f3){return sendNotification(![],_0x384c11,_0x164ea8,_0x269ae9,_0x37913b,_0x1f28f3);};exports[_0x9ade('0x28')]=writeLog;