@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.
51 lines (50 loc) • 1.95 kB
TypeScript
/**
* @fileoverview Client for password reset operations in the Sharetribe Marketplace API.
*
* Use this to request a password-reset email and to complete the password reset flow.
*
* @see https://www.sharetribe.com/api-reference/marketplace.html#password-reset
*/
import type { AxiosResponse } from "axios";
import MarketplaceApi from "./index";
import { ExtraParameter, PasswordResetRequestParameter, PasswordResetResetParameter, PasswordResetResponse } from "../../types";
/**
* Password Reset API client
*/
declare class PasswordReset {
private readonly axios;
private readonly endpoint;
private readonly headers;
constructor(api: MarketplaceApi);
/**
* Request a password-reset email
*
* @template P
* @template EP
* @param {P & PasswordResetRequestParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<PasswordResetResponse<"request", EP>>>}
*
* @example
* await sdk.passwordReset.request({ email: "user@example.com" });
*/
request<P extends PasswordResetRequestParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<PasswordResetResponse<"request", EP>>>;
/**
* Complete password reset using the token received by email
*
* @template P
* @template EP
* @param {P & PasswordResetResetParameter} params
* @param {EP} [extraParams]
* @returns {Promise<AxiosResponse<PasswordResetResponse<"reset", EP>>>}
*
* @example
* await sdk.passwordReset.reset({
* email: "user@example.com",
* passwordResetToken: "abc123...",
* newPassword: "newSecurePassword123"
* });
*/
reset<P extends PasswordResetResetParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<PasswordResetResponse<"reset", EP>>>;
}
export default PasswordReset;