diff --git a/src/store/conversationsStore.js b/src/store/conversationsStore.js index 6673cc6653..9e53977f18 100644 --- a/src/store/conversationsStore.js +++ b/src/store/conversationsStore.js @@ -625,22 +625,15 @@ const actions = { }, async toggleLobby({ commit, getters }, { token, enableLobby }) { - if (!getters.conversations[token]) { - return - } - try { - const conversation = Object.assign({}, getters.conversations[token]) + const response = await changeLobbyState(token, enableLobby ? WEBINAR.LOBBY.NON_MODERATORS : WEBINAR.LOBBY.NONE) + commit('addConversation', response.data.ocs.data) + if (enableLobby) { - await changeLobbyState(token, WEBINAR.LOBBY.NON_MODERATORS) - conversation.lobbyState = WEBINAR.LOBBY.NON_MODERATORS showSuccess(t('spreed', 'You restricted the conversation to moderators')) } else { - await changeLobbyState(token, WEBINAR.LOBBY.NONE) - conversation.lobbyState = WEBINAR.LOBBY.NONE showSuccess(t('spreed', 'You opened the conversation to everyone')) } - commit('addConversation', conversation) } catch (error) { console.error('Error occurred while updating webinar lobby: ', error) if (enableLobby) { @@ -721,15 +714,10 @@ const actions = { }, async setLobbyTimer({ commit, getters }, { token, timestamp }) { - if (!getters.conversations[token]) { - return - } - try { - const conversation = Object.assign({}, getters.conversations[token], { lobbyTimer: timestamp }) // The backend requires the state and timestamp to be set together. - await changeLobbyState(token, conversation.lobbyState, timestamp) - commit('addConversation', conversation) + const response = await changeLobbyState(token, WEBINAR.LOBBY.NON_MODERATORS, timestamp) + commit('addConversation', response.data.ocs.data) } catch (error) { console.error('Error while updating webinar lobby: ', error) } diff --git a/src/store/conversationsStore.spec.js b/src/store/conversationsStore.spec.js index 8382b7cb5f..bfd9caa85c 100644 --- a/src/store/conversationsStore.spec.js +++ b/src/store/conversationsStore.spec.js @@ -714,7 +714,14 @@ describe('conversationsStore', () => { store.dispatch('addConversation', testConversation) - changeLobbyState.mockResolvedValue() + const response = generateOCSResponse({ + payload: { + ...testConversation, + lobbyState: WEBINAR.LOBBY.NON_MODERATORS, + lobbyTimer: 0, + }, + }) + changeLobbyState.mockResolvedValue(response) await store.dispatch('toggleLobby', { token: testToken, @@ -732,7 +739,14 @@ describe('conversationsStore', () => { store.dispatch('addConversation', testConversation) - changeLobbyState.mockResolvedValue() + const response = generateOCSResponse({ + payload: { + ...testConversation, + lobbyState: WEBINAR.LOBBY.NONE, + lobbyTimer: 0, + }, + }) + changeLobbyState.mockResolvedValue(response) await store.dispatch('toggleLobby', { token: testToken, @@ -841,7 +855,14 @@ describe('conversationsStore', () => { store.dispatch('addConversation', testConversation) - changeLobbyState.mockResolvedValue() + const response = generateOCSResponse({ + payload: { + ...testConversation, + lobbyState: WEBINAR.LOBBY.NON_MODERATORS, + lobbyTimer: 2300400, + }, + }) + changeLobbyState.mockResolvedValue(response) await store.dispatch('setLobbyTimer', { token: testToken,