feat: add forgot password flow and reusable password field

This commit is contained in:
2026-06-17 16:55:10 +05:30
parent 4c2241ff72
commit b325975282
15 changed files with 541 additions and 44 deletions

View File

@@ -1,8 +1,10 @@
import type {
AuthResponseData,
ForgotPasswordPayload,
LoginPayload,
MeResponse,
PermissionResponse,
SetPasswordPayload,
} from '@/types';
import { API_ROUTES } from '@/constants/apiRoutes';
import axiosClient, { axiosAuth } from '../axios/axios';
@@ -41,4 +43,25 @@ export const authService = {
);
return response.data;
},
forgotPassword: async (payload: ForgotPasswordPayload): Promise<unknown> => {
const response = await axiosAuth.post(
API_ROUTES.AUTH.FORGOT_PASSWORD,
payload,
);
return response.data;
},
resetPassword: async (payload: SetPasswordPayload): Promise<unknown> => {
const response = await axiosAuth.post(
API_ROUTES.AUTH.RESET_PASSWORD,
payload,
);
return response.data;
},
setPassword: async (payload: SetPasswordPayload): Promise<unknown> => {
const response = await axiosAuth.post(
API_ROUTES.AUTH.SET_PASSWORD,
payload,
);
return response.data;
},
};

View File

@@ -36,7 +36,10 @@ axiosClient.interceptors.response.use(
const requestUrl = originalRequest?.url ?? '';
const isAuthRoute =
requestUrl.includes('api/auth/login') ||
requestUrl.includes('api/auth/refresh');
requestUrl.includes('api/auth/refresh') ||
requestUrl.includes('api/auth/forget-password') ||
requestUrl.includes('api/auth/reset-password') ||
requestUrl.includes('api/auth/set-password');
if (
status === 401 &&