UNPKG

@entityauth/auth-client

Version:

TypeScript/JavaScript client SDK for Entity Auth - complete authentication infrastructure with organizations, sessions, and real-time security

146 lines (144 loc) 3.94 kB
type LoginInput = { email: string; password: string; /** * @deprecated Configure tenantId once via EntityAuth.init({ tenantId }). */ tenantId?: string; }; type LoginOutput = { accessToken: string; userId: string; sessionId: string; } | { accessToken: string; refreshToken: string; userId: string; sessionId: string; }; declare function init(options: { tenantId: string; baseURL?: string; }): void; declare class EntityAuthClient { private readonly baseURL; private accessToken; private readonly tokenListeners; private refreshInFlight; constructor(options?: { baseURL?: string; }); getAccessToken(): string | null; onTokenChange(listener: (token: string | null) => void): () => void; private setAccessToken; applyAccessToken(token: string): void; fetch(input: string, init?: RequestInit): Promise<Response>; private refreshSingleFlight; register(input: { email: string; password: string; tenantId?: string; }): Promise<unknown>; login(input: LoginInput): Promise<{ accessToken: string; userId: string; sessionId: string; } | { accessToken: string; refreshToken: string; userId: string; sessionId: string; }>; refresh(headerRefreshToken?: string): Promise<unknown>; logout(): Promise<unknown>; getOpenAPI(): Promise<unknown>; graphql<T = unknown>(query: string, variables?: Record<string, unknown>): Promise<T>; createOrg(input: { tenantId?: string; name: string; slug: string; ownerId: string; }): Promise<any>; addMember(input: { orgId: string; userId: string; role: string; }): Promise<any>; switchOrg(input: { orgId: string; }): Promise<any>; getUserOrganizations(): Promise<any>; getCurrentTenantId(): Promise<any>; setUsername(input: { username: string; }): Promise<any>; checkUsername(input: { value: string; }): Promise<{ valid: boolean; available: boolean; }>; getUserMe(): Promise<any>; userByUsername(input: { username: string; }): Promise<any>; userByEmail(input: { email: string; }): Promise<any>; getConvexConfig(): Promise<any>; openapi(): Promise<unknown>; getCurrentSession(): Promise<any>; listSessions(options?: { includeRevoked?: boolean; }): Promise<any>; getSessionById(input: { id: string; }): Promise<any>; revokeSession(input: { sessionId: string; }): Promise<any>; revokeSessionsByUser(input: { userId: string; }): Promise<any>; } declare const SDK: { register(input: { email: string; password: string; tenantId?: string; }): Promise<unknown>; login(input: LoginInput): Promise<LoginOutput>; refresh(headerRefreshToken?: string): Promise<unknown>; logout(): Promise<unknown>; createOrg(input: { tenantId?: string; name: string; slug: string; ownerId: string; }): Promise<unknown>; addMember(input: { orgId: string; userId: string; role: string; }): Promise<unknown>; switchOrg(input: { orgId: string; }): Promise<unknown>; getUserOrganizations(): Promise<unknown>; getCurrentTenantId(): Promise<string>; openapi(): Promise<unknown>; getCurrentSession(): Promise<unknown>; listSessions(options?: { includeRevoked?: boolean; }): Promise<unknown>; getSessionById(input: { id: string; }): Promise<unknown>; revokeSession(input: { sessionId: string; }): Promise<unknown>; revokeSessionsByUser(input: { userId: string; }): Promise<unknown>; }; export { EntityAuthClient, type LoginInput, type LoginOutput, SDK, init };