@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
TypeScript
/**
* @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;