8f0fb47f6f41d95375da1a92dbcb2af7326905ea
[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 _0x5fdc=['user:%s','name','emit','user:save','split','account','notificationSound','notificationShake','body','queue','msg','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','notification:%s','save','info','isAgentAvailable','BUSY','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','lodash','util','../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','format'];(function(_0x50202f,_0x1380fc){var _0x5c9b2b=function(_0x1f8c9){while(--_0x1f8c9){_0x50202f['push'](_0x50202f['shift']());}};_0x5c9b2b(++_0x1380fc);}(_0x5fdc,0x127));var _0xc5fd=function(_0x29dcdc,_0x3b21ef){_0x29dcdc=_0x29dcdc-0x0;var _0x8b5b31=_0x5fdc[_0x29dcdc];return _0x8b5b31;};'use strict';var _=require(_0xc5fd('0x0'));var util=require(_0xc5fd('0x1'));var utils=require(_0xc5fd('0x2'));var Mustache=require(_0xc5fd('0x3'));var Redis=require(_0xc5fd('0x4'));var config=require(_0xc5fd('0x5'));var logger=require(_0xc5fd('0x6'))(_0xc5fd('0x7'));config[_0xc5fd('0x8')]=_[_0xc5fd('0x9')](config[_0xc5fd('0x8')],{'host':_0xc5fd('0xa'),'port':0x18eb});var io=require(_0xc5fd('0xb'))(new Redis(config[_0xc5fd('0x8')]));function emit(_0x15ffe7,_0x5a2eb4,_0x5d86e5){io['to'](_0x15ffe7)['emit'](_0x5a2eb4,_0x5d86e5);}function sendNotification(_0x224801,_0x46bce3,_0x158e58,_0x45c91f,_0x4e6d35,_0x4e1e94){io['to'](util[_0xc5fd('0xc')](_0xc5fd('0xd'),_0x45c91f[_0xc5fd('0xe')]))[_0xc5fd('0xf')](_0xc5fd('0x10'),_0x45c91f);var _0x368c80=_0x4e1e94||{};var _0x484bbd=_0x158e58[_0xc5fd('0x11')]('.');var _0x5c3577={'uniqueid':_0x46bce3,'channel':_0x484bbd[0x0],'id':_0x484bbd[0x1],'title':_0x484bbd[0x0]+'\x20interaction','interactionId':_0x484bbd[0x2],'queue':_0x4e6d35?_0x4e6d35[_0xc5fd('0xe')]:null,'sound':_0x368c80[_0xc5fd('0x12')][_0xc5fd('0x13')],'shake':_0x368c80[_0xc5fd('0x12')][_0xc5fd('0x14')]};try{if(!_0x368c80[_0xc5fd('0x15')]){_0x368c80[_0xc5fd('0x15')]={};}if(_0x4e6d35){_0x368c80[_0xc5fd('0x15')]['queue']=_0x4e6d35;}else if(_0x368c80[_0xc5fd('0x15')][_0xc5fd('0x16')]){delete _0x368c80[_0xc5fd('0x15')][_0xc5fd('0x16')];}_0x5c3577['msg']=utils['getMustacheRender'](_0x368c80['account']['notificationTemplate'],_0x368c80);}catch(_0x508539){_0x5c3577[_0xc5fd('0x17')]=_0xc5fd('0x18');logger[_0xc5fd('0x19')](util[_0xc5fd('0xc')](_0xc5fd('0x1a'),_0x46bce3,_0x508539[_0xc5fd('0x1b')]));}io['to'](util[_0xc5fd('0xc')]('user:%s',_0x45c91f[_0xc5fd('0xe')]))[_0xc5fd('0xf')](util[_0xc5fd('0xc')](_0xc5fd('0x1c'),_0x224801?_0xc5fd('0x1d'):'remove'),_0x5c3577);}function writeLog(_0x3966a2,_0x24e5e9,_0x18048e){return logger[_0xc5fd('0x1e')](util['format']('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x3966a2,_0x24e5e9[_0xc5fd('0xe')],_0x18048e));}exports[_0xc5fd('0x1f')]=function(_0x3d7211,_0x42d7f4,_0x334401,_0x311952){if(_0x42d7f4['busy']){writeLog(_0x3d7211,_0x42d7f4,_0xc5fd('0x20'));return![];}if(!_0x42d7f4[_0xc5fd('0x21')]){writeLog(_0x3d7211,_0x42d7f4,_0xc5fd('0x22'));return![];}if(_0x42d7f4[_0x334401+_0xc5fd('0x23')]){writeLog(_0x3d7211,_0x42d7f4,_0xc5fd('0x24'));return![];}if(_0x311952&&_0x42d7f4[_0xc5fd('0x25')](_0x334401+_0xc5fd('0x26'))&&_0x42d7f4['hasOwnProperty'](_0x334401+_0xc5fd('0x27'))){if(_0x42d7f4[_0x334401+'Capacity']>0x0&&_0x42d7f4[_0x334401+_0xc5fd('0x27')]>=_0x42d7f4[_0x334401+_0xc5fd('0x26')]){writeLog(_0x3d7211,_0x42d7f4,_0x334401[_0xc5fd('0x28')]()+_0xc5fd('0x29'));return![];}}return!![];};exports['showNotification']=function(_0x176313,_0x1bbdc4,_0x19c4a0,_0x42cbf0,_0x19df33){return sendNotification(!![],_0x176313,_0x1bbdc4,_0x19c4a0,_0x42cbf0,_0x19df33);};exports[_0xc5fd('0x2a')]=function(_0x541c12,_0x412ef7,_0x5d4f70,_0x4859f7,_0x12a962){return sendNotification(![],_0x541c12,_0x412ef7,_0x5d4f70,_0x4859f7,_0x12a962);};exports[_0xc5fd('0x2b')]=writeLog;