Built motion from commit (unavailable).|2.5.2
[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 _0x07c3=['../../../../../config/logger','routing','defaults','redis','localhost','socket.io-emitter','emit','format','user:%s','name','split','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','notification:%s','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','online','OFFLINE','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','../utils','mustache','ioredis'];(function(_0x31abee,_0x11ff0c){var _0x3c1761=function(_0x2b5062){while(--_0x2b5062){_0x31abee['push'](_0x31abee['shift']());}};_0x3c1761(++_0x11ff0c);}(_0x07c3,0x14b));var _0x307c=function(_0x200aa5,_0x197802){_0x200aa5=_0x200aa5-0x0;var _0x458200=_0x07c3[_0x200aa5];return _0x458200;};'use strict';var _=require(_0x307c('0x0'));var util=require(_0x307c('0x1'));var utils=require(_0x307c('0x2'));var Mustache=require(_0x307c('0x3'));var Redis=require(_0x307c('0x4'));var config=require('../../../../../config/environment');var logger=require(_0x307c('0x5'))(_0x307c('0x6'));config['redis']=_[_0x307c('0x7')](config[_0x307c('0x8')],{'host':_0x307c('0x9'),'port':0x18eb});var io=require(_0x307c('0xa'))(new Redis(config[_0x307c('0x8')]));function emit(_0x59366e,_0x6ae29a,_0x33b0b0){io['to'](_0x59366e)[_0x307c('0xb')](_0x6ae29a,_0x33b0b0);}function sendNotification(_0x51f11d,_0x2f39e0,_0x16773c,_0x2a5c0e,_0x376ec7,_0x2382e7){io['to'](util[_0x307c('0xc')](_0x307c('0xd'),_0x2a5c0e[_0x307c('0xe')]))[_0x307c('0xb')]('user:save',_0x2a5c0e);var _0x1fe292=_0x2382e7||{};var _0x1315fe=_0x16773c[_0x307c('0xf')]('.');var _0x5abfd2={'uniqueid':_0x2f39e0,'channel':_0x1315fe[0x0],'id':_0x1315fe[0x1],'title':_0x1315fe[0x0]+_0x307c('0x10'),'interactionId':_0x1315fe[0x2],'queue':_0x376ec7?_0x376ec7[_0x307c('0xe')]:null,'sound':_0x1fe292[_0x307c('0x11')][_0x307c('0x12')],'shake':_0x1fe292['account'][_0x307c('0x13')]};try{if(!_0x1fe292[_0x307c('0x14')]){_0x1fe292[_0x307c('0x14')]={};}if(_0x376ec7){_0x1fe292[_0x307c('0x14')][_0x307c('0x15')]=_0x376ec7;}else if(_0x1fe292[_0x307c('0x14')][_0x307c('0x15')]){delete _0x1fe292[_0x307c('0x14')][_0x307c('0x15')];}_0x5abfd2[_0x307c('0x16')]=utils[_0x307c('0x17')](_0x1fe292[_0x307c('0x11')][_0x307c('0x18')],_0x1fe292);}catch(_0x5a875a){_0x5abfd2[_0x307c('0x16')]=_0x307c('0x19');logger[_0x307c('0x1a')](util[_0x307c('0xc')](_0x307c('0x1b'),_0x2f39e0,_0x5a875a[_0x307c('0x1c')]));}io['to'](util[_0x307c('0xc')](_0x307c('0xd'),_0x2a5c0e[_0x307c('0xe')]))[_0x307c('0xb')](util[_0x307c('0xc')](_0x307c('0x1d'),_0x51f11d?_0x307c('0x1e'):_0x307c('0x1f')),_0x5abfd2);}function writeLog(_0xc1309d,_0x1ad9a6,_0x5dfd59){return logger[_0x307c('0x20')](util[_0x307c('0xc')](_0x307c('0x21'),_0xc1309d,_0x1ad9a6[_0x307c('0xe')],_0x5dfd59));}exports[_0x307c('0x22')]=function(_0x388f37,_0x1525c9,_0x2ae011,_0x459ca9){if(_0x1525c9[_0x307c('0x23')]){writeLog(_0x388f37,_0x1525c9,'BUSY');return![];}if(!_0x1525c9[_0x307c('0x24')]){writeLog(_0x388f37,_0x1525c9,_0x307c('0x25'));return![];}if(_0x1525c9[_0x2ae011+_0x307c('0x26')]){writeLog(_0x388f37,_0x1525c9,_0x307c('0x27'));return![];}if(_0x459ca9&&_0x1525c9[_0x307c('0x28')](_0x2ae011+'Capacity')&&_0x1525c9[_0x307c('0x28')](_0x2ae011+_0x307c('0x29'))){if(_0x1525c9[_0x2ae011+_0x307c('0x2a')]>0x0&&_0x1525c9[_0x2ae011+'CurrentCapacity']>=_0x1525c9[_0x2ae011+'Capacity']){writeLog(_0x388f37,_0x1525c9,_0x2ae011[_0x307c('0x2b')]()+_0x307c('0x2c'));return![];}}return!![];};exports[_0x307c('0x2d')]=function(_0x3058b6,_0x51dc1f,_0x5f3326,_0xe883c4,_0x408ceb){return sendNotification(!![],_0x3058b6,_0x51dc1f,_0x5f3326,_0xe883c4,_0x408ceb);};exports[_0x307c('0x2e')]=function(_0x52ef31,_0x4bb6d0,_0x56a734,_0x4e0783,_0x35cd5b){return sendNotification(![],_0x52ef31,_0x4bb6d0,_0x56a734,_0x4e0783,_0x35cd5b);};exports[_0x307c('0x2f')]=writeLog;