diff options
author | Santo Cariotti <santo@dcariotti.me> | 2022-09-26 16:09:10 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2022-09-26 16:09:10 +0200 |
commit | bc5f6c90015fe512af7cd56efccc8d91a386304d (patch) | |
tree | 2b952a1073e6971636e0baef65fdc9ca5768993d /store | |
parent | 216d68c6fc62c4fab783dafe927c9c6ef7cde313 (diff) |
Manager avatar
Diffstat (limited to 'store')
-rw-r--r-- | store/users.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/store/users.js b/store/users.js index e1f6767..cf1ca86 100644 --- a/store/users.js +++ b/store/users.js @@ -87,4 +87,58 @@ export const actions = { return res; }, + // Edit avatar + // FIX: use the right endpoint with `payload.id`, not `me` + async editAvatar({ commit, rootGetters }, payload) { + commit("loadingStatus", true, { root: true }); + let res = { status: 0, data: null }; + let api = this.$config.api; + + const body = new FormData(); + body.append("file", payload.file); + + await fetch(`${api}/v1/users/me/avatar`, { + method: "PUT", + headers: { + Authorization: `Bearer ${rootGetters["auth/accessToken"]}`, + }, + body, + }) + .then(async (response) => { + res.data = await response.json(); + res.status = response.status; + }) + .catch((e) => { + res.status = e.status; + }); + + commit("loadingStatus", false, { root: true }); + + return res; + }, + // Delete the avatar + // FIX: use the right endpoint with `id`, not `me` + async deleteAvatar({ commit, rootGetters }, id) { + commit("loadingStatus", true, { root: true }); + let res = { status: 0, data: null }; + let api = this.$config.api; + + await fetch(`${api}/v1/users/me/avatar`, { + method: "DELETE", + headers: { + Authorization: `Bearer ${rootGetters["auth/accessToken"]}`, + }, + }) + .then(async (response) => { + res.status = response.status; + if (res.status != 200) res.data = await response.json(); + }) + .catch((e) => { + res.status = e.status; + }); + + commit("loadingStatus", false, { root: true }); + + return res; + }, }; |