Built motion from commit (unavailable).|2.5.13
[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 _0xe348=['online','OFFLINE','Pause','hasOwnProperty','Capacity','CurrentCapacity','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','emit','format','user:%s','name','user:save','split','\x20interaction','account','notificationSound','body','queue','msg','notificationTemplate','error','[%s][QUEUE]\x20%s','notification:%s','save','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY'];(function(_0x32d457,_0x1a39c9){var _0x338386=function(_0x199d7a){while(--_0x199d7a){_0x32d457['push'](_0x32d457['shift']());}};_0x338386(++_0x1a39c9);}(_0xe348,0x137));var _0x8e34=function(_0x32b542,_0x4512fa){_0x32b542=_0x32b542-0x0;var _0x554d54=_0xe348[_0x32b542];return _0x554d54;};'use strict';var _=require(_0x8e34('0x0'));var util=require(_0x8e34('0x1'));var utils=require('../utils');var Mustache=require(_0x8e34('0x2'));var Redis=require(_0x8e34('0x3'));var config=require(_0x8e34('0x4'));var logger=require(_0x8e34('0x5'))(_0x8e34('0x6'));config[_0x8e34('0x7')]=_[_0x8e34('0x8')](config['redis'],{'host':_0x8e34('0x9'),'port':0x18eb});var io=require(_0x8e34('0xa'))(new Redis(config[_0x8e34('0x7')]));function emit(_0x4e8565,_0x1a5573,_0x5b4bbe){io['to'](_0x4e8565)[_0x8e34('0xb')](_0x1a5573,_0x5b4bbe);}function sendNotification(_0x41e8a8,_0x4bd6af,_0x13715c,_0x3ee4d8,_0xe8162,_0x44f709){io['to'](util[_0x8e34('0xc')](_0x8e34('0xd'),_0x3ee4d8[_0x8e34('0xe')]))[_0x8e34('0xb')](_0x8e34('0xf'),_0x3ee4d8);var _0x400766=_0x44f709||{};var _0x58212c=_0x13715c[_0x8e34('0x10')]('.');var _0x246497={'uniqueid':_0x4bd6af,'channel':_0x58212c[0x0],'id':_0x58212c[0x1],'title':_0x58212c[0x0]+_0x8e34('0x11'),'interactionId':_0x58212c[0x2],'queue':_0xe8162?_0xe8162[_0x8e34('0xe')]:null,'sound':_0x400766[_0x8e34('0x12')][_0x8e34('0x13')],'shake':_0x400766[_0x8e34('0x12')]['notificationShake']};try{if(!_0x400766['body']){_0x400766[_0x8e34('0x14')]={};}if(_0xe8162){_0x400766[_0x8e34('0x14')][_0x8e34('0x15')]=_0xe8162;}else if(_0x400766[_0x8e34('0x14')][_0x8e34('0x15')]){delete _0x400766[_0x8e34('0x14')]['queue'];}_0x246497[_0x8e34('0x16')]=utils['getMustacheRender'](_0x400766[_0x8e34('0x12')][_0x8e34('0x17')],_0x400766);}catch(_0x5f404c){_0x246497[_0x8e34('0x16')]='I\x20can\x27t\x20render\x20your\x20template';logger[_0x8e34('0x18')](util['format'](_0x8e34('0x19'),_0x4bd6af,_0x5f404c['message']));}io['to'](util['format'](_0x8e34('0xd'),_0x3ee4d8[_0x8e34('0xe')]))[_0x8e34('0xb')](util[_0x8e34('0xc')](_0x8e34('0x1a'),_0x41e8a8?_0x8e34('0x1b'):'remove'),_0x246497);}function writeLog(_0x296dc7,_0x14ca16,_0x5e647b){return logger[_0x8e34('0x1c')](util[_0x8e34('0xc')](_0x8e34('0x1d'),_0x296dc7,_0x14ca16[_0x8e34('0xe')],_0x5e647b));}exports[_0x8e34('0x1e')]=function(_0x2775b7,_0x518591,_0x3c7be6,_0x432c10){if(_0x518591[_0x8e34('0x1f')]){writeLog(_0x2775b7,_0x518591,_0x8e34('0x20'));return![];}if(!_0x518591[_0x8e34('0x21')]){writeLog(_0x2775b7,_0x518591,_0x8e34('0x22'));return![];}if(_0x518591[_0x3c7be6+_0x8e34('0x23')]){writeLog(_0x2775b7,_0x518591,'PAUSE');return![];}if(_0x432c10&&_0x518591[_0x8e34('0x24')](_0x3c7be6+_0x8e34('0x25'))&&_0x518591[_0x8e34('0x24')](_0x3c7be6+'CurrentCapacity')){if(_0x518591[_0x3c7be6+'Capacity']>0x0&&_0x518591[_0x3c7be6+_0x8e34('0x26')]>=_0x518591[_0x3c7be6+_0x8e34('0x25')]){writeLog(_0x2775b7,_0x518591,_0x3c7be6['toUpperCase']()+_0x8e34('0x27'));return![];}}return!![];};exports[_0x8e34('0x28')]=function(_0x5aeee9,_0x268a6e,_0x4d6239,_0x2136a3,_0x32f051){return sendNotification(!![],_0x5aeee9,_0x268a6e,_0x4d6239,_0x2136a3,_0x32f051);};exports[_0x8e34('0x29')]=function(_0x563551,_0x3fcdf5,_0x539454,_0x545996,_0xbb755f){return sendNotification(![],_0x563551,_0x3fcdf5,_0x539454,_0x545996,_0xbb755f);};exports[_0x8e34('0x2a')]=writeLog;