Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/polls.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/store/modules')
-rw-r--r--src/js/store/modules/activity.js15
-rw-r--r--src/js/store/modules/appSettings.js21
-rw-r--r--src/js/store/modules/combo.js26
-rw-r--r--src/js/store/modules/comments.js71
-rw-r--r--src/js/store/modules/options.js144
-rw-r--r--src/js/store/modules/poll.js75
-rw-r--r--src/js/store/modules/polls.js10
-rw-r--r--src/js/store/modules/pollsAdmin.js13
-rw-r--r--src/js/store/modules/settings.js20
-rw-r--r--src/js/store/modules/share.js55
-rw-r--r--src/js/store/modules/shares.js43
-rw-r--r--src/js/store/modules/subscription.js50
-rw-r--r--src/js/store/modules/votes.js62
13 files changed, 187 insertions, 418 deletions
diff --git a/src/js/store/modules/activity.js b/src/js/store/modules/activity.js
index b8ec60bd..9bb5e2f2 100644
--- a/src/js/store/modules/activity.js
+++ b/src/js/store/modules/activity.js
@@ -21,9 +21,7 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateOcsUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { ActivityAPI } from '../../Api/activity.js'
const defaultActivities = () => ({
list: [],
@@ -49,18 +47,11 @@ const mutations = {
const actions = {
async list(context) {
- const params = new URLSearchParams()
- params.append('format', 'json')
- params.append('since', 0)
- params.append('limit', 50)
- params.append('object_type', 'poll')
- params.append('object_id', context.rootState.route.params.id)
- const endPoint = generateOcsUrl('apps/activity/api/v2/activity/filter?') + params
try {
- const response = await axios.get(endPoint, axiosDefaultConfig)
+ const response = await ActivityAPI.getActivities(context.rootState.route.params.id)
context.commit('set', response.data.ocs.data)
- } catch {
+ } catch (error) {
context.commit('reset')
}
},
diff --git a/src/js/store/modules/appSettings.js b/src/js/store/modules/appSettings.js
index 3e2f23a8..7fcc62db 100644
--- a/src/js/store/modules/appSettings.js
+++ b/src/js/store/modules/appSettings.js
@@ -21,9 +21,7 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { AppSettingsAPI } from '../../Api/appSettings.js'
const defaultAppSettings = () => ({
allAccessGroups: [],
@@ -71,12 +69,8 @@ const mutations = {
const actions = {
async get(context) {
- const endPoint = 'apps/polls/settings/app'
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await AppSettingsAPI.getAppSettings()
context.commit('set', response.data.appSettings)
} catch {
// context.commit('reset')
@@ -84,15 +78,14 @@ const actions = {
},
async write(context) {
- const endPoint = 'apps/polls/settings/app'
try {
- const response = await axios.post(generateUrl(endPoint), {
- appSettings: context.state,
- }, axiosDefaultConfig)
+ const response = await AppSettingsAPI.writeAppSettings(context.state)
context.commit('set', response.data.appSettings)
} catch (e) {
- console.error('Error writing appSettings', { error: e.response }, { appSettings: state })
- throw e
+ if (e.name !== 'CancelledRequest') {
+ console.error('Error writing appSettings', { error: e.response }, { appSettings: state })
+ throw e
+ }
}
},
}
diff --git a/src/js/store/modules/combo.js b/src/js/store/modules/combo.js
index 19128926..6adc9a0b 100644
--- a/src/js/store/modules/combo.js
+++ b/src/js/store/modules/combo.js
@@ -21,11 +21,11 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
import { uniqueOptions, uniqueParticipants } from '../../helpers/arrayHelper.js'
import { sortBy } from 'lodash'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { PollsAPI } from '../../Api/polls.js'
+import { OptionsAPI } from '../../Api/options.js'
+import { VotesAPI } from '../../Api/votes.js'
const defaultCombo = () => ({
id: 1,
@@ -143,12 +143,8 @@ const actions = {
},
async addPoll(context, payload) {
- const endPoint = `apps/polls/poll/${payload.pollId}/poll`
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await PollsAPI.getPoll(payload.pollId)
context.commit('addPoll', response.data)
} catch (e) {
console.debug('Error loading poll for combo', { error: e.response })
@@ -156,13 +152,8 @@ const actions = {
},
async addOptions(context, payload) {
- const endPoint = `apps/polls/poll/${payload.pollId}/options`
-
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await OptionsAPI.getOptions(payload.pollId)
context.commit('addOptions', response.data)
} catch (e) {
console.debug('Error loading options for combo', { error: e.response })
@@ -170,13 +161,8 @@ const actions = {
},
async addVotes(context, payload) {
- const endPoint = `apps/polls/poll/${payload.pollId}/votes`
-
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await VotesAPI.getVotes(payload.pollId)
context.commit('addVotes', response.data)
} catch (e) {
console.debug('Error loading options for combo', { error: e.response })
diff --git a/src/js/store/modules/comments.js b/src/js/store/modules/comments.js
index 487e0f80..f3c66d3c 100644
--- a/src/js/store/modules/comments.js
+++ b/src/js/store/modules/comments.js
@@ -21,9 +21,8 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { CommentsAPI } from '../../Api/comments.js'
+import { PublicAPI } from '../../Api/public.js'
const defaultComments = () => ({
list: [],
@@ -57,24 +56,17 @@ const getters = {
const actions = {
async list(context) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}`
- } else if (context.rootState.route.name === 'list' && context.rootState.route.params.id) {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}`
- } else {
- context.commit('reset')
- return
- }
-
try {
- const response = await axios.get(generateUrl(`${endPoint}/comments`), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = await PublicAPI.getComments(context.rootState.route.params.token)
+ } else if (context.rootState.route.name === 'vote') {
+ response = await CommentsAPI.getComments(context.rootState.route.params.id)
+ } else {
+ context.commit('reset')
+ return
+ }
+
context.commit('set', response.data)
} catch {
context.commit('reset')
@@ -82,23 +74,16 @@ const actions = {
},
async add(context, payload) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}`
- } else if (context.rootState.route.name === 'list' && context.rootState.route.params.id) {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}`
- } else {
- context.commit('reset')
- return
- }
-
try {
- await axios.post(generateUrl(`${endPoint}/comment`), {
- message: payload.message,
- }, axiosDefaultConfig)
+ if (context.rootState.route.name === 'publicVote') {
+ await PublicAPI.addComment(context.rootState.route.params.token, payload.message)
+ } else if (context.rootState.route.name === 'vote') {
+ await CommentsAPI.addComment(context.rootState.route.params.id, payload.message)
+ } else {
+ context.commit('reset')
+ return
+ }
+
context.dispatch('list')
// context.commit('add', { comment: response.data.comment })
} catch (e) {
@@ -108,15 +93,13 @@ const actions = {
},
async delete(context, payload) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}`
- }
- endPoint = `${endPoint}/comment/${payload.comment.id}`
-
try {
- await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ if (context.rootState.route.name === 'publicVote') {
+ await PublicAPI.deleteComment(context.rootState.route.params.token, payload.comment.id)
+ } else {
+ await CommentsAPI.deleteComment(payload.comment.id)
+ }
+
context.commit('delete', { comment: payload.comment })
} catch (e) {
console.error('Error deleting comment', { error: e.response }, { payload })
diff --git a/src/js/store/modules/options.js b/src/js/store/modules/options.js
index f59d3bd8..96e969f4 100644
--- a/src/js/store/modules/options.js
+++ b/src/js/store/modules/options.js
@@ -21,11 +21,10 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
import { orderBy } from 'lodash'
import moment from '@nextcloud/moment'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { OptionsAPI } from '../../Api/options.js'
+import { PublicAPI } from '../../Api/public.js'
const defaultOptions = () => ({
list: [],
@@ -137,23 +136,18 @@ const getters = {
const actions = {
async list(context) {
- let endPoint = 'apps/polls'
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}/options`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}/options`
- } else if (context.rootState.route.name === 'list' && context.rootState.route.params.id) {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}/options`
- } else {
- context.commit('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.getOptions(context.rootState.route.params.token)
+ } else if (context.rootState.route.params.id) {
+ response = await OptionsAPI.getOptions(context.rootState.route.params.id)
+ } else {
+ context.commit('reset')
+ return
+ }
+
context.commit('set', { options: response.data.options })
} catch (e) {
console.error('Error loding options', { error: e.response }, { pollId: context.rootState.route.params.id })
@@ -162,20 +156,28 @@ const actions = {
},
async add(context, payload) {
- let endPoint = 'apps/polls'
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}/option`
- } else {
- endPoint = `${endPoint}/option`
- }
-
try {
- const response = await axios.post(generateUrl(endPoint), {
- pollId: context.rootState.route.params.id,
- timestamp: payload.timestamp,
- text: payload.text,
- duration: payload.duration,
- }, axiosDefaultConfig)
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = await PublicAPI.addOption(
+ context.rootState.route.params.token,
+ {
+ pollId: context.rootState.route.params.id,
+ timestamp: payload.timestamp,
+ text: payload.text,
+ duration: payload.duration,
+ }
+ )
+ } else {
+ response = await OptionsAPI.addOption(
+ {
+ pollId: context.rootState.route.params.id,
+ timestamp: payload.timestamp,
+ text: payload.text,
+ duration: payload.duration,
+ }
+ )
+ }
context.commit('setItem', { option: response.data.option })
} catch (e) {
console.error(`Error adding option: ${e.response.data}`, { error: e.response }, { payload })
@@ -185,14 +187,8 @@ const actions = {
},
async update(context, payload) {
- const endPoint = `apps/polls/option/${payload.option.id}`
-
try {
- const response = await axios.put(generateUrl(endPoint), {
- timestamp: payload.option.timestamp,
- text: payload.option.timeStamp,
- duration: payload.option.duration,
- }, axiosDefaultConfig)
+ const response = await OptionsAPI.updateOption(payload.option)
context.commit('setItem', { option: response.data.option })
} catch (e) {
console.error('Error updating option', { error: e.response }, { payload })
@@ -202,16 +198,12 @@ const actions = {
},
async delete(context, payload) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}/option/${payload.option.id}`
- } else {
- endPoint = `${endPoint}/option/${payload.option.id}`
- }
-
try {
- await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ if (context.rootState.route.name === 'publicVote') {
+ await PublicAPI.deleteOption(context.rootState.route.params.token, payload.option.id)
+ } else {
+ await OptionsAPI.deleteOption(payload.option.id)
+ }
context.commit('delete', { option: payload.option })
} catch (e) {
console.error('Error deleting option', { error: e.response }, { payload })
@@ -221,13 +213,8 @@ const actions = {
},
async addBulk(context, payload) {
- const endPoint = 'apps/polls/option/bulk'
-
try {
- const response = await axios.post(generateUrl(endPoint), {
- pollId: context.rootState.route.params.id,
- text: payload.text,
- }, axiosDefaultConfig)
+ const response = OptionsAPI.addOptions(context.rootState.route.params.id, payload.text)
context.commit('set', { options: response.data.options })
} catch (e) {
console.error(`Error adding option: ${e.response.data}`, { error: e.response }, { payload })
@@ -237,12 +224,9 @@ const actions = {
},
async confirm(context, payload) {
- const endPoint = `apps/polls/option/${payload.option.id}/confirm`
-
context.commit('confirm', { option: payload.option })
-
try {
- const response = await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ const response = OptionsAPI.confirmOption(payload.optionId)
context.commit('setItem', { option: response.data.option })
} catch (e) {
console.error('Error confirming option', { error: e.response }, { payload })
@@ -252,14 +236,10 @@ const actions = {
},
async reorder(context, payload) {
- const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/options/reorder`
-
context.commit('reorder', { options: payload })
try {
- const response = await axios.post(generateUrl(endPoint), {
- options: payload,
- }, axiosDefaultConfig)
+ const response = await OptionsAPI.reorderOptions(context.rootState.route.params.id, payload)
context.commit('set', { options: response.data.options })
} catch (e) {
console.error('Error reordering option', { error: e.response }, { payload })
@@ -269,14 +249,13 @@ const actions = {
},
async sequence(context, payload) {
- const endPoint = `apps/polls/option/${payload.option.id}/sequence`
-
try {
- const response = await axios.post(generateUrl(endPoint), {
- step: payload.sequence.step,
- unit: payload.sequence.unit.value,
- amount: payload.sequence.amount,
- }, axiosDefaultConfig)
+ const response = await OptionsAPI.addOptionsSequence(
+ payload.option.id,
+ payload.sequence.step,
+ payload.sequence.unit.value,
+ payload.sequence.amount,
+ )
context.commit('set', { options: response.data.options })
} catch (e) {
console.error('Error creating sequence', { error: e.response }, { payload })
@@ -286,13 +265,12 @@ const actions = {
},
async shift(context, payload) {
- const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/shift`
-
try {
- const response = await axios.post(generateUrl(endPoint), {
- step: payload.shift.step,
- unit: payload.shift.unit.value,
- }, axiosDefaultConfig)
+ const response = await OptionsAPI.shiftOptions(
+ context.rootState.route.params.id,
+ payload.shift.step,
+ payload.shift.unit.value,
+ )
context.commit('set', { options: response.data.options })
} catch (e) {
console.error('Error shifting dates', { error: e.response }, { payload })
@@ -300,20 +278,6 @@ const actions = {
throw e
}
},
-
- async getEvents(context, payload) {
- const endPoint = `apps/polls/option/${payload.option.id}/events`
-
- try {
- return await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { tz: Intl.DateTimeFormat().resolvedOptions().timeZone },
- })
- } catch (e) {
- return { events: [] }
- }
- },
-
}
export default { state, mutations, getters, actions, namespaced }
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 }
diff --git a/src/js/store/modules/polls.js b/src/js/store/modules/polls.js
index e188ac7b..17c0ad94 100644
--- a/src/js/store/modules/polls.js
+++ b/src/js/store/modules/polls.js
@@ -23,11 +23,9 @@
*
*/
-import axios from '@nextcloud/axios'
import moment from '@nextcloud/moment'
-import { generateUrl } from '@nextcloud/router'
import { orderBy } from 'lodash'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { PollsAPI } from '../../Api/polls.js'
const state = {
list: [],
@@ -197,13 +195,9 @@ const actions = {
},
async list(context) {
- const endPoint = 'apps/polls/polls'
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await PollsAPI.getPolls()
context.commit('set', { list: response.data.list })
context.commit('setPollCreationAllowed', { pollCreationAllowed: response.data.pollCreationAllowed })
context.commit('setComboAllowed', { comboAllowed: response.data.comboAllowed })
diff --git a/src/js/store/modules/pollsAdmin.js b/src/js/store/modules/pollsAdmin.js
index d30f1338..f718948e 100644
--- a/src/js/store/modules/pollsAdmin.js
+++ b/src/js/store/modules/pollsAdmin.js
@@ -21,10 +21,8 @@
*
*/
-import axios from '@nextcloud/axios'
import { getCurrentUser } from '@nextcloud/auth'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { PollsAPI } from '../../Api/polls.js'
const namespaced = true
const state = {
@@ -47,12 +45,8 @@ const actions = {
return
}
- const endPoint = 'apps/polls/administration/polls'
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await PollsAPI.getPollsForAdmin()
context.commit('set', { list: response.data })
} catch (e) {
console.error('Error loading polls', { error: e.response })
@@ -64,8 +58,7 @@ const actions = {
return
}
- const endPoint = `apps/polls/administration/poll/${payload.pollId}/takeover`
- axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ PollsAPI.takeOver(payload.pollId)
},
}
diff --git a/src/js/store/modules/settings.js b/src/js/store/modules/settings.js
index b5e03338..c2ef1c66 100644
--- a/src/js/store/modules/settings.js
+++ b/src/js/store/modules/settings.js
@@ -21,9 +21,8 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { CalendarAPI } from '../../Api/calendar.js'
+import { UserSettingsAPI } from '../../Api/userSettings.js'
const defaultSettings = () => ({
user: {
@@ -122,12 +121,8 @@ const getters = {
const actions = {
async get(context) {
- const endPoint = 'apps/polls/preferences'
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await UserSettingsAPI.getUserSettings()
if (response.data.preferences.defaultViewTextPoll === 'desktop') {
response.data.preferences.defaultViewTextPoll = 'table-view'
}
@@ -148,18 +143,14 @@ const actions = {
async setPollCombo(context, payload) {
await context.commit('setPollCombo', {
- headers: { Accept: 'application/json' },
pollCombo: payload.pollCombo,
})
context.dispatch('write')
},
async write(context) {
- const endPoint = 'apps/polls/preferences'
try {
- const response = await axios.post(generateUrl(endPoint), {
- settings: context.state.user,
- }, axiosDefaultConfig)
+ const response = await UserSettingsAPI.writeUserSettings(context.state.user)
context.commit('setPreference', response.data.preferences)
} catch (e) {
console.error('Error writing preferences', { error: e.response }, { preferences: state.user })
@@ -168,8 +159,7 @@ const actions = {
},
async getCalendars(context) {
- const endPoint = 'apps/polls/calendars'
- const response = await axios.get(generateUrl(endPoint), axiosDefaultConfig)
+ const response = await CalendarAPI.getCalendars()
context.commit('setCalendars', { calendars: response.data.calendars })
return response
},
diff --git a/src/js/store/modules/share.js b/src/js/store/modules/share.js
index 43b50adb..e671f938 100644
--- a/src/js/store/modules/share.js
+++ b/src/js/store/modules/share.js
@@ -21,10 +21,7 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import { setCookie } from '../../helpers/cookieHelper.js'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { PublicAPI } from '../../Api/public.js'
const defaultShares = () => ({
displayName: '',
@@ -62,13 +59,8 @@ const actions = {
return
}
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/share`
-
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await PublicAPI.getShare(context.rootState.route.params.token)
context.commit('set', { share: response.data.share })
return response.data
} catch (e) {
@@ -77,42 +69,13 @@ const actions = {
}
},
- async register(context, payload) {
- if (context.rootState.route.name !== 'publicVote') {
- return
- }
-
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/register`
-
- try {
- const response = await axios.post(generateUrl(endPoint), {
- userName: payload.userName,
- emailAddress: payload.emailAddress,
- timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
- }, axiosDefaultConfig)
-
- if (payload.saveCookie && context.state.type === 'public') {
- const cookieExpiration = (30 * 24 * 60 * 1000)
- setCookie(context.rootState.route.params.token, response.data.share.token, cookieExpiration)
- }
-
- return { token: response.data.share.token }
-
- } catch (e) {
- console.error('Error writing personal share', { error: e.response }, { payload })
- throw e
- }
- },
-
async updateEmailAddress(context, payload) {
if (context.rootState.route.name !== 'publicVote') {
return
}
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/email/${payload.emailAddress}`
-
try {
- const response = await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ const response = await PublicAPI.setEmail(context.rootState.route.params.token, payload.emailAddress)
context.commit('set', { share: response.data.share })
context.dispatch('poll/get', null, { root: true })
} catch (e) {
@@ -126,10 +89,8 @@ const actions = {
return
}
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/name/${payload.displayName}`
-
try {
- const response = await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ const response = await PublicAPI.setDisplayName(context.rootState.route.params.token, payload.displayName)
context.commit('set', { share: response.data.share })
context.dispatch('poll/get', null, { root: true })
context.dispatch('comments/list', null, { root: true })
@@ -146,10 +107,8 @@ const actions = {
return
}
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/email`
-
try {
- const response = await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ const response = PublicAPI.deleteEmailAddress(context.rootState.route.params.token)
context.commit('set', { share: response.data.share })
context.dispatch('subscription/update', false, { root: true })
context.dispatch('poll/get', null, { root: true })
@@ -164,10 +123,8 @@ const actions = {
return
}
- const endPoint = `apps/polls/s/${context.rootState.route.params.token}/resend`
-
try {
- return await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ return await PublicAPI.resendInvitation(context.rootState.route.params.token)
} catch (e) {
console.error('Error sending invitation', { error: e.response }, { payload })
throw e
diff --git a/src/js/store/modules/shares.js b/src/js/store/modules/shares.js
index 8095cb36..9fce6d73 100644
--- a/src/js/store/modules/shares.js
+++ b/src/js/store/modules/shares.js
@@ -21,9 +21,7 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { SharesAPI } from '../../Api/shares.js'
const defaultShares = () => ({
list: [],
@@ -72,13 +70,8 @@ const getters = {
const actions = {
async list(context) {
- const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/shares`
-
try {
- const response = await axios.get(generateUrl(endPoint), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ const response = await SharesAPI.getShares(context.rootState.route.params.id)
context.commit('set', response.data)
} catch (e) {
console.error('Error loading shares', { error: e.response }, { pollId: context.rootState.route.params.id })
@@ -87,10 +80,8 @@ const actions = {
},
async add(context, payload) {
- const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/share`
-
try {
- await axios.post(generateUrl(endPoint), payload.share, axiosDefaultConfig)
+ await SharesAPI.addShare(context.rootState.route.params.id, payload.share)
} catch (e) {
console.error('Error writing share', { error: e.response }, { payload })
throw e
@@ -100,18 +91,12 @@ const actions = {
},
async switchAdmin(context, payload) {
- let endPoint = `apps/polls/share/${payload.share.token}`
-
- if (payload.share.type === 'admin') {
- endPoint = `${endPoint}/user`
- } else if (payload.share.type === 'user') {
- endPoint = `${endPoint}/admin`
- }
+ const setTo = payload.share.type === 'user' ? 'admin' : 'user'
try {
- await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ await SharesAPI.switchAdmin(payload.share.token, setTo)
} catch (e) {
- console.error('Error switching type', { error: e.response }, { payload })
+ console.error(`Error switching type to ${setTo}`, { error: e.response }, { payload })
throw e
} finally {
context.dispatch('list')
@@ -119,10 +104,8 @@ const actions = {
},
async setPublicPollEmail(context, payload) {
- const endPoint = `apps/polls/share/${payload.share.token}/publicpollemail/${payload.value}`
-
try {
- await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ await SharesAPI.setEmailAddressConstraint(payload.share.token, payload.value)
} catch (e) {
console.error('Error changing email register setting', { error: e.response }, { payload })
throw e
@@ -132,10 +115,8 @@ const actions = {
},
async sendInvitation(context, payload) {
- const endPoint = `apps/polls/share/${payload.share.token}/invite`
-
try {
- return await axios.post(generateUrl(endPoint), null, axiosDefaultConfig)
+ return await SharesAPI.sendInvitation(payload.share.token)
} catch (e) {
console.error('Error sending invitation', { error: e.response }, { payload })
throw e
@@ -145,10 +126,9 @@ const actions = {
},
async resolveGroup(context, payload) {
- const endPoint = `apps/polls/share/${payload.share.token}/resolve`
try {
- await axios.get(generateUrl(endPoint), axiosDefaultConfig)
+ await SharesAPI.resolveShare(payload.share.token)
} catch (e) {
console.error('Error exploding group', e.response.data, { error: e.response }, { payload })
throw e
@@ -158,12 +138,9 @@ const actions = {
},
async delete(context, payload) {
- const endPoint = `apps/polls/share/${payload.share.token}`
-
context.commit('delete', { share: payload.share })
-
try {
- await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ await SharesAPI.deleteShare(payload.share.token)
} catch (e) {
console.error('Error removing share', { error: e.response }, { payload })
throw e
diff --git a/src/js/store/modules/subscription.js b/src/js/store/modules/subscription.js
index 3a531066..837c1736 100644
--- a/src/js/store/modules/subscription.js
+++ b/src/js/store/modules/subscription.js
@@ -21,9 +21,8 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { PollsAPI } from '../../Api/polls.js'
+import { PublicAPI } from '../../Api/public.js'
const defaultSubscription = () => ({
subscribed: false,
@@ -47,22 +46,16 @@ const mutations = {
const actions = {
async get(context) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}/subscription`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}/subscription`
- } else {
- context.commit('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.getSubscription(context.rootState.route.token)
+ } else if (context.rootState.route.name === 'vote') {
+ response = await PollsAPI.getSubscription(context.rootState.route.params.id)
+ } else {
+ context.commit('reset')
+ return
+ }
context.commit('set', response.data)
} catch {
context.commit('set', false)
@@ -70,19 +63,16 @@ const actions = {
},
async update(context, payload) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}${payload ? '/subscribe' : '/unsubscribe'}`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}${payload ? '/subscribe' : '/unsubscribe'}`
- } else {
- context.commit('reset')
- return
- }
-
try {
- const response = await axios.put(generateUrl(endPoint), null, axiosDefaultConfig)
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = PublicAPI.setSubscription(context.rootState.route.params.token)
+ } else if (context.rootState.route.name === 'vote') {
+ response = PollsAPI.setSubscription(context.rootState.route.params.id)
+ } else {
+ context.commit('reset')
+ return
+ }
context.commit('set', response.data)
} catch (e) {
console.error(e.response)
diff --git a/src/js/store/modules/votes.js b/src/js/store/modules/votes.js
index 9a7fb92d..16f94ed1 100644
--- a/src/js/store/modules/votes.js
+++ b/src/js/store/modules/votes.js
@@ -21,9 +21,8 @@
*
*/
-import axios from '@nextcloud/axios'
-import { generateUrl } from '@nextcloud/router'
-import axiosDefaultConfig from '../../helpers/AxiosDefault.js'
+import { VotesAPI } from '../../Api/votes.js'
+import { PublicAPI } from '../../Api/public.js'
const defaultVotes = () => ({
list: [],
@@ -81,21 +80,16 @@ const getters = {
const actions = {
async list(context) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.route.params.token}`
- } else if (context.rootState.route.name === 'vote') {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}`
- } else {
- context.commit('reset')
- return
- }
try {
- const response = await axios.get(generateUrl(`${endPoint}/votes`), {
- ...axiosDefaultConfig,
- params: { time: +new Date() },
- })
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = await PublicAPI.getVotes(context.rootState.route.params.token)
+ } else if (context.rootState.route.name === 'vote') {
+ response = await VotesAPI.getVotes(context.rootState.route.params.id)
+ } else {
+ context.commit('reset')
+ return
+ }
const votes = []
response.data.votes.forEach((vote) => {
if (vote.answer === 'yes') {
@@ -117,17 +111,13 @@ const actions = {
},
async set(context, payload) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.poll.acl.token}`
- }
-
try {
- const response = await axios.put(generateUrl(`${endPoint}/vote`), {
- optionId: payload.option.id,
- setTo: payload.setTo,
- }, axiosDefaultConfig)
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = await PublicAPI.setVote(context.rootState.route.params.token, payload.option.id, payload.setTo)
+ } else {
+ response = await VotesAPI.setVote(payload.option.id, payload.setTo)
+ }
context.commit('setItem', { option: payload.option, pollId: context.rootState.poll.id, vote: response.data.vote })
context.dispatch('options/list', null, { root: true })
context.dispatch('poll/get', null, { root: true })
@@ -144,16 +134,13 @@ const actions = {
},
async resetVotes(context) {
- let endPoint = 'apps/polls'
-
- if (context.rootState.route.name === 'publicVote') {
- endPoint = `${endPoint}/s/${context.rootState.poll.acl.token}/user`
- } else {
- endPoint = `${endPoint}/poll/${context.rootState.route.params.id}/user`
- }
-
try {
- const response = await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ let response = null
+ if (context.rootState.route.name === 'publicVote') {
+ response = await PublicAPI.removeVotes(context.rootState.route.params.token)
+ } else {
+ response = await VotesAPI.removeUser(context.rootState.route.params.id)
+ }
context.commit('deleteVotes', { userId: response.data.deleted })
} catch (e) {
console.error('Error deleting votes', { error: e.response })
@@ -162,9 +149,8 @@ const actions = {
},
async deleteUser(context, payload) {
- const endPoint = `apps/polls/poll/${context.rootState.route.params.id}/user/${payload.userId}`
try {
- await axios.delete(generateUrl(endPoint), axiosDefaultConfig)
+ await VotesAPI.removeUser(context.rootState.route.params.id, payload.userId)
context.commit('deleteVotes', payload)
} catch (e) {
console.error('Error deleting votes', { error: e.response }, { payload })