Cài đặt tính năng người quản lí cập nhật số người tham gia

This commit is contained in:
2026-06-15 20:55:36 +07:00
parent 8dac79fc4b
commit aec9112064
+18
View File
@@ -10,6 +10,7 @@ interface TourState {
setTour: (tour: any) => void; setTour: (tour: any) => void;
updateLegs: (legs: any[]) => void; updateLegs: (legs: any[]) => void;
createTour: (tourData: any) => Promise<any>; createTour: (tourData: any) => Promise<any>;
updateTourDetails: (tourId: string, data: any) => Promise<void>;
updateTour: (id: string, data: any) => Promise<void>; updateTour: (id: string, data: any) => Promise<void>;
deleteTour: (id: string) => Promise<void>; deleteTour: (id: string) => Promise<void>;
addLeg: (tourId: string, data: any) => Promise<void>; addLeg: (tourId: string, data: any) => Promise<void>;
@@ -106,6 +107,23 @@ export const useTourStore = create<TourState>((set, get) => ({
await get().fetchPublicTours(); await get().fetchPublicTours();
return tour; return tour;
}, },
updateTourDetails: async (tourId: string, data: any) => {
const API_BASE = `http://${window.location.hostname}:3001`;
const token = localStorage.getItem('token');
const response = await fetch(`${API_BASE}/api/v1/tours/${tourId}`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify(data),
});
if (!response.ok) {
const errorData = await response.json().catch(() => ({}));
throw new Error(errorData.message || errorData.error || 'Lỗi khi cập nhật thông tin tour');
}
},
updateTour: async (id: string, data: any) => { updateTour: async (id: string, data: any) => {
const API_BASE = `http://${window.location.hostname}:3001`; const API_BASE = `http://${window.location.hostname}:3001`;
const response = await fetch(`${API_BASE}/api/v1/tours/${id}`, { const response = await fetch(`${API_BASE}/api/v1/tours/${id}`, {