UNPKG

@better-auth-ui/core

Version:

Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.

39 lines (38 loc) 2.92 kB
import { QueryClient, QueryOptions, skipToken } from '@tanstack/query-core'; import { InferData } from '../../lib/auth-client'; import { ApiKeyAuthClient } from './api-key-auth-client'; /** Data returned by Better Auth's API key get endpoint. */ export type GetApiKeyData<TAuthClient extends ApiKeyAuthClient = ApiKeyAuthClient> = InferData<TAuthClient["apiKey"]["get"]>; /** Parameters accepted by Better Auth's API key get endpoint. */ export type GetApiKeyParams<TAuthClient extends ApiKeyAuthClient = ApiKeyAuthClient> = Parameters<TAuthClient["apiKey"]["get"]>[0]; /** Query options for one API key, excluding the generated query key. */ export type GetApiKeyOptions<TAuthClient extends ApiKeyAuthClient = ApiKeyAuthClient> = Omit<QueryOptions<GetApiKeyData<TAuthClient>>, "queryKey"> & GetApiKeyParams<TAuthClient>; /** * Query options factory for one API key visible to the current user. * * @param authClient - The Better Auth API key client. * @param userId - The signed-in user's ID. Used for cache partitioning. * @param params - Parameters forwarded to `authClient.apiKey.get`. */ export declare function getApiKeyOptions<TAuthClient extends ApiKeyAuthClient>(authClient: TAuthClient, userId?: string, params?: GetApiKeyParams<TAuthClient>): { queryKey: readonly ["auth", "user", string | undefined, "apiKey", "detail", { id: string; configId?: string | undefined; } | null]; queryFn: typeof skipToken | (({ signal }: { client: QueryClient; queryKey: readonly unknown[]; signal: AbortSignal; meta: import('@tanstack/query-core').QueryMeta | undefined; pageParam?: unknown; direction?: unknown; }) => Promise<InferData<TAuthClient["apiKey"]["get"]>>); }; /** Get one API key from cache, fetching it when needed. */ export declare const ensureGetApiKey: <TAuthClient extends ApiKeyAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options: GetApiKeyOptions<TAuthClient>) => Promise<InferData<TAuthClient["apiKey"]["get"]>>; /** Prefetch one API key into the query cache. */ export declare const prefetchGetApiKey: <TAuthClient extends ApiKeyAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options: GetApiKeyOptions<TAuthClient>) => Promise<void>; /** Fetch and cache one API key, resolving with data or throwing. */ export declare const fetchGetApiKey: <TAuthClient extends ApiKeyAuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options: GetApiKeyOptions<TAuthClient>) => Promise<InferData<TAuthClient["apiKey"]["get"]>>; /** Read one API key synchronously from the query cache. */ export declare const getApiKey: <TAuthClient extends ApiKeyAuthClient = ApiKeyAuthClient>(queryClient: QueryClient, _authClient?: TAuthClient, userId?: string, params?: GetApiKeyParams<TAuthClient>) => InferData<TAuthClient["apiKey"]["get"]> | undefined;