summaryrefslogtreecommitdiff
path: root/web/source/settings/lib/query
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-06-06 15:43:25 +0200
committerLibravatar GitHub <noreply@github.com>2024-06-06 14:43:25 +0100
commitbcda048eab799284fc46d74706334bf9ef76dc83 (patch)
treec4595fe5e6e6fd570d59cee7095a336f2e884344 /web/source/settings/lib/query
parentdrop date (#2969) (diff)
downloadgotosocial-bcda048eab799284fc46d74706334bf9ef76dc83.tar.xz
[feature] Self-serve email change for users (#2957)
* [feature] Email change * frontend stuff for changing email * docs * tests etc * differentiate more clearly between local user+account and account * populate user
Diffstat (limited to 'web/source/settings/lib/query')
-rw-r--r--web/source/settings/lib/query/user/index.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/web/source/settings/lib/query/user/index.ts b/web/source/settings/lib/query/user/index.ts
index 8c4e5215b..1f9070bfb 100644
--- a/web/source/settings/lib/query/user/index.ts
+++ b/web/source/settings/lib/query/user/index.ts
@@ -24,6 +24,7 @@ import type {
UpdateAliasesFormData
} from "../../types/migration";
import type { Theme } from "../../types/theme";
+import { User } from "../../types/user";
const extended = gtsApi.injectEndpoints({
endpoints: (build) => ({
@@ -37,6 +38,9 @@ const extended = gtsApi.injectEndpoints({
}),
...replaceCacheOnMutation("verifyCredentials")
}),
+ user: build.query<User, void>({
+ query: () => ({url: `/api/v1/user`})
+ }),
passwordChange: build.mutation({
query: (data) => ({
method: "POST",
@@ -44,6 +48,14 @@ const extended = gtsApi.injectEndpoints({
body: data
})
}),
+ emailChange: build.mutation<User, { password: string, new_email: string }>({
+ query: (data) => ({
+ method: "POST",
+ url: `/api/v1/user/email_change`,
+ body: data
+ }),
+ ...replaceCacheOnMutation("user")
+ }),
aliasAccount: build.mutation<any, UpdateAliasesFormData>({
async queryFn(formData, _api, _extraOpts, fetchWithBQ) {
// Pull entries out from the hooked form.
@@ -78,7 +90,9 @@ const extended = gtsApi.injectEndpoints({
export const {
useUpdateCredentialsMutation,
+ useUserQuery,
usePasswordChangeMutation,
+ useEmailChangeMutation,
useAliasAccountMutation,
useMoveAccountMutation,
useAccountThemesQuery,