Skip to content

Commit 3f98640

Browse files
authored
fix(types): added explicit types annotations for serverSupabaseClient and serverSupabaseServiceRole (#411)
1 parent de06f15 commit 3f98640

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ export default defineNuxtModule<ModuleOptions>({
183183
inline: [resolve('./runtime')],
184184
})
185185
nitroConfig.alias['#supabase/server'] = resolveRuntimeModule('./server/services')
186+
nitroConfig.alias['#supabase/database'] = resolve(nitroConfig.buildDir!, 'types/supabase-database')
186187
})
187188

188189
addTemplate({

src/runtime/server/services/serverSupabaseClient.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import { createServerClient, parseCookieHeader, type CookieOptions } from '@supa
33
import { getHeader, setCookie, type H3Event } from 'h3'
44
import { fetchWithRetry } from '../../utils/fetch-retry'
55
import { useRuntimeConfig } from '#imports'
6-
import type { Database } from '#build/types/supabase-database'
6+
// @ts-expect-error - `#supabase/database` is a runtime alias
7+
import type { Database } from '#supabase/database'
78

8-
export const serverSupabaseClient = async <T = Database>(event: H3Event): Promise<SupabaseClient<T>> => {
9+
export const serverSupabaseClient: <T = Database>(event: H3Event) => Promise<SupabaseClient<T>> = async <T = Database>(event: H3Event) => {
910
// No need to recreate client if exists in request context
1011
if (!event.context._supabaseClient) {
1112
// get settings from runtime config
@@ -38,5 +39,5 @@ export const serverSupabaseClient = async <T = Database>(event: H3Event): Promis
3839
})
3940
}
4041

41-
return event.context._supabaseClient
42+
return event.context._supabaseClient as SupabaseClient<T>
4243
}

src/runtime/server/services/serverSupabaseServiceRole.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import type { SupabaseClient } from '@supabase/supabase-js'
22
import { createClient } from '@supabase/supabase-js'
33
import type { H3Event } from 'h3'
44
import { useRuntimeConfig } from '#imports'
5-
import type { Database } from '#build/types/supabase-database'
5+
// @ts-expect-error - `#supabase/database` is a runtime alias
6+
import type { Database } from '#supabase/database'
67

7-
export const serverSupabaseServiceRole = <T = Database>(event: H3Event): SupabaseClient<T> => {
8+
export const serverSupabaseServiceRole: <T = Database>(event: H3Event) => SupabaseClient<T> = <T = Database>(event: H3Event) => {
89
const {
910
supabase: { serviceKey },
1011
public: {

0 commit comments

Comments
 (0)