diff options
Diffstat (limited to 'src/js/store/modules/poll.js')
-rw-r--r-- | src/js/store/modules/poll.js | 75 |
1 files changed, 20 insertions, 55 deletions
diff --git a/src/js/store/modules/poll.js b/src/js/store/modules/poll.js index aa587336..14aedb22 100644 --- a/src/js/store/modules/poll.js +++ b/src/js/store/modules/poll.js @@ -21,12 +21,11 @@ * */ -import axios from '@nextcloud/axios' import moment from '@nextcloud/moment' -import { generateUrl } from '@nextcloud/router' import acl from './subModules/acl.js' import { uniqueArrayOfObjects } from '../../helpers/arrayHelper.js' -import axiosDefaultConfig from '../../helpers/AxiosDefault.js' +import { PollsAPI } from '../../Api/polls.js' +import { PublicAPI } from '../../Api/public.js' const defaultPoll = () => ({ id: 0, @@ -173,52 +172,40 @@ const actions = { }, async get(context) { - let endPoint = 'apps/polls' - - if (context.rootState.route.name === 'publicVote') { - endPoint = `${endPoint}/s/${context.rootState.route.params.token}/poll` - } else if (context.rootState.route.name === 'vote') { - endPoint = `${endPoint}/poll/${context.rootState.route.params.id}/poll` - } else { - context.commit('reset') - context.commit('acl/reset') - return - } try { - const response = await axios.get(generateUrl(endPoint), { - ...axiosDefaultConfig, - params: { time: +new Date() }, - }) + let response = null + if (context.rootState.route.name === 'publicVote') { + response = await PublicAPI.getPoll(context.rootState.route.params.token) + } else if (context.rootState.route.name === 'vote') { + response = await PollsAPI.getPoll(context.rootState.route.params.id) + } else { + context.commit('reset') + context.commit('acl/reset') + return + } context.commit('set', response.data) context.commit('acl/set', response.data) } catch (e) { - console.debug('Error loading poll', { error: e.response }) + console.debug('Error loading poll', { error: e }) throw e } }, async add(context, payload) { - const endPoint = 'apps/polls/poll/add' try { - const response = await axios.post(generateUrl(endPoint), { - title: payload.title, - type: payload.type, - }, axiosDefaultConfig) - - context.dispatch('polls/list', null, { root: true }) + const response = await PollsAPI.addPoll(payload.type, payload.title) return response } catch (e) { console.error('Error adding poll:', { error: e.response }, { state: context.state }) throw e + } finally { + context.dispatch('polls/list', null, { root: true }) } }, async update(context) { - const endPoint = `apps/polls/poll/${context.state.id}` try { - const response = await axios.put(generateUrl(endPoint), { - poll: context.state, - }, axiosDefaultConfig) + const response = await PollsAPI.updatePoll(context.state) context.commit('set', response.data) context.commit('acl/set', response.data) } catch (e) { @@ -231,9 +218,8 @@ const actions = { }, async delete(context, payload) { - const endPoint = `apps/polls/poll/${payload.pollId}` try { - await axios.delete(generateUrl(endPoint), axiosDefaultConfig) + await PollsAPI.deletePoll(payload.pollId) } catch (e) { console.error('Error deleting poll', { error: e.response }, { payload }) } finally { @@ -242,9 +228,8 @@ const actions = { }, async toggleArchive(context, payload) { - const endPoint = `apps/polls/poll/${payload.pollId}/toggleArchive` try { - await axios.put(generateUrl(endPoint), null, axiosDefaultConfig) + await PollsAPI.toggleArchive(payload.pollId) } catch (e) { console.error('Error archiving/restoring', { error: e.response }, { payload }) } finally { @@ -253,34 +238,14 @@ const actions = { }, async clone(context, payload) { - const endPoint = `apps/polls/poll/${payload.pollId}/clone` try { - const response = await axios.post(generateUrl(endPoint), null, axiosDefaultConfig) + const response = await PollsAPI.clonePoll(payload.pollId) context.dispatch('polls/list', null, { root: true }) return response } catch (e) { console.error('Error cloning poll', { error: e.response }, { payload }) } }, - - async sendConfirmation(context, payload) { - const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/confirmation` - try { - const response = await axios.post(generateUrl(endPoint), null, axiosDefaultConfig) - return response.data.confirmations - } catch (e) { - console.error('Error sending confirmation', { error: e.response }, { payload }) - } - }, - - async getParticipantsEmailAddresses(context) { - const endPoint = `apps/polls/poll/${context.state.id}/addresses` - try { - return await axios.get(generateUrl(endPoint), axiosDefaultConfig) - } catch (e) { - console.error('Error retrieving email addresses', { error: e.response }) - } - }, } export default { namespaced, state, mutations, getters, actions, modules } |