UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

59 lines (58 loc) 2.13 kB
import { QueryClient } from "@tanstack/react-query"; import { FrontendApi } from "../kratos"; import { TraitsConfig } from "../utils"; import { IdentityWithTypedTraits, SessionWithTypedUserTraits } from "./types"; export type BaseSessionManagerContructorProps = { queryClient: QueryClient; api: FrontendApi; }; /** * Manages Ory Kratos session and identity state with React Query integration. * * @param queryClient - React Query `QueryClient` instance for caching and fetching session data * @param api - Ory Kratos `FrontendApi` instance for session and identity requests * @example * ```typescript * import { QueryClient } from "@tanstack/react-query"; * import { FrontendApi } from "../kratos"; * import { BaseSessionManager } from "./baseSessionManager"; * * const queryClient = new QueryClient(); * const api = new FrontendApi(); * const sessionManager = new BaseSessionManager({ queryClient, api }); * ``` */ export declare class BaseSessionManager<TTraitsConfig extends TraitsConfig> { queryClient: QueryClient; api: FrontendApi; getSession: () => Promise<SessionWithTypedUserTraits<TTraitsConfig> | undefined>; getIdentity: () => Promise<IdentityWithTypedTraits<TTraitsConfig> | undefined>; getUserId: () => Promise<string | undefined>; isLoggedIn: () => Promise<boolean>; useSession: () => { session: SessionWithTypedUserTraits<TTraitsConfig> | undefined; isLoading: boolean; error: Error | null; }; useIdentity: () => { isLoading: boolean; error: Error | null; identity: IdentityWithTypedTraits<TTraitsConfig> | undefined; }; useUserId: () => { isLoading: boolean; error: Error | null; userId: string | undefined; }; useIsLoggedIn: () => { isLoggedIn: boolean | undefined; isLoading: boolean; error: Error | null; }; useIsAal2Required: () => { isAal2Required: boolean | undefined; isLoading: boolean; }; checkIfLoggedIn: () => Promise<void>; constructor({ queryClient, api }: BaseSessionManagerContructorProps); }