diff --git a/src/components/EditAccount.vue b/src/components/EditAccount.vue index 8dcd8a83c62fb47f698908bce3f6ae0db638af49..988004cdcf29f3e2e4b38ebba0b05e5f78a48b30 100644 --- a/src/components/EditAccount.vue +++ b/src/components/EditAccount.vue @@ -95,8 +95,16 @@ export default { alert("Du må bekrefte at du vil slette konto ved å huke av boksen") } else { - alert("(Denne knappen gjør ingen ting) men account deleted") - API.deleteAccount(this.user.id, token); + const id = this.user.id; + API.deleteAccount( + id + ).then((savedUser)=>{ + useAuthStore().setUser(savedUser); + alert("Bruker oppdatert.") + }).catch((error)=> { + alert("Det oppsto en feil ved sletting av bruker") + console.log(error) + }) } }, } diff --git a/src/util/API.js b/src/util/API.js index 7489117cd1d47546c2d0717739561f5165373106..dbded43def7acd63b54f38f9b9247ea4008cab15 100644 --- a/src/util/API.js +++ b/src/util/API.js @@ -110,15 +110,21 @@ export const API = { * @param token * @returns {Promise<*>} */ - deleteAccount: async (id, token) => { - return axios.delete(`${import.meta.env.VITE_BACKEND_URL}/account/{id}`, { - headers: { Authorization: `Bearer ${token}` }, + deleteAccount: async (id) => { + const authStore = useAuthStore(); + if (!authStore.isLoggedIn) { + throw new Error(); + } + + return axios.delete(`${import.meta.env.VITE_BACKEND_URL}/account/${id}`, { + headers: { Authorization: `Bearer ${authStore.token}` }, }) - .then((response) => { - return response.data; + .then(() => { + authStore.logout() + router.push('/login') }) .catch(() => { - throw new Error("Account not found or not accessible"); + throw new Error(""); }); },