From ddb6fb9217789e90490a4ec1ce7a2dd9ced67631 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 24 Nov 2019 13:57:46 +0200 Subject: Backend Interactor service overhaul, removed the need for copypasting --- src/modules/statuses.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/modules/statuses.js') diff --git a/src/modules/statuses.js b/src/modules/statuses.js index f11ffdcd..6a743a4a 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -551,45 +551,45 @@ const statuses = { favorite ({ rootState, commit }, status) { // Optimistic favoriting... commit('setFavorited', { status, value: true }) - rootState.api.backendInteractor.favorite(status.id) + rootState.api.backendInteractor.favorite({ id: status.id }) .then(status => commit('setFavoritedConfirm', { status, user: rootState.users.currentUser })) }, unfavorite ({ rootState, commit }, status) { // Optimistic unfavoriting... commit('setFavorited', { status, value: false }) - rootState.api.backendInteractor.unfavorite(status.id) + rootState.api.backendInteractor.unfavorite({ id: status.id }) .then(status => commit('setFavoritedConfirm', { status, user: rootState.users.currentUser })) }, fetchPinnedStatuses ({ rootState, dispatch }, userId) { - rootState.api.backendInteractor.fetchPinnedStatuses(userId) + rootState.api.backendInteractor.fetchPinnedStatuses({ id: userId }) .then(statuses => dispatch('addNewStatuses', { statuses, timeline: 'user', userId, showImmediately: true, noIdUpdate: true })) }, pinStatus ({ rootState, dispatch }, statusId) { - return rootState.api.backendInteractor.pinOwnStatus(statusId) + return rootState.api.backendInteractor.pinOwnStatus({ id: statusId }) .then((status) => dispatch('addNewStatuses', { statuses: [status] })) }, unpinStatus ({ rootState, dispatch }, statusId) { - rootState.api.backendInteractor.unpinOwnStatus(statusId) + rootState.api.backendInteractor.unpinOwnStatus({ id: statusId }) .then((status) => dispatch('addNewStatuses', { statuses: [status] })) }, muteConversation ({ rootState, commit }, statusId) { - return rootState.api.backendInteractor.muteConversation(statusId) + return rootState.api.backendInteractor.muteConversation({ id: statusId }) .then((status) => commit('setMutedStatus', status)) }, unmuteConversation ({ rootState, commit }, statusId) { - return rootState.api.backendInteractor.unmuteConversation(statusId) + return rootState.api.backendInteractor.unmuteConversation({ id: statusId }) .then((status) => commit('setMutedStatus', status)) }, retweet ({ rootState, commit }, status) { // Optimistic retweeting... commit('setRetweeted', { status, value: true }) - rootState.api.backendInteractor.retweet(status.id) + rootState.api.backendInteractor.retweet({ id: status.id }) .then(status => commit('setRetweetedConfirm', { status: status.retweeted_status, user: rootState.users.currentUser })) }, unretweet ({ rootState, commit }, status) { // Optimistic unretweeting... commit('setRetweeted', { status, value: false }) - rootState.api.backendInteractor.unretweet(status.id) + rootState.api.backendInteractor.unretweet({ id: status.id }) .then(status => commit('setRetweetedConfirm', { status, user: rootState.users.currentUser })) }, queueFlush ({ rootState, commit }, { timeline, id }) { @@ -604,19 +604,19 @@ const statuses = { }, fetchFavsAndRepeats ({ rootState, commit }, id) { Promise.all([ - rootState.api.backendInteractor.fetchFavoritedByUsers(id), - rootState.api.backendInteractor.fetchRebloggedByUsers(id) + rootState.api.backendInteractor.fetchFavoritedByUsers({ id }), + rootState.api.backendInteractor.fetchRebloggedByUsers({ id }) ]).then(([favoritedByUsers, rebloggedByUsers]) => { commit('addFavs', { id, favoritedByUsers, currentUser: rootState.users.currentUser }) commit('addRepeats', { id, rebloggedByUsers, currentUser: rootState.users.currentUser }) }) }, fetchFavs ({ rootState, commit }, id) { - rootState.api.backendInteractor.fetchFavoritedByUsers(id) + rootState.api.backendInteractor.fetchFavoritedByUsers({ id }) .then(favoritedByUsers => commit('addFavs', { id, favoritedByUsers, currentUser: rootState.users.currentUser })) }, fetchRepeats ({ rootState, commit }, id) { - rootState.api.backendInteractor.fetchRebloggedByUsers(id) + rootState.api.backendInteractor.fetchRebloggedByUsers({ id }) .then(rebloggedByUsers => commit('addRepeats', { id, rebloggedByUsers, currentUser: rootState.users.currentUser })) }, search (store, { q, resolve, limit, offset, following }) { -- cgit v1.2.3-70-g09d2 From 13fc2612ae388dec682829ae2b6211bb3cb8ccb3 Mon Sep 17 00:00:00 2001 From: Wyatt Benno Date: Thu, 5 Dec 2019 11:48:37 +0900 Subject: Change 403 messaging --- src/components/timeline/timeline.js | 7 ++++++- src/components/timeline/timeline.vue | 19 ++++++++++++++++--- src/i18n/en.json | 2 ++ src/modules/statuses.js | 7 +++++++ src/services/api/api.service.js | 10 ++++++++-- .../timeline_fetcher/timeline_fetcher.service.js | 6 ++++++ 6 files changed, 45 insertions(+), 6 deletions(-) (limited to 'src/modules/statuses.js') diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js index 27a9a55e..6086336c 100644 --- a/src/components/timeline/timeline.js +++ b/src/components/timeline/timeline.js @@ -36,7 +36,12 @@ const Timeline = { } }, computed: { - timelineError () { return this.$store.state.statuses.error }, + timelineError () { + return this.$store.state.statuses.error + }, + error403 () { + return this.$store.state.statuses.error403 + }, newStatusCount () { return this.timeline.newStatusCount }, diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue index 93f6f570..1c45d0f6 100644 --- a/src/components/timeline/timeline.vue +++ b/src/components/timeline/timeline.vue @@ -11,15 +11,22 @@ > {{ $t('timeline.error_fetching') }} +
+ {{ $t('timeline.error_403') }} +
@@ -67,12 +74,18 @@ {{ $t('timeline.no_more_statuses') }}
+ + +
{{ $t('timeline.error_403') }}
@@ -74,17 +74,17 @@ {{ $t('timeline.no_more_statuses') }}
- +
({ notifications: emptyNotifications(), favorites: new Set(), error: false, - error403: false, + errorData: '', timelines: { mentions: emptyTl(), public: emptyTl(), @@ -480,8 +480,8 @@ export const mutations = { setError (state, { value }) { state.error = value }, - set403Error (state, { value }) { - state.error403 = value + setErrorData (state, { value }) { + state.errorData = value }, setNotificationsLoading (state, { value }) { state.notifications.loading = value @@ -532,8 +532,8 @@ const statuses = { setError ({ rootState, commit }, { value }) { commit('setError', { value }) }, - set403Error ({ rootState, commit }, { value }) { - commit('set403Error', { value }) + setErrorData ({ rootState, commit }, { value }) { + commit('setErrorData', { value }) }, setNotificationsLoading ({ rootState, commit }, { value }) { commit('setNotificationsLoading', { value }) diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index a2aa802f..45b63caf 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -532,10 +532,7 @@ const fetchTimeline = ({ return fetch(url, { headers: authHeaders(credentials) }) .then((data) => { - if (data.ok || data.status === 403) { - return data - } - throw new Error('Error fetching timeline', data) + return data }) .then((data) => data.json()) .then((data) => { diff --git a/src/services/timeline_fetcher/timeline_fetcher.service.js b/src/services/timeline_fetcher/timeline_fetcher.service.js index b7952050..1aaae563 100644 --- a/src/services/timeline_fetcher/timeline_fetcher.service.js +++ b/src/services/timeline_fetcher/timeline_fetcher.service.js @@ -6,7 +6,7 @@ const update = ({ store, statuses, timeline, showImmediately, userId }) => { const ccTimeline = camelCase(timeline) store.dispatch('setError', { value: false }) - store.dispatch('set403Error', { value: false }) + store.dispatch('setErrorData', { value: false }) store.dispatch('addNewStatuses', { timeline: ccTimeline, @@ -46,9 +46,9 @@ const fetchAndUpdate = ({ return apiService.fetchTimeline(args) .then((statuses) => { - // Change messaging if not public if (statuses.error) { - store.dispatch('set403Error', { value: statuses.error }) + console.log(statuses) + store.dispatch('setErrorData', { value: statuses.error }) return } if (!older && statuses.length >= 20 && !timelineData.loading && numStatusesBeforeFetch > 0) { -- cgit v1.2.3-70-g09d2 From 8ee80339555c53d45602f40fdbe6b487a6992515 Mon Sep 17 00:00:00 2001 From: Wyatt Benno Date: Mon, 9 Dec 2019 10:31:57 +0900 Subject: Set error data --- src/components/timeline/timeline.vue | 4 ++-- src/i18n/en.json | 1 - src/modules/statuses.js | 2 +- src/services/api/api.service.js | 7 ++++++- src/services/timeline_fetcher/timeline_fetcher.service.js | 4 ++-- 5 files changed, 11 insertions(+), 7 deletions(-) (limited to 'src/modules/statuses.js') diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue index d9f4025d..bb4ab379 100644 --- a/src/components/timeline/timeline.vue +++ b/src/components/timeline/timeline.vue @@ -16,7 +16,7 @@ class="loadmore-error alert error" @click.prevent > - {{ $t('timeline.error_403') }} + {{ errorData.statusText }}