fix(doctor): correct rating/comment API paths to real backend routes
Doctor page logged a 404 on GET /api/v1/clinicpro/rate/{uuid}. The
frontend used a stale Drupal-era `clinicpro/` prefix; the Symfony API
exposes these under /api/v1 directly.
- response.js: rate/comments/like wrappers point to real routes
(rate/{uuid}, comments/{uuid}, POST rate, POST comment,
POST like/{commentUuid}); patch maps to POST upsert; writes use
requireAuth. Add getDoctorComments wrapper.
- doctor page: fetch comments from comments/{doctor.uuid} (was
clinicpro/comments/{doctor.id}) and unwrap double-nested data.
- ItemUser: postCommentsLike sends commentUuid for the toggle endpoint.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,13 +22,8 @@ function ItemUser({ update, setUpdate, data }) {
|
|||||||
if (type === "like") setLoadingLike(true);
|
if (type === "like") setLoadingLike(true);
|
||||||
else setLoadingDislike(true);
|
else setLoadingDislike(true);
|
||||||
|
|
||||||
const body = {
|
|
||||||
comment_id: data.id,
|
|
||||||
like: type === "like" ? 1 : 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await request.postCommentsLike(body);
|
const res = await request.postCommentsLike(data.uuid ?? data.id);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// err
|
// err
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -52,9 +52,9 @@ async function Doctor({ params }) {
|
|||||||
doctor = resDoctor.data?.data?.data;
|
doctor = resDoctor.data?.data?.data;
|
||||||
if (doctor) {
|
if (doctor) {
|
||||||
const resComments = await axiosInstance.get(
|
const resComments = await axiosInstance.get(
|
||||||
`${API_URL}/api/v1/clinicpro/comments/${doctor.id}`
|
`${API_URL}/api/v1/comments/${doctor.uuid}`
|
||||||
);
|
);
|
||||||
comments = resComments?.data?.data;
|
comments = resComments?.data?.data?.data;
|
||||||
}
|
}
|
||||||
} catch (error) {}
|
} catch (error) {}
|
||||||
|
|
||||||
|
|||||||
@@ -87,12 +87,13 @@ export const request = {
|
|||||||
}),
|
}),
|
||||||
getDoctorServices: () =>
|
getDoctorServices: () =>
|
||||||
api.get("api/v1/categorys/doctor_services", removeTokenHead),
|
api.get("api/v1/categorys/doctor_services", removeTokenHead),
|
||||||
postDoctorComment: (data) => api.post("api/v1/clinicpro/comment", data),
|
postDoctorComment: (data) => api.post("api/v1/comment", data, { requireAuth: true }),
|
||||||
getDoctorRate: (uuid) => api.get(`api/v1/clinicpro/rate/${uuid}`),
|
getDoctorRate: (uuid) => api.get(`api/v1/rate/${uuid}`),
|
||||||
postDoctorRate: (data) => api.post("api/v1/clinicpro/rate", data),
|
getDoctorComments: (uuid) => api.get(`api/v1/comments/${uuid}`),
|
||||||
patchDoctorRate: (data, uuid) =>
|
postDoctorRate: (data) => api.post("api/v1/rate", data, { requireAuth: true }),
|
||||||
api.patch(`api/v1/clinicpro/rate/${uuid}`, data),
|
patchDoctorRate: (data) => api.post("api/v1/rate", data, { requireAuth: true }),
|
||||||
postCommentsLike: (data) => api.post("/api/v1/clinicpro/like", data),
|
postCommentsLike: (commentUuid) =>
|
||||||
|
api.post(`api/v1/like/${commentUuid}`, null, { requireAuth: true }),
|
||||||
getClinicList: (params) =>
|
getClinicList: (params) =>
|
||||||
api.get("/api/v1/clinics", {
|
api.get("/api/v1/clinics", {
|
||||||
params,
|
params,
|
||||||
|
|||||||
Reference in New Issue
Block a user