UNPKG

@qite/tide-client

Version:
77 lines (65 loc) 2.18 kB
import { TideClientConfig } from ".."; import { MemberConfirmationRequest, MemberForgotPasswordRequest, MemberLoginRequest, MemberLoginResponse, MemberResetPasswordRequest, } from "../types"; import { post } from "./common-client"; import { post as apiPost } from "./api"; const ENDPOINT = "/api/member"; const ENDPOINT_LOGIN = `${ENDPOINT}/login`; const ENDPOINT_LOGOUT = `${ENDPOINT}/logout`; const ENDPOINT_CONFIRM = `${ENDPOINT}/confirm`; const ENDPOINT_FORGOT_PASSWORD = `${ENDPOINT}/forgot-password`; const ENDPOINT_RESET_PASSWORD = `${ENDPOINT}/reset-password`; export const login = ( config: TideClientConfig, request: MemberLoginRequest, signal?: AbortSignal ): Promise<MemberLoginResponse> => { const url = `${config.host}${ENDPOINT_LOGIN}`; const apiKey = config.apiKey; const body = JSON.stringify(request); return post(url, apiKey, body, config.token, signal); }; export const logout = ( config: TideClientConfig, signal?: AbortSignal ): Promise<Response> => { const url = `${config.host}${ENDPOINT_LOGOUT}`; const apiKey = config.apiKey; const body = ""; return apiPost(url, apiKey, body, config.token, signal); }; export const confirm = ( config: TideClientConfig, request: MemberConfirmationRequest, signal?: AbortSignal ): Promise<Response> => { const url = `${config.host}${ENDPOINT_CONFIRM}`; const apiKey = config.apiKey; const body = JSON.stringify(request); return apiPost(url, apiKey, body, config.token, signal); }; export const forgotPassword = ( config: TideClientConfig, request: MemberForgotPasswordRequest, signal?: AbortSignal ): Promise<Response> => { const url = `${config.host}${ENDPOINT_FORGOT_PASSWORD}`; const apiKey = config.apiKey; const body = JSON.stringify(request); return apiPost(url, apiKey, body, config.token, signal); }; export const resetPassword = ( config: TideClientConfig, request: MemberResetPasswordRequest, signal?: AbortSignal ): Promise<Response> => { const url = `${config.host}${ENDPOINT_RESET_PASSWORD}`; const apiKey = config.apiKey; const body = JSON.stringify(request); return apiPost(url, apiKey, body, config.token, signal); };