From 94de247d5605790d5567415d8db9f07891c2f12e Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Tue, 3 Sep 2024 20:27:59 +0100 Subject: [PATCH] refactor(#29): Add strong typing to locals supabase --- src/hooks.server.ts | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index f49fd46..65c473d 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,23 +1,28 @@ import { PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY } from '$env/static/public'; import { createServerClient } from '@supabase/ssr'; import type { Handle } from '@sveltejs/kit'; +import type { Database } from '$lib/generated/supabase-schema'; export const handle: Handle = async ({ event, resolve }) => { - event.locals.supabase = createServerClient(PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY, { - cookies: { - getAll: () => event.cookies.getAll(), - /** - * SvelteKit's cookies API requires `path` to be explicitly set in - * the cookie options. Setting `path` to `/` replicates previous/ - * standard behavior. - */ - setAll: (cookiesToSet) => { - cookiesToSet.forEach(({ name, value, options }) => { - event.cookies.set(name, value, { ...options, path: '/' }); - }); + event.locals.supabase = createServerClient( + PUBLIC_SUPABASE_URL, + PUBLIC_SUPABASE_ANON_KEY, + { + cookies: { + getAll: () => event.cookies.getAll(), + /** + * SvelteKit's cookies API requires `path` to be explicitly set in + * the cookie options. Setting `path` to `/` replicates previous/ + * standard behavior. + */ + setAll: (cookiesToSet) => { + cookiesToSet.forEach(({ name, value, options }) => { + event.cookies.set(name, value, { ...options, path: '/' }); + }); + } } } - }); + ); /** * Unlike `supabase.auth.getSession()`, which returns the session _without_