d669cbc1c96d128c005323885f96b1bdc86cb1b0
[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 _0x8ace=['\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','format','user:%s','name','user:save','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','emit','notification:%s','save','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0x8ace,0x1bc));var _0xe8ac=function(_0x27c28c,_0x49ba23){_0x27c28c=_0x27c28c-0x0;var _0x1f5669=_0x8ace[_0x27c28c];return _0x1f5669;};'use strict';var _=require(_0xe8ac('0x0'));var util=require(_0xe8ac('0x1'));var utils=require(_0xe8ac('0x2'));var Mustache=require(_0xe8ac('0x3'));var Redis=require(_0xe8ac('0x4'));var config=require(_0xe8ac('0x5'));var logger=require(_0xe8ac('0x6'))(_0xe8ac('0x7'));config[_0xe8ac('0x8')]=_[_0xe8ac('0x9')](config[_0xe8ac('0x8')],{'host':_0xe8ac('0xa'),'port':0x18eb});var io=require(_0xe8ac('0xb'))(new Redis(config[_0xe8ac('0x8')]));function emit(_0x4eb087,_0x2d56f0,_0x1357ed){io['to'](_0x4eb087)['emit'](_0x2d56f0,_0x1357ed);}function sendNotification(_0x5c83e1,_0x4644ef,_0x513793,_0x1b5467,_0x271fdb,_0x19d9c8){io['to'](util[_0xe8ac('0xc')](_0xe8ac('0xd'),_0x1b5467[_0xe8ac('0xe')]))['emit'](_0xe8ac('0xf'),_0x1b5467);var _0x2e3b25=_0x19d9c8||{};var _0x1f71ff=_0x513793['split']('.');var _0x15b0cf={'uniqueid':_0x4644ef,'channel':_0x1f71ff[0x0],'id':_0x1f71ff[0x1],'title':_0x1f71ff[0x0]+_0xe8ac('0x10'),'interactionId':_0x1f71ff[0x2],'queue':_0x271fdb?_0x271fdb['name']:null,'sound':_0x2e3b25[_0xe8ac('0x11')][_0xe8ac('0x12')],'shake':_0x2e3b25[_0xe8ac('0x11')][_0xe8ac('0x13')]};try{if(!_0x2e3b25[_0xe8ac('0x14')]){_0x2e3b25[_0xe8ac('0x14')]={};}if(_0x271fdb){_0x2e3b25[_0xe8ac('0x14')][_0xe8ac('0x15')]=_0x271fdb;}else if(_0x2e3b25[_0xe8ac('0x14')][_0xe8ac('0x15')]){delete _0x2e3b25['body'][_0xe8ac('0x15')];}_0x15b0cf[_0xe8ac('0x16')]=utils['getMustacheRender'](_0x2e3b25[_0xe8ac('0x11')][_0xe8ac('0x17')],_0x2e3b25);}catch(_0x1421df){_0x15b0cf[_0xe8ac('0x16')]=_0xe8ac('0x18');logger[_0xe8ac('0x19')](util['format']('[%s][QUEUE]\x20%s',_0x4644ef,_0x1421df['message']));}io['to'](util[_0xe8ac('0xc')](_0xe8ac('0xd'),_0x1b5467['name']))[_0xe8ac('0x1a')](util['format'](_0xe8ac('0x1b'),_0x5c83e1?_0xe8ac('0x1c'):'remove'),_0x15b0cf);}function writeLog(_0x6258f8,_0x169929,_0x13aa7c){return logger[_0xe8ac('0x1d')](util['format'](_0xe8ac('0x1e'),_0x6258f8,_0x169929['name'],_0x13aa7c));}exports[_0xe8ac('0x1f')]=function(_0x3933d2,_0x3c3a78,_0x252440,_0x36108c){if(_0x3c3a78[_0xe8ac('0x20')]){writeLog(_0x3933d2,_0x3c3a78,_0xe8ac('0x21'));return![];}if(!_0x3c3a78['online']){writeLog(_0x3933d2,_0x3c3a78,_0xe8ac('0x22'));return![];}if(_0x3c3a78[_0x252440+_0xe8ac('0x23')]){writeLog(_0x3933d2,_0x3c3a78,_0xe8ac('0x24'));return![];}if(_0x36108c&&_0x3c3a78[_0xe8ac('0x25')](_0x252440+_0xe8ac('0x26'))&&_0x3c3a78[_0xe8ac('0x25')](_0x252440+_0xe8ac('0x27'))){if(_0x3c3a78[_0x252440+_0xe8ac('0x26')]>0x0&&_0x3c3a78[_0x252440+_0xe8ac('0x27')]>=_0x3c3a78[_0x252440+'Capacity']){writeLog(_0x3933d2,_0x3c3a78,_0x252440['toUpperCase']()+_0xe8ac('0x28'));return![];}}return!![];};exports[_0xe8ac('0x29')]=function(_0x59512c,_0x2a78c6,_0x5948aa,_0x54f94c,_0x4c1d08){return sendNotification(!![],_0x59512c,_0x2a78c6,_0x5948aa,_0x54f94c,_0x4c1d08);};exports[_0xe8ac('0x2a')]=function(_0x41294e,_0x3798c5,_0x5d7562,_0x156550,_0x41ffe8){return sendNotification(![],_0x41294e,_0x3798c5,_0x5d7562,_0x156550,_0x41ffe8);};exports[_0xe8ac('0x2b')]=writeLog;