From 883f128dd78a10ee840f491606e9bd938c96a099 Mon Sep 17 00:00:00 2001 From: dartcafe Date: Sat, 26 Jul 2025 15:01:42 +0200 Subject: [PATCH] async store loads Signed-off-by: dartcafe --- lib/Controller/PublicController.php | 6 ------ src/stores/poll.ts | 19 +++++++++---------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/lib/Controller/PublicController.php b/lib/Controller/PublicController.php index fc3ceb6be8..c2090ed5ff 100644 --- a/lib/Controller/PublicController.php +++ b/lib/Controller/PublicController.php @@ -92,12 +92,6 @@ public function getPoll(): JSONResponse { return $this->response(function () { return [ 'poll' => $this->pollService->get($this->userSession->getShare()->getPollId()), - 'options' => $this->optionService->list($this->userSession->getShare()->getPollId()), - 'votes' => $this->voteService->list($this->userSession->getShare()->getPollId()), - 'orphaned' => 0, - 'comments' => $this->commentService->list($this->userSession->getShare()->getPollId()), - 'shares' => $this->shareService->list($this->userSession->getShare()->getPollId()), - 'subscribed' => $this->subscriptionService->get($this->userSession->getShare()->getPollId()), ]; }); } diff --git a/src/stores/poll.ts b/src/stores/poll.ts index 1b879cb951..2dc15cbe8a 100644 --- a/src/stores/poll.ts +++ b/src/stores/poll.ts @@ -384,11 +384,8 @@ export const usePollStore = defineStore('poll', { return PublicAPI.getPoll(sessionStore.route.params.token) } if (sessionStore.route.name === 'vote') { - return PollsAPI.getFullPoll( - pollId ?? sessionStore.currentPollId, - ) + return PollsAPI.getPoll(pollId ?? sessionStore.currentPollId) } - return null })() if (!response) { @@ -396,12 +393,14 @@ export const usePollStore = defineStore('poll', { return } - this.$patch(response.data.poll) - votesStore.votes = response.data.votes - optionsStore.options = response.data.options - sharesStore.shares = response.data.shares - commentsStore.comments = response.data.comments - subscriptionStore.subscribed = response.data.subscribed + await Promise.all([ + this.$patch(response.data.poll), + votesStore.load(), + optionsStore.load(), + sharesStore.load(), + commentsStore.load(), + subscriptionStore.load(), + ]) this.meta.status = 'loaded' } catch (error) {