完善邮件验证与密码重置安全流程
This commit is contained in:
@@ -7,6 +7,12 @@ import type {
|
||||
LoginResponse,
|
||||
LoginKeyResponse,
|
||||
RegisterRequest,
|
||||
EmailAvailabilityResponse,
|
||||
EmailDomainsResponse,
|
||||
EmailCodeVerifyResponse,
|
||||
PasswordResetCodeVerifyResponse,
|
||||
PasswordResetRequest,
|
||||
PasswordResetTokenRequest,
|
||||
} from "../types/api";
|
||||
|
||||
export const login = (payload: LoginRequest): Promise<AxiosResponse<LoginResponse>> =>
|
||||
@@ -20,9 +26,41 @@ export const getLoginKey = (): Promise<AxiosResponse<LoginKeyResponse>> =>
|
||||
|
||||
export const fetchMe = (): Promise<AxiosResponse<UserMeResponse>> => apiGet<UserMeResponse>("/api/v1/auth/me");
|
||||
|
||||
export const fetchEmailDomains = (): Promise<AxiosResponse<EmailDomainsResponse>> =>
|
||||
apiGet<EmailDomainsResponse>("/api/v1/auth/email-domains");
|
||||
|
||||
export const register = (payload: RegisterRequest): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/register", payload);
|
||||
|
||||
export const checkEmailAvailability = (email: string): Promise<AxiosResponse<EmailAvailabilityResponse>> =>
|
||||
apiGet<EmailAvailabilityResponse>("/api/v1/auth/register/email-availability", { params: { email } });
|
||||
|
||||
export const sendRegisterEmailCode = (email: string): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/register/email-code/send", { email });
|
||||
|
||||
export const verifyRegisterEmailCode = (email: string, code: string): Promise<AxiosResponse<EmailCodeVerifyResponse>> =>
|
||||
apiPost<EmailCodeVerifyResponse>("/api/v1/auth/register/email-code/verify", { email, code });
|
||||
|
||||
export const sendPasswordResetEmailCode = (email: string): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/password-reset/email-code/send", { email });
|
||||
|
||||
export const verifyPasswordResetEmailCode = (
|
||||
email: string,
|
||||
code: string
|
||||
): Promise<AxiosResponse<PasswordResetCodeVerifyResponse>> =>
|
||||
apiPost<PasswordResetCodeVerifyResponse>("/api/v1/auth/password-reset/email-code/verify", { email, code });
|
||||
|
||||
export const sendPasswordResetLink = (email: string): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/password-reset-link/send", { email });
|
||||
|
||||
export const resetPassword = (payload: PasswordResetRequest): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/password-reset", payload);
|
||||
|
||||
export const resetPasswordWithToken = (
|
||||
payload: PasswordResetTokenRequest
|
||||
): Promise<AxiosResponse<{ message: string }>> =>
|
||||
apiPost("/api/v1/auth/password-reset-link", payload);
|
||||
|
||||
export const updateProfile = (payload: {
|
||||
full_name?: string;
|
||||
clinical_department?: string;
|
||||
|
||||
Reference in New Issue
Block a user