From ddfb70adc2ac5153268338ce914502abce189cc9 Mon Sep 17 00:00:00 2001 From: Milas Holsting Date: Mon, 11 May 2026 13:08:37 +0200 Subject: [PATCH] move better-auth demo to auth dir --- src/routes/auth/+page.server.ts | 20 +++++ .../{demo/better-auth => auth}/+page.svelte | 0 src/routes/auth/login/+page.server.ts | 78 +++++++++++++++++++ .../better-auth => auth}/login/+page.svelte | 0 src/routes/demo/+page.svelte | 5 -- src/routes/demo/better-auth/+page.server.ts | 20 ----- .../demo/better-auth/login/+page.server.ts | 78 ------------------- 7 files changed, 98 insertions(+), 103 deletions(-) create mode 100644 src/routes/auth/+page.server.ts rename src/routes/{demo/better-auth => auth}/+page.svelte (100%) create mode 100644 src/routes/auth/login/+page.server.ts rename src/routes/{demo/better-auth => auth}/login/+page.svelte (100%) delete mode 100644 src/routes/demo/+page.svelte delete mode 100644 src/routes/demo/better-auth/+page.server.ts delete mode 100644 src/routes/demo/better-auth/login/+page.server.ts diff --git a/src/routes/auth/+page.server.ts b/src/routes/auth/+page.server.ts new file mode 100644 index 0000000..013b7b4 --- /dev/null +++ b/src/routes/auth/+page.server.ts @@ -0,0 +1,20 @@ +import { redirect } from '@sveltejs/kit'; +import type { Actions } from './$types'; +import type { PageServerLoad } from './$types'; +import { auth } from '$lib/server/auth'; + +export const load: PageServerLoad = (event) => { + if (!event.locals.user) { + return redirect(302, '/auth/login'); + } + return { user: event.locals.user }; +}; + +export const actions: Actions = { + signOut: async (event) => { + await auth.api.signOut({ + headers: event.request.headers + }); + return redirect(302, '/auth/login'); + } +}; diff --git a/src/routes/demo/better-auth/+page.svelte b/src/routes/auth/+page.svelte similarity index 100% rename from src/routes/demo/better-auth/+page.svelte rename to src/routes/auth/+page.svelte diff --git a/src/routes/auth/login/+page.server.ts b/src/routes/auth/login/+page.server.ts new file mode 100644 index 0000000..35c7c7c --- /dev/null +++ b/src/routes/auth/login/+page.server.ts @@ -0,0 +1,78 @@ +import { fail, redirect } from '@sveltejs/kit'; +import type { Actions } from './$types'; +import type { PageServerLoad } from './$types'; +import { auth } from '$lib/server/auth'; +import { APIError } from 'better-auth/api'; + +export const load: PageServerLoad = (event) => { + if (event.locals.user) { + return redirect(302, '/demo/auth'); + } + return {}; +}; + +export const actions: Actions = { + signInEmail: async (event) => { + const formData = await event.request.formData(); + const email = formData.get('email')?.toString() ?? ''; + const password = formData.get('password')?.toString() ?? ''; + + try { + await auth.api.signInEmail({ + body: { + email, + password, + callbackURL: '/auth/verification-success' + } + }); + } catch (error) { + if (error instanceof APIError) { + return fail(400, { message: error.message || 'Signin failed' }); + } + return fail(500, { message: 'Unexpected error' }); + } + + return redirect(302, '/demo/auth'); + }, + signUpEmail: async (event) => { + const formData = await event.request.formData(); + const email = formData.get('email')?.toString() ?? ''; + const password = formData.get('password')?.toString() ?? ''; + const name = formData.get('name')?.toString() ?? ''; + + try { + await auth.api.signUpEmail({ + body: { + email, + password, + name, + callbackURL: '/auth/verification-success' + } + }); + } catch (error) { + if (error instanceof APIError) { + return fail(400, { message: error.message || 'Registration failed' }); + } + return fail(500, { message: 'Unexpected error' }); + } + + return redirect(302, '/demo/auth'); + }, + signInSocial: async (event) => { + const formData = await event.request.formData(); + const provider = formData.get('provider')?.toString() ?? 'github'; + const callbackURL = formData.get('callbackURL')?.toString() ?? '/demo/auth'; + + const result = await auth.api.signInSocial({ + body: { + provider: provider as 'github', + callbackURL + } + }); + + if (result.url) { + return redirect(302, result.url); + } + return fail(400, { message: 'Social sign-in failed' }); + } +}; diff --git a/src/routes/demo/better-auth/login/+page.svelte b/src/routes/auth/login/+page.svelte similarity index 100% rename from src/routes/demo/better-auth/login/+page.svelte rename to src/routes/auth/login/+page.svelte diff --git a/src/routes/demo/+page.svelte b/src/routes/demo/+page.svelte deleted file mode 100644 index 948d26f..0000000 --- a/src/routes/demo/+page.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - -better-auth diff --git a/src/routes/demo/better-auth/+page.server.ts b/src/routes/demo/better-auth/+page.server.ts deleted file mode 100644 index 92a1f2e..0000000 --- a/src/routes/demo/better-auth/+page.server.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { redirect } from '@sveltejs/kit'; -import type { Actions } from './$types'; -import type { PageServerLoad } from './$types'; -import { auth } from '$lib/server/auth'; - -export const load: PageServerLoad = (event) => { - if (!event.locals.user) { - return redirect(302, '/demo/better-auth/login'); - } - return { user: event.locals.user }; -}; - -export const actions: Actions = { - signOut: async (event) => { - await auth.api.signOut({ - headers: event.request.headers - }); - return redirect(302, '/demo/better-auth/login'); - } -}; diff --git a/src/routes/demo/better-auth/login/+page.server.ts b/src/routes/demo/better-auth/login/+page.server.ts deleted file mode 100644 index d26badc..0000000 --- a/src/routes/demo/better-auth/login/+page.server.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { fail, redirect } from '@sveltejs/kit'; -import type { Actions } from './$types'; -import type { PageServerLoad } from './$types'; -import { auth } from '$lib/server/auth'; -import { APIError } from 'better-auth/api'; - -export const load: PageServerLoad = (event) => { - if (event.locals.user) { - return redirect(302, '/demo/better-auth'); - } - return {}; -}; - -export const actions: Actions = { - signInEmail: async (event) => { - const formData = await event.request.formData(); - const email = formData.get('email')?.toString() ?? ''; - const password = formData.get('password')?.toString() ?? ''; - - try { - await auth.api.signInEmail({ - body: { - email, - password, - callbackURL: '/auth/verification-success' - } - }); - } catch (error) { - if (error instanceof APIError) { - return fail(400, { message: error.message || 'Signin failed' }); - } - return fail(500, { message: 'Unexpected error' }); - } - - return redirect(302, '/demo/better-auth'); - }, - signUpEmail: async (event) => { - const formData = await event.request.formData(); - const email = formData.get('email')?.toString() ?? ''; - const password = formData.get('password')?.toString() ?? ''; - const name = formData.get('name')?.toString() ?? ''; - - try { - await auth.api.signUpEmail({ - body: { - email, - password, - name, - callbackURL: '/auth/verification-success' - } - }); - } catch (error) { - if (error instanceof APIError) { - return fail(400, { message: error.message || 'Registration failed' }); - } - return fail(500, { message: 'Unexpected error' }); - } - - return redirect(302, '/demo/better-auth'); - }, - signInSocial: async (event) => { - const formData = await event.request.formData(); - const provider = formData.get('provider')?.toString() ?? 'github'; - const callbackURL = formData.get('callbackURL')?.toString() ?? '/demo/better-auth'; - - const result = await auth.api.signInSocial({ - body: { - provider: provider as 'github', - callbackURL - } - }); - - if (result.url) { - return redirect(302, result.url); - } - return fail(400, { message: 'Social sign-in failed' }); - } -};