From fd761d64b9c5178fed1ecb1c0d01ba40b778689b Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 5 Jul 2023 15:13:02 +0700 Subject: [PATCH] a bit better form --- frontend/src/lib/i18n/locales/en.json | 5 +++- .../src/routes/(authenticated)/user/+page.ts | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/i18n/locales/en.json b/frontend/src/lib/i18n/locales/en.json index e68dfe1de..c3e93c8d9 100644 --- a/frontend/src/lib/i18n/locales/en.json +++ b/frontend/src/lib/i18n/locales/en.json @@ -41,7 +41,10 @@ "success": "Success: your account has been updated", "button_update": "Update account info", "more_settings": "More Settings", - "delete_account": "Delete Account" + "delete_account": "Delete Account", + "delete_user": "delete account", + "delete_user_label": "Enter 'delete account' to delete your account.", + "keyphrase": "delete account" }, "appbar": { "app_name": "Language Depot" diff --git a/frontend/src/routes/(authenticated)/user/+page.ts b/frontend/src/routes/(authenticated)/user/+page.ts index 0af4f42a8..c91b11574 100644 --- a/frontend/src/routes/(authenticated)/user/+page.ts +++ b/frontend/src/routes/(authenticated)/user/+page.ts @@ -2,6 +2,8 @@ import type { $OpResult, ChangeUserAccountDataMutation, ChangeUserAccountDataInput, + DeleteUserByUserMutation, + DeleteUserByUserInput } from '$lib/gql/types'; import { getClient, graphql } from '$lib/gql'; @@ -39,3 +41,27 @@ export async function _changeUserAccountData(input: ChangeUserAccountDataInput): } return result; } +export async function _deleteUserByUser(input: DeleteUserByUserInput): $OpResult { + //language=GraphQL + const result = await getClient() + .mutation( + graphql(` + mutation DeleteUserByUser($input: DeleteUserByUserInput!) { + deleteUserByUser(input: $input) { + user { + id + } + errors { + ... on Error { + message + } + } + } + } + `), + { input: input }, + //invalidates the graphql user cache, but who knows + { additionalTypenames: ['Users'] }, + ); + return result; +}