Fix setting report state, add proper error handling

This commit is contained in:
Shpuld Shpuldson 2021-02-03 12:02:37 +02:00
parent 3e6309ef94
commit 52c22e863e
3 changed files with 34 additions and 12 deletions

View file

@ -63,6 +63,7 @@
"more": "More",
"loading": "Loading…",
"generic_error": "An error occured",
"generic_error_message": "An error occured: {0}",
"error_retry": "Please try again",
"retry": "Try again",
"optional": "optional",

View file

@ -41,7 +41,7 @@ const reports = {
closeUserReportingModal ({ commit }) {
commit('closeUserReportingModal')
},
setReportState ({ commit, rootState }, { id, state }) {
setReportState ({ commit, dispatch, rootState }, { id, state }) {
const oldState = rootState.reports.reports[id].state
console.log(oldState, state)
commit('setReportState', { id, state })
@ -49,8 +49,13 @@ const reports = {
console.log(report)
}).catch(e => {
console.error('Failed to set report state', e)
dispatch('pushGlobalNotice', {
level: 'error',
messageKey: 'general.generic_error_message',
messageArgs: [e.message],
timeout: 5000
})
commit('setReportState', { id, state: oldState })
console.log(oldState)
})
},
addReport ({ commit }, report) {

View file

@ -1270,18 +1270,34 @@ const deleteChatMessage = ({ chatId, messageId, credentials }) => {
}
const setReportState = ({ id, state, credentials }) => {
return promisedRequest({
url: PLEROMA_ADMIN_REPORTS,
// Can't use promisedRequest because on OK this does not return json
return fetch(PLEROMA_ADMIN_REPORTS, {
headers: {
...authHeaders(credentials),
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: 'PATCH',
payload: {
'reports': [
{
id,
state
}
]
}
body: JSON.stringify({
reports: [{
id,
state
}]
})
})
.then(data => {
if (data.status >= 500) {
throw Error(data.statusText)
} else if (data.status >= 400) {
return data.json()
}
return data
})
.then(data => {
if (data.errors) {
throw Error(data.errors[0].message)
}
})
}
const apiService = {