Built motion from commit (unavailable).|2.0.79
[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 _0xc97e=['emit','format','user:%s','name','\x20interaction','account','notificationShake','body','queue','msg','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','error','message','notification:%s','save','remove','info','busy','BUSY','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','writeLog','../utils','mustache','../../../../../config/logger','routing','socket.io-emitter','localhost'];(function(_0x81ac00,_0x3b0c79){var _0x4b45db=function(_0x53c73b){while(--_0x53c73b){_0x81ac00['push'](_0x81ac00['shift']());}};_0x4b45db(++_0x3b0c79);}(_0xc97e,0xd8));var _0xec97=function(_0x58df04,_0xfd1493){_0x58df04=_0x58df04-0x0;var _0xf4d800=_0xc97e[_0x58df04];return _0xf4d800;};'use strict';var util=require('util');var utils=require(_0xec97('0x0'));var Mustache=require(_0xec97('0x1'));var logger=require(_0xec97('0x2'))(_0xec97('0x3'));var io=require(_0xec97('0x4'))({'host':_0xec97('0x5'),'port':0x18eb});function emit(_0x4e6e91,_0x4ed12e,_0x456791){io['to'](_0x4e6e91)[_0xec97('0x6')](_0x4ed12e,_0x456791);}function sendNotification(_0x19aa21,_0x467f54,_0x5efcdc,_0x4ad5ac,_0x4b154e,_0x309d82){io['to'](util[_0xec97('0x7')](_0xec97('0x8'),_0x4ad5ac[_0xec97('0x9')]))[_0xec97('0x6')]('user:save',_0x4ad5ac);var _0x35fb47=_0x309d82||{};var _0x313580=_0x5efcdc['split']('.');var _0x11eefa={'uniqueid':_0x467f54,'channel':_0x313580[0x0],'id':_0x313580[0x1],'title':_0x313580[0x0]+_0xec97('0xa'),'interactionId':_0x313580[0x2],'queue':_0x4b154e?_0x4b154e['name']:null,'sound':_0x35fb47[_0xec97('0xb')]['notificationSound'],'shake':_0x35fb47[_0xec97('0xb')][_0xec97('0xc')]};try{if(!_0x35fb47[_0xec97('0xd')]){_0x35fb47[_0xec97('0xd')]={};}if(_0x4b154e){_0x35fb47['body'][_0xec97('0xe')]=_0x4b154e;}else if(_0x35fb47[_0xec97('0xd')][_0xec97('0xe')]){delete _0x35fb47[_0xec97('0xd')][_0xec97('0xe')];}_0x11eefa[_0xec97('0xf')]=utils[_0xec97('0x10')](_0x35fb47[_0xec97('0xb')]['notificationTemplate'],_0x35fb47);}catch(_0x553ebe){_0x11eefa['msg']=_0xec97('0x11');logger[_0xec97('0x12')](util[_0xec97('0x7')]('[%s][QUEUE]\x20%s',_0x467f54,_0x553ebe[_0xec97('0x13')]));}io['to'](util[_0xec97('0x7')](_0xec97('0x8'),_0x4ad5ac[_0xec97('0x9')]))['emit'](util['format'](_0xec97('0x14'),_0x19aa21?_0xec97('0x15'):_0xec97('0x16')),_0x11eefa);}function writeLog(_0x141a78,_0x18224b,_0xf9da45){return logger[_0xec97('0x17')](util[_0xec97('0x7')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x141a78,_0x18224b[_0xec97('0x9')],_0xf9da45));}exports['isAgentAvailable']=function(_0x3b03c4,_0x3371d9,_0x4c4740,_0x5f2429){if(_0x3371d9[_0xec97('0x18')]){writeLog(_0x3b03c4,_0x3371d9,_0xec97('0x19'));return![];}if(!_0x3371d9[_0xec97('0x1a')]){writeLog(_0x3b03c4,_0x3371d9,_0xec97('0x1b'));return![];}if(_0x3371d9[_0x4c4740+_0xec97('0x1c')]){writeLog(_0x3b03c4,_0x3371d9,_0xec97('0x1d'));return![];}if(_0x5f2429&&_0x3371d9[_0xec97('0x1e')](_0x4c4740+_0xec97('0x1f'))&&_0x3371d9['hasOwnProperty'](_0x4c4740+'CurrentCapacity')){if(_0x3371d9[_0x4c4740+_0xec97('0x1f')]>0x0&&_0x3371d9[_0x4c4740+_0xec97('0x20')]>=_0x3371d9[_0x4c4740+_0xec97('0x1f')]){writeLog(_0x3b03c4,_0x3371d9,_0x4c4740[_0xec97('0x21')]()+_0xec97('0x22'));return![];}}return!![];};exports[_0xec97('0x23')]=function(_0x24b0c1,_0x1b287a,_0x466fec,_0x47b82f,_0x301a4c){return sendNotification(!![],_0x24b0c1,_0x1b287a,_0x466fec,_0x47b82f,_0x301a4c);};exports['hideNotification']=function(_0x10dcbf,_0xdc053a,_0x507b1e,_0x33d1c0,_0x31cd0f){return sendNotification(![],_0x10dcbf,_0xdc053a,_0x507b1e,_0x33d1c0,_0x31cd0f);};exports[_0xec97('0x24')]=writeLog;