From 51d255d15dca3d5d253221bfcdd9a27c988692c1 Mon Sep 17 00:00:00 2001 From: April Hall Date: Sat, 15 Feb 2025 21:01:23 -0500 Subject: [PATCH] feat: Delete account functionality --- src/lib/server/db/auth.ts | 5 +++++ src/routes/(main)/account/+page.server.ts | 11 +++++++++-- src/routes/(main)/account/+page.svelte | 3 +-- src/routes/goodbye/+page.svelte | 8 ++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/routes/goodbye/+page.svelte diff --git a/src/lib/server/db/auth.ts b/src/lib/server/db/auth.ts index ed03e88..3378989 100644 --- a/src/lib/server/db/auth.ts +++ b/src/lib/server/db/auth.ts @@ -3,6 +3,11 @@ import { username } from 'better-auth/plugins'; import Database from 'better-sqlite3'; export const auth = betterAuth({ + user: { + deleteUser: { + enabled: true, + }, + }, database: new Database('./src/lib/server/db/users.db'), emailAndPassword: { enabled: true, diff --git a/src/routes/(main)/account/+page.server.ts b/src/routes/(main)/account/+page.server.ts index a929cff..5ab010d 100644 --- a/src/routes/(main)/account/+page.server.ts +++ b/src/routes/(main)/account/+page.server.ts @@ -37,9 +37,16 @@ export const actions = { return fail(400, { newuserForm }); } - return message(newuserForm, 'Password updated.'); + return message(newuserForm, 'Username updated.'); }, updateProfilePhoto: async () => {}, - deleteAccount: async () => {}, + deleteAccount: async ({ request }) => { + auth.api.deleteUser({ + headers: request.headers, + body: {}, + }); + + redirect(303, '/goodbye'); + }, signOut: async () => {}, } satisfies Actions; diff --git a/src/routes/(main)/account/+page.svelte b/src/routes/(main)/account/+page.svelte index 1b29110..5db0d8e 100644 --- a/src/routes/(main)/account/+page.svelte +++ b/src/routes/(main)/account/+page.svelte @@ -1,5 +1,4 @@