UNPKG

@accounts/client

Version:

Fullstack authentication and accounts-management

24 lines (23 loc) 1.28 kB
import { type LoginResult, type ImpersonationUserIdentity, type ImpersonationResult, type CreateUser, type User, type CreateUserResult } from '@accounts/types'; import { type AccountsClient } from './accounts-client'; export interface TransportInterface { client: AccountsClient; createUser(user: CreateUser): Promise<CreateUserResult>; authenticateWithService(service: string, authenticateParams: { [key: string]: string | object; }): Promise<boolean>; loginWithService(service: string, authenticateParams: { [key: string]: string | object; }): Promise<LoginResult>; logout(): Promise<void>; getUser(): Promise<User>; refreshTokens(accessToken: string, refreshToken: string): Promise<LoginResult>; verifyEmail(token: string): Promise<void>; sendResetPasswordEmail(email: string): Promise<void>; sendVerificationEmail(email: string): Promise<void>; resetPassword(token: string, newPassword: string): Promise<LoginResult | null>; addEmail(newEmail: string): Promise<void>; changePassword(oldPassword: string, newPassword: string): Promise<void>; impersonate(token: string, impersonated: ImpersonationUserIdentity): Promise<ImpersonationResult>; requestMagicLinkEmail(email: string): Promise<void>; }