UNPKG

@vansite/ts-sharetribe-flex-sdk

Version:

This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.

113 lines (112 loc) 5.11 kB
/** * @fileoverview Client for managing the current authenticated user in the Sharetribe Marketplace API. * * This API allows users to view their profile, update personal info, change password/email, * verify email, and manage account lifecycle (signup, delete). * * @see https://www.sharetribe.com/api-reference/marketplace.html#current-user */ import type { AxiosResponse } from "axios"; import MarketplaceApi from "./index"; import { CurrentUserChangeEmailParameter, CurrentUserChangePasswordParameter, CurrentUserCreateParameter, CurrentUserCreateWithIdpParameter, CurrentUserDeleteParameter, CurrentUserResponse, CurrentUserSendVerificationEmailParameter, CurrentUserShowParameter, CurrentUserUpdateProfileParameter, CurrentUserVerifyEmailParameter, ExtraParameter } from "../../types"; /** * Current User API client */ declare class CurrentUser { readonly authRequired = true; private readonly axios; private readonly endpoint; private readonly headers; constructor(api: MarketplaceApi); /** * Fetch current user profile * * @template P * @param {P & CurrentUserShowParameter} params * @returns {Promise<AxiosResponse<CurrentUserResponse<"show", P>>>} */ show<P extends CurrentUserShowParameter>(params?: P): Promise<AxiosResponse<CurrentUserResponse<"show", P, { expand: true; }>>>; /** * Create a new user account (signup) * * @template P * @template EP * @param {P & CurrentUserCreateParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"create", P, EP>>>} */ create<P extends CurrentUserCreateParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"create", P, EP>>>; /** * Create account via external identity provider (Google, Facebook, etc.) * * @template P * @template EP * @param {P & CurrentUserCreateWithIdpParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"create_with_idp", P, EP>>>} */ createWithIdp<P extends CurrentUserCreateWithIdpParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"create_with_idp", P, EP>>>; /** * Update current user profile * * @template P * @template EP * @param {P & CurrentUserUpdateProfileParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"update_profile", P, EP>>>} */ updateProfile<P extends CurrentUserUpdateProfileParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"update_profile", P, EP>>>; /** * Change password * * @template P * @template EP * @param {P & CurrentUserChangePasswordParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"change_password", P, EP>>>} */ changePassword<P extends CurrentUserChangePasswordParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"change_password", P, EP>>>; /** * Change email address * * @template P * @template EP * @param {P & CurrentUserChangeEmailParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"change_email", P, EP>>>} */ changeEmail<P extends CurrentUserChangeEmailParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"change_email", P, EP>>>; /** * Verify email using token from email link * * @template P * @template EP * @param {P & CurrentUserVerifyEmailParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<CurrentUserResponse<"verify_email", P, EP>>>} */ verifyEmail<P extends CurrentUserVerifyEmailParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<CurrentUserResponse<"verify_email", P, EP>>>; /** * Resend email verification * * @returns {Promise<AxiosResponse<CurrentUserResponse<"send_verification_email">>>} */ sendVerificationEmail<P extends CurrentUserSendVerificationEmailParameter>(): Promise<AxiosResponse<CurrentUserResponse<"send_verification_email", P>>>; /** * Delete current user account * * @returns {Promise<AxiosResponse<CurrentUserResponse<"delete">>>} */ delete<P extends CurrentUserDeleteParameter>(): Promise<AxiosResponse<CurrentUserResponse<"delete", P>>>; /** * @deprecated Use `sdk.stripeAccount.create()` instead */ createStripeAccount(): never; /** * @deprecated Use `sdk.stripeAccount.update()` instead */ updateStripeAccount(): never; } export default CurrentUser;