4c0a4250f86e60bfdc620df9438915ae6053f2f9
[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 _0x2eb2=['Pause','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','util','../utils','ioredis','../../../../../config/environment','../../../../../config/logger','routing','defaults','socket.io-emitter','redis','format','user:%s','name','emit','account','notificationShake','body','queue','getMustacheRender','I\x20can\x27t\x20render\x20your\x20template','[%s][QUEUE]\x20%s','notification:%s','remove','debug','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE'];(function(_0xc3a264,_0x1a7dbf){var _0x5d62b7=function(_0x1cd21b){while(--_0x1cd21b){_0xc3a264['push'](_0xc3a264['shift']());}};_0x5d62b7(++_0x1a7dbf);}(_0x2eb2,0x19f));var _0x22eb=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0x2eb2[_0x5b644e];return _0x49c6bf;};'use strict';var _=require('lodash');var util=require(_0x22eb('0x0'));var utils=require(_0x22eb('0x1'));var Redis=require(_0x22eb('0x2'));var config=require(_0x22eb('0x3'));var logger=require(_0x22eb('0x4'))(_0x22eb('0x5'));config['redis']=_[_0x22eb('0x6')](config['redis'],{'host':'localhost','port':0x18eb});var io=require(_0x22eb('0x7'))(new Redis(config[_0x22eb('0x8')]));function sendNotification(_0x35dd5b,_0x2a9850,_0x4539d0,_0x396806,_0x33ddef,_0x3375d6){io['to'](util[_0x22eb('0x9')](_0x22eb('0xa'),_0x396806[_0x22eb('0xb')]))[_0x22eb('0xc')]('user:save',_0x396806);var _0x46c197=_0x3375d6||{};var _0x54342e=_0x4539d0['split']('.');var _0x1aa348={'uniqueid':_0x2a9850,'channel':_0x54342e[0x0],'id':_0x54342e[0x1],'title':_0x54342e[0x0]+'\x20interaction','interactionId':_0x54342e[0x2],'queue':_0x33ddef?_0x33ddef[_0x22eb('0xb')]:null,'sound':_0x46c197[_0x22eb('0xd')]['notificationSound'],'shake':_0x46c197['account'][_0x22eb('0xe')]};try{if(!_0x46c197[_0x22eb('0xf')]){_0x46c197[_0x22eb('0xf')]={};}if(_0x33ddef){_0x46c197[_0x22eb('0xf')][_0x22eb('0x10')]=_0x33ddef;}else if(_0x46c197['body'][_0x22eb('0x10')]){delete _0x46c197['body'][_0x22eb('0x10')];}_0x1aa348['msg']=utils[_0x22eb('0x11')](_0x46c197[_0x22eb('0xd')]['notificationTemplate'],_0x46c197);}catch(_0x48b63c){_0x1aa348['msg']=_0x22eb('0x12');logger['error'](util['format'](_0x22eb('0x13'),_0x2a9850,_0x48b63c['message']));}io['to'](util['format'](_0x22eb('0xa'),_0x396806[_0x22eb('0xb')]))[_0x22eb('0xc')](util[_0x22eb('0x9')](_0x22eb('0x14'),_0x35dd5b?'save':_0x22eb('0x15')),_0x1aa348);}function writeLog(_0x12bbd1,_0x10d182,_0x410c25){return logger[_0x22eb('0x16')](util['format'](_0x22eb('0x17'),_0x12bbd1,_0x10d182[_0x22eb('0xb')],_0x410c25));}exports[_0x22eb('0x18')]=function(_0x49ce2a,_0x490b34,_0x4335b7,_0x267d97){if(_0x490b34[_0x22eb('0x19')]){writeLog(_0x49ce2a,_0x490b34,_0x22eb('0x1a'));return![];}if(!_0x490b34[_0x22eb('0x1b')]){writeLog(_0x49ce2a,_0x490b34,_0x22eb('0x1c'));return![];}if(_0x490b34[_0x4335b7+_0x22eb('0x1d')]){writeLog(_0x49ce2a,_0x490b34,'PAUSE');return![];}if(_0x267d97&&_0x490b34[_0x22eb('0x1e')](_0x4335b7+_0x22eb('0x1f'))&&_0x490b34[_0x22eb('0x1e')](_0x4335b7+_0x22eb('0x20'))){if(_0x490b34[_0x4335b7+_0x22eb('0x1f')]>0x0&&_0x490b34[_0x4335b7+'CurrentCapacity']>=_0x490b34[_0x4335b7+_0x22eb('0x1f')]){writeLog(_0x49ce2a,_0x490b34,_0x4335b7[_0x22eb('0x21')]()+_0x22eb('0x22'));return![];}}return!![];};exports['showNotification']=function(_0xe0783c,_0x259847,_0x4b409a,_0x32a4b6,_0x222ef3){return sendNotification(!![],_0xe0783c,_0x259847,_0x4b409a,_0x32a4b6,_0x222ef3);};exports[_0x22eb('0x23')]=function(_0x2924f6,_0x2da5c6,_0x4f4f56,_0x49dd59,_0x2a950e){return sendNotification(![],_0x2924f6,_0x2da5c6,_0x4f4f56,_0x49dd59,_0x2a950e);};exports[_0x22eb('0x24')]=writeLog;