Built motion from commit 85328c08.|2.5.50
[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 _0x7278=['redis','defaults','localhost','socket.io-emitter','emit','format','user:%s','name','user:save','split','\x20interaction','account','notificationSound','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','message','notification:%s','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','Pause','PAUSE','hasOwnProperty','CurrentCapacity','Capacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','../utils','mustache','ioredis','../../../../../config/logger','routing'];(function(_0x1ef0b3,_0x468ed2){var _0x4dd52d=function(_0x2f2052){while(--_0x2f2052){_0x1ef0b3['push'](_0x1ef0b3['shift']());}};_0x4dd52d(++_0x468ed2);}(_0x7278,0x161));var _0x8727=function(_0x32d574,_0x3406df){_0x32d574=_0x32d574-0x0;var _0x3ecaa3=_0x7278[_0x32d574];return _0x3ecaa3;};'use strict';var _=require(_0x8727('0x0'));var util=require(_0x8727('0x1'));var utils=require(_0x8727('0x2'));var Mustache=require(_0x8727('0x3'));var Redis=require(_0x8727('0x4'));var config=require('../../../../../config/environment');var logger=require(_0x8727('0x5'))(_0x8727('0x6'));config[_0x8727('0x7')]=_[_0x8727('0x8')](config[_0x8727('0x7')],{'host':_0x8727('0x9'),'port':0x18eb});var io=require(_0x8727('0xa'))(new Redis(config['redis']));function emit(_0xfd1902,_0x2f491c,_0xffd783){io['to'](_0xfd1902)[_0x8727('0xb')](_0x2f491c,_0xffd783);}function sendNotification(_0x4160c3,_0x4c5b50,_0x4b1985,_0x4df6f8,_0xb575a3,_0x336193){io['to'](util[_0x8727('0xc')](_0x8727('0xd'),_0x4df6f8[_0x8727('0xe')]))[_0x8727('0xb')](_0x8727('0xf'),_0x4df6f8);var _0xefa0bf=_0x336193||{};var _0x4af9d2=_0x4b1985[_0x8727('0x10')]('.');var _0x2d9d47={'uniqueid':_0x4c5b50,'channel':_0x4af9d2[0x0],'id':_0x4af9d2[0x1],'title':_0x4af9d2[0x0]+_0x8727('0x11'),'interactionId':_0x4af9d2[0x2],'queue':_0xb575a3?_0xb575a3['name']:null,'sound':_0xefa0bf[_0x8727('0x12')][_0x8727('0x13')],'shake':_0xefa0bf['account'][_0x8727('0x14')]};try{if(!_0xefa0bf[_0x8727('0x15')]){_0xefa0bf[_0x8727('0x15')]={};}if(_0xb575a3){_0xefa0bf[_0x8727('0x15')][_0x8727('0x16')]=_0xb575a3;}else if(_0xefa0bf[_0x8727('0x15')][_0x8727('0x16')]){delete _0xefa0bf[_0x8727('0x15')][_0x8727('0x16')];}_0x2d9d47[_0x8727('0x17')]=utils['getMustacheRender'](_0xefa0bf[_0x8727('0x12')][_0x8727('0x18')],_0xefa0bf);}catch(_0x16d1b7){_0x2d9d47[_0x8727('0x17')]=_0x8727('0x19');logger[_0x8727('0x1a')](util['format']('[%s][QUEUE]\x20%s',_0x4c5b50,_0x16d1b7[_0x8727('0x1b')]));}io['to'](util['format'](_0x8727('0xd'),_0x4df6f8[_0x8727('0xe')]))[_0x8727('0xb')](util[_0x8727('0xc')](_0x8727('0x1c'),_0x4160c3?'save':_0x8727('0x1d')),_0x2d9d47);}function writeLog(_0x286856,_0x8cde82,_0x1d78df){return logger[_0x8727('0x1e')](util[_0x8727('0xc')](_0x8727('0x1f'),_0x286856,_0x8cde82[_0x8727('0xe')],_0x1d78df));}exports[_0x8727('0x20')]=function(_0x56ffd5,_0x268a13,_0x1a69d5,_0x4c699b){if(_0x268a13[_0x8727('0x21')]){writeLog(_0x56ffd5,_0x268a13,_0x8727('0x22'));return![];}if(!_0x268a13['online']){writeLog(_0x56ffd5,_0x268a13,'OFFLINE');return![];}if(_0x268a13[_0x1a69d5+_0x8727('0x23')]){writeLog(_0x56ffd5,_0x268a13,_0x8727('0x24'));return![];}if(_0x4c699b&&_0x268a13[_0x8727('0x25')](_0x1a69d5+'Capacity')&&_0x268a13[_0x8727('0x25')](_0x1a69d5+_0x8727('0x26'))){if(_0x268a13[_0x1a69d5+_0x8727('0x27')]>0x0&&_0x268a13[_0x1a69d5+_0x8727('0x26')]>=_0x268a13[_0x1a69d5+_0x8727('0x27')]){writeLog(_0x56ffd5,_0x268a13,_0x1a69d5[_0x8727('0x28')]()+_0x8727('0x29'));return![];}}return!![];};exports[_0x8727('0x2a')]=function(_0x5d03f2,_0x243f15,_0x307055,_0x54034d,_0x23325f){return sendNotification(!![],_0x5d03f2,_0x243f15,_0x307055,_0x54034d,_0x23325f);};exports[_0x8727('0x2b')]=function(_0x3ecd6a,_0x228ca9,_0x416da8,_0x1e21b9,_0x57733d){return sendNotification(![],_0x3ecd6a,_0x228ca9,_0x416da8,_0x1e21b9,_0x57733d);};exports[_0x8727('0x2c')]=writeLog;