743e890362f53ce1e9596979caa434bbc4360127
[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 _0x3cb7=['WaitingInteractions','removeWaitingNotification','message','lodash','util','../utils','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','socket.io-emitter','format','user:%s','name','user:save','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','emit','notification:%s','save','remove','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','Pause','PAUSE','Capacity','hasOwnProperty','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','checkWaitingNotifications','UserId','some','QueuesWaitingInteractions','capitalize','channel','interaction','agents'];(function(_0x4d21ff,_0x19d202){var _0x22b554=function(_0x4473c5){while(--_0x4473c5){_0x4d21ff['push'](_0x4d21ff['shift']());}};_0x22b554(++_0x19d202);}(_0x3cb7,0x11b));var _0x73cb=function(_0x9ba307,_0x570631){_0x9ba307=_0x9ba307-0x0;var _0x335d04=_0x3cb7[_0x9ba307];return _0x335d04;};'use strict';var _=require(_0x73cb('0x0'));var util=require(_0x73cb('0x1'));var utils=require(_0x73cb('0x2'));var Redis=require(_0x73cb('0x3'));var config=require(_0x73cb('0x4'));var logger=require(_0x73cb('0x5'))(_0x73cb('0x6'));config[_0x73cb('0x7')]=_[_0x73cb('0x8')](config[_0x73cb('0x7')],{'host':'localhost','port':0x18eb});var io=require(_0x73cb('0x9'))(new Redis(config[_0x73cb('0x7')]));function sendNotification(_0x87fd8,_0x89a440,_0xb40a34,_0x24302e,_0x2dd022,_0xb9016c){io['to'](util[_0x73cb('0xa')](_0x73cb('0xb'),_0x24302e[_0x73cb('0xc')]))['emit'](_0x73cb('0xd'),_0x24302e);var _0x14d429=_0xb9016c||{};var _0x5570c9=_0xb40a34['split']('.');var _0x542d6e={'uniqueid':_0x89a440,'channel':_0x5570c9[0x0],'id':_0x5570c9[0x1],'title':_0x5570c9[0x0]+_0x73cb('0xe'),'interactionId':_0x5570c9[0x2],'queue':_0x2dd022?_0x2dd022[_0x73cb('0xc')]:null,'sound':_0x14d429[_0x73cb('0xf')][_0x73cb('0x10')],'shake':_0x14d429[_0x73cb('0xf')][_0x73cb('0x11')]};try{if(!_0x14d429['body']){_0x14d429[_0x73cb('0x12')]={};}if(_0x2dd022){_0x14d429[_0x73cb('0x12')][_0x73cb('0x13')]=_0x2dd022;}else if(_0x14d429[_0x73cb('0x12')][_0x73cb('0x13')]){delete _0x14d429['body'][_0x73cb('0x13')];}_0x542d6e[_0x73cb('0x14')]=utils['getMustacheRender'](_0x14d429['account'][_0x73cb('0x15')],_0x14d429);}catch(_0x25fb20){_0x542d6e[_0x73cb('0x14')]=_0x73cb('0x16');logger[_0x73cb('0x17')](util['format'](_0x73cb('0x18'),_0x89a440,_0x25fb20['message']));}io['to'](util[_0x73cb('0xa')](_0x73cb('0xb'),_0x24302e[_0x73cb('0xc')]))[_0x73cb('0x19')](util[_0x73cb('0xa')](_0x73cb('0x1a'),_0x87fd8?_0x73cb('0x1b'):_0x73cb('0x1c')),_0x542d6e);}function writeLog(_0x314b4d,_0x54059f,_0x4804dc){return logger[_0x73cb('0x1d')](util['format'](_0x73cb('0x1e'),_0x314b4d,_0x54059f['name'],_0x4804dc));}exports[_0x73cb('0x1f')]=function(_0x1575ce,_0x348e35,_0x1b277d,_0x5a63f1){if(_0x348e35[_0x73cb('0x20')]){writeLog(_0x1575ce,_0x348e35,_0x73cb('0x21'));return![];}if(!_0x348e35[_0x73cb('0x22')]){writeLog(_0x1575ce,_0x348e35,_0x73cb('0x23'));return![];}if(_0x348e35[_0x1b277d+_0x73cb('0x24')]){writeLog(_0x1575ce,_0x348e35,_0x73cb('0x25'));return![];}if(_0x5a63f1&&_0x348e35['hasOwnProperty'](_0x1b277d+_0x73cb('0x26'))&&_0x348e35[_0x73cb('0x27')](_0x1b277d+_0x73cb('0x28'))){if(_0x348e35[_0x1b277d+_0x73cb('0x26')]>0x0&&_0x348e35[_0x1b277d+_0x73cb('0x28')]>=_0x348e35[_0x1b277d+'Capacity']){writeLog(_0x1575ce,_0x348e35,_0x1b277d[_0x73cb('0x29')]()+_0x73cb('0x2a'));return![];}}return!![];};exports[_0x73cb('0x2b')]=function(_0x44c355,_0x5da842,_0x1e0adb,_0x48bd7b,_0x56d46a){return sendNotification(!![],_0x44c355,_0x5da842,_0x1e0adb,_0x48bd7b,_0x56d46a);};exports[_0x73cb('0x2c')]=function(_0x1c304e,_0x2ce37d,_0x2d6027,_0x5dac21,_0x12ab0f){return sendNotification(![],_0x1c304e,_0x2ce37d,_0x2d6027,_0x5dac21,_0x12ab0f);};exports[_0x73cb('0x2d')]=function(_0x4b73fc,_0x4848ae,_0x1e3581){var _0x2d919d=_0x4848ae['interaction'][_0x73cb('0x2e')];if(!_0x2d919d&&_0x1e3581){_0x2d919d=_0x1e3581['id'];}var _0x425a54=_[_0x73cb('0x2f')](_0x4b73fc[_0x4848ae['channel']+_0x73cb('0x30')],function(_0x4cdc3a){var _0x5efd12=_[_0x73cb('0x31')](_0x4848ae[_0x73cb('0x32')])+'InteractionId';return _0x4cdc3a[_0x5efd12]===_0x4848ae[_0x73cb('0x33')]['id'];});if(!_0x425a54&&_0x2d919d){_0x425a54=_[_0x73cb('0x2f')](_0x4b73fc[_0x73cb('0x34')][_0x2d919d][_0x4848ae[_0x73cb('0x32')]+_0x73cb('0x35')],function(_0x1f39ca){return _0x1f39ca['id']===_0x4848ae[_0x73cb('0x33')]['id'];});}return _0x425a54;};exports['saveWaitingNotification']=function(_0xebbd3c,_0x3566d9,_0x4533f4,_0x2ab38e){_0xebbd3c[_0x73cb('0x34')][_0x4533f4['id']][_0x2ab38e+_0x73cb('0x35')][_0x3566d9['message']['id']]={'id':_0x3566d9[_0x73cb('0x33')]['id']};};exports[_0x73cb('0x36')]=function(_0x1cb164,_0x3eebde,_0x10c7cc,_0x49020a){delete _0x1cb164[_0x73cb('0x34')][_0x10c7cc['id']][_0x49020a+_0x73cb('0x35')][_0x3eebde[_0x73cb('0x37')]['id']];};exports['writeLog']=writeLog;