Fix setting report state, add proper error handling
This commit is contained in:
parent
3e6309ef94
commit
52c22e863e
|
@ -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",
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -1270,16 +1270,32 @@ 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': [
|
||||
{
|
||||
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)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue