import reduxStore from '../createStore'; import Navigation from '../Navigation'; const jitsiBaseUrl = ({ Jitsi_Enabled, Jitsi_SSL, Jitsi_Domain, Jitsi_URL_Room_Prefix, uniqueID }) => { if (!Jitsi_Enabled) { return ''; } const uniqueIdentifier = uniqueID || 'undefined'; const domain = Jitsi_Domain; const prefix = Jitsi_URL_Room_Prefix; const urlProtocol = Jitsi_SSL ? 'https://' : 'http://'; const urlDomain = `${ domain }/`; return `${ urlProtocol }${ urlDomain }${ prefix }${ uniqueIdentifier }`; }; async function callJitsi(rid, onlyAudio = false) { let accessToken; let queryString = ''; const { settings } = reduxStore.getState(); const { Jitsi_Enabled_TokenAuth } = settings; if (Jitsi_Enabled_TokenAuth) { try { accessToken = await this.sdk.methodCall('jitsi:generateAccessToken', rid); } catch (e) { // do nothing } } if (accessToken) { queryString = `?jwt=${ accessToken }`; } Navigation.navigate('JitsiMeetView', { url: `${ jitsiBaseUrl(settings) }${ rid }${ queryString }`, onlyAudio, rid }); } export default callJitsi;