From 486585890d674ce3e160d2a8f1e6835e181b0b08 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 16 Jan 2024 18:28:56 +0100 Subject: [feature] Move + alias account via settings panel (#2519) * [feature] Move + alias account via settings panel * lint * type a bit more diligently --- web/source/settings/lib/query/user/index.ts | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'web/source/settings/lib/query') diff --git a/web/source/settings/lib/query/user/index.ts b/web/source/settings/lib/query/user/index.ts index a7cdad2fd..8cf64197b 100644 --- a/web/source/settings/lib/query/user/index.ts +++ b/web/source/settings/lib/query/user/index.ts @@ -19,6 +19,10 @@ import { replaceCacheOnMutation } from "../query-modifiers"; import { gtsApi } from "../gts-api"; +import type { + MoveAccountFormData, + UpdateAliasesFormData +} from "../../types/migration"; const extended = gtsApi.injectEndpoints({ endpoints: (build) => ({ @@ -38,6 +42,30 @@ const extended = gtsApi.injectEndpoints({ url: `/api/v1/user/password_change`, body: data }) + }), + aliasAccount: build.mutation({ + async queryFn(formData, _api, _extraOpts, fetchWithBQ) { + // Pull entries out from the hooked form. + const entries: String[] = []; + formData.also_known_as_uris.forEach(entry => { + if (entry) { + entries.push(entry); + } + }); + + return fetchWithBQ({ + method: "POST", + url: `/api/v1/accounts/alias`, + body: { also_known_as_uris: entries }, + }); + } + }), + moveAccount: build.mutation({ + query: (data) => ({ + method: "POST", + url: `/api/v1/accounts/move`, + body: data + }) }) }) }); @@ -45,4 +73,6 @@ const extended = gtsApi.injectEndpoints({ export const { useUpdateCredentialsMutation, usePasswordChangeMutation, + useAliasAccountMutation, + useMoveAccountMutation, } = extended; -- cgit v1.2.3