Files
supabase/apps/studio/data/auth/session-access-token-query.ts
2024-01-04 17:27:49 +01:00

30 lines
852 B
TypeScript

import { useQuery, UseQueryOptions } from '@tanstack/react-query'
import { authKeys } from './keys'
import { getAccessToken } from 'lib/gotrue'
export async function getSessionAccessToken() {
// ignore if server-side
if (typeof window === 'undefined') return ''
try {
return await getAccessToken()
} catch (e: any) {
// ignore the error
return null
}
}
export type SessionAccessTokenData = Awaited<ReturnType<typeof getSessionAccessToken>>
export type SessionAccessTokenError = unknown
export const useSessionAccessTokenQuery = <TData = SessionAccessTokenData>({
enabled = true,
...options
}: UseQueryOptions<SessionAccessTokenData, SessionAccessTokenError, TData> = {}) =>
useQuery<SessionAccessTokenData, SessionAccessTokenError, TData>(
authKeys.accessToken(),
() => getSessionAccessToken(),
options
)