UNPKG

@accounts/client

Version:

Fullstack authentication and accounts-management

38 lines (36 loc) 1.29 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>; }