48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import {defineStore} from 'pinia';
|
|
|
|
export const useAccountStore = defineStore('account', {
|
|
state: () => ({}),
|
|
actions: {
|
|
update(username: string, email: string) {
|
|
return useApi("/account", {
|
|
method: "PUT",
|
|
body: {
|
|
email, username
|
|
}
|
|
});
|
|
},
|
|
updatePassword(currentPassword: string, newPassword: string, confirmationPassword: string) {
|
|
return useApi("/account/password", {
|
|
method: "PUT",
|
|
body: {
|
|
currentPassword, newPassword, confirmationPassword
|
|
}
|
|
});
|
|
},
|
|
requestPasswordReset(email: string) {
|
|
return useApi("/account/password/notify-reset-request", {
|
|
method: "POST",
|
|
body: {
|
|
email
|
|
}
|
|
}, false);
|
|
},
|
|
resetPassword(token: string, email: string, newPassword: string, confirmationPassword: string) {
|
|
return useApi("/account/password/reset", {
|
|
method: "POST",
|
|
body: {
|
|
token, email, newPassword, confirmationPassword
|
|
}
|
|
}, false);
|
|
},
|
|
create(username: string, email: string, password: string) {
|
|
return useApi("/auth/register", {
|
|
method: "POST",
|
|
body: {
|
|
username, email, password
|
|
}
|
|
}, false);
|
|
}
|
|
},
|
|
});
|