UNPKG

streambird

Version:
127 lines (126 loc) 4.11 kB
import { AxiosInstance } from "axios"; import { Resource } from "../Resource"; export declare type CreateUserRequest = { firstName?: string | null; middleName?: string | null; lastName?: string | null; email?: string | null; walletType?: string | null; phoneNumber?: string | null; requiresVerification: boolean; includeUser?: boolean | false; }; export declare type CreateUserResponse = { userId: string | null; status: string | null; emailId: string | null; phoneNumberId: string | null; user: User | null; }; export declare type User = { userId: string | null; firstName: string | null; middleName: string | null; lastName: string | null; active: boolean | null; updatedAt: number | null; createdAt: number | null; emailId: string | null; phoneNumberId: string | null; emails?: Array<UserEmailResponse> | null; phoneNumbers?: Array<UserPhoneNumberResponse> | null; wallets?: Array<UserWalletResponse> | null; totps?: Array<UserTOTPAttribute> | null; idpProviders?: Array<UserIDPProvider> | null; }; export declare type UpdateUserRequest = { firstName?: string | null; middleName?: string | null; lastName?: string | null; emails?: Array<string>; phoneNumbers?: Array<string>; }; export declare type UpdateUserResponse = { userId: string; phoneNumbers: Array<UserPhoneNumberResponse>; emails: Array<UserEmailResponse>; user: User; }; export declare type UserEmailResponse = { id: string; verified: boolean; email: string; updatedAt: number; createdAt: number; }; export declare type UserPhoneNumberResponse = { id: string; verified: boolean; phoneNumber: string; updatedAt: number; createdAt: number; }; export declare type UserWalletResponse = { id: string; userId: string; publicAddress: string; walletType: string; isDefault: boolean; updatedAt: number; createdAt: number; }; export declare type UserTOTPAttribute = { id: string; userId: string; verified: boolean; updatedAt: number; createdAt: number; }; export declare type UserIDPProvider = { id: string; provider: string; providerSubject: string; idpType: string; methodId: string; methodType: string; updatedAt: number; createdAt: number; }; export declare type UserDeleteResponse = { userId: string; message: string; }; export declare type SearchUserRequest = { limit: number; startingAfter?: string; filters: SearchFilter; }; export declare type SearchUserResponse = { totalCount: number; hasMore: boolean; users: Array<User>; }; export declare type SearchFilter = { operator: 'AND' | 'OR'; fields: Array<SearchFilterField>; }; export declare type SearchFilterField = { field: 'user_id' | 'status' | 'full_name_match' | 'phone_number' | 'phone_number_id' | 'phone_number_match' | 'phone_number_verified' | 'email' | 'email_id' | 'email_verified' | 'email_match' | 'wallet_public_address' | 'wallet_id' | 'totp_id' | 'totp_verified' | 'idp_provider'; operator: 'eq' | 'between' | 'lt' | 'gt'; value?: any; secondValue?: any; values?: Array<any>; }; export declare class Users extends Resource<never> { constructor(axiosInstance: AxiosInstance); create(userRequest: CreateUserRequest): Promise<CreateUserResponse>; update(userId: string, options: UpdateUserRequest): Promise<UpdateUserResponse>; get(userId: string): Promise<User>; delete(userId: string): Promise<UserDeleteResponse>; deleteEmail(emailId: string): Promise<UserDeleteResponse>; deletePhoneNumber(phoneNumberId: string): Promise<UserDeleteResponse>; deleteWallet(walletId: string): Promise<UserDeleteResponse>; search(searchRequest: SearchUserRequest): Promise<SearchUserResponse>; deleteWebAuthn(webauthnCredentialId: string): Promise<any>; deleteTOTP(totpId: string): Promise<any>; }