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);
|
||
|
}
|
||
|
},
|
||
|
});
|