From 933173883a88cad3682cc43478a2a10ff8e21f41 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Tue, 9 Jul 2024 11:39:07 -0400 Subject: [PATCH] email change --- frontend/src/routes/settings/+page.server.ts | 28 ++++++++++++++++++++ frontend/src/routes/settings/+page.svelte | 24 +++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/frontend/src/routes/settings/+page.server.ts b/frontend/src/routes/settings/+page.server.ts index aabcdb8..efd758a 100644 --- a/frontend/src/routes/settings/+page.server.ts +++ b/frontend/src/routes/settings/+page.server.ts @@ -139,5 +139,33 @@ export const actions: Actions = { return fail(res.status, await res.json()); } return { success: true }; + }, + changeEmail: async (event) => { + if (!event.locals.user) { + return redirect(302, '/'); + } + if (!event.cookies.get('auth')) { + return redirect(302, '/'); + } + const formData = await event.request.formData(); + const new_email = formData.get('new_email') as string | null | undefined; + if (!new_email) { + return fail(400, { message: 'Email is required' }); + } else { + let res = await fetch(`${endpoint}/auth/change-email/`, { + method: 'POST', + headers: { + Cookie: event.cookies.get('auth') || '', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + new_email + }) + }); + if (!res.ok) { + return fail(res.status, await res.json()); + } + return { success: true }; + } } }; diff --git a/frontend/src/routes/settings/+page.svelte b/frontend/src/routes/settings/+page.svelte index 4da71db..66c4e89 100644 --- a/frontend/src/routes/settings/+page.svelte +++ b/frontend/src/routes/settings/+page.svelte @@ -118,6 +118,30 @@ +

Email Change

+
+
+ + +
+ + +
+
+ For Debug Use: Server PK={user.pk} | Date Joined: {user.date_joined ? new Date(user.date_joined).toDateString()