refactor: enhance appointment flow by adding selected slot and date management across components
This commit is contained in:
+17
-3
@@ -4,17 +4,31 @@ import "react-toastify/dist/ReactToastify.css";
|
||||
|
||||
const BASE_URL = process.env.NEXT_PUBLIC_API_URL;
|
||||
|
||||
const token = Cookies.get("access_token");
|
||||
|
||||
const api = axios.create({
|
||||
baseURL: BASE_URL,
|
||||
"X-CSRF-Token": "",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: token ? `Bearer ${token}` : "",
|
||||
},
|
||||
});
|
||||
|
||||
// اضافه کردن interceptor برای افزودن token به ریکوستهایی که نیاز به احراز هویت دارند
|
||||
api.interceptors.request.use(
|
||||
(config) => {
|
||||
// فقط اگر requireAuth در config تنظیم شده باشد، token اضافه میشود
|
||||
if (config.requireAuth) {
|
||||
const token = Cookies.get("access_token");
|
||||
if (token) {
|
||||
config.headers.Authorization = `Bearer ${token}`;
|
||||
}
|
||||
}
|
||||
return config;
|
||||
},
|
||||
(error) => {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
api.interceptors.response.use(
|
||||
(response) => {
|
||||
return response.data;
|
||||
|
||||
+7
-15
@@ -35,21 +35,13 @@ export const request = {
|
||||
},
|
||||
});
|
||||
},
|
||||
getUserProfile: (uuid) => api.get(`/api/v1/user-profile/${uuid}`),
|
||||
postUserProfile: (data) => api.post("api/v1/user-profile", data),
|
||||
patchUserProfile: (data, uuid, token) =>
|
||||
api.patch(
|
||||
`api/v1/user-profile/${uuid}`,
|
||||
data,
|
||||
token && {
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
},
|
||||
}
|
||||
),
|
||||
getUserInfo: (headers) => api.get("oauth/userinfo", headers),
|
||||
getInsuranceType: () =>
|
||||
api.get("api/v1/categorys/insurance_type", removeTokenHead),
|
||||
getUserProfile: (uuid) => api.get(`/api/v1/user-profile/${uuid}`, { requireAuth: true }),
|
||||
postUserProfile: (data) => api.post("api/v1/user-profile", data, { requireAuth: true }),
|
||||
patchUserProfile: (data, uuid) =>
|
||||
api.patch(`api/v1/user-profile/${uuid}`, data, { requireAuth: true }),
|
||||
getUserInfo: (headers) => api.get("oauth/userinfo", { ...headers, requireAuth: true }),
|
||||
getInsuranceType: (page = 1, limit = 10) =>
|
||||
api.get(`api/v1/categorys/insurance_type?page=${page}&limit=${limit}`, removeTokenHead),
|
||||
getDoctors: (params) =>
|
||||
api.get("api/v1/doctors", {
|
||||
params,
|
||||
|
||||
Reference in New Issue
Block a user