feat: Complete reservation management
This commit is contained in:
@@ -207,6 +207,36 @@ export const useChannelManager = () => {
|
||||
}
|
||||
}, [loadListings]);
|
||||
|
||||
// Create reservation
|
||||
const createReservation = useCallback(async (reservationData: any) => {
|
||||
try {
|
||||
setLoading(true);
|
||||
await ChannelManagerService.createReservation(reservationData);
|
||||
await loadReservations();
|
||||
return true;
|
||||
} catch (err) {
|
||||
setError(err instanceof Error ? err.message : 'Error creating reservation');
|
||||
return false;
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, [loadReservations]);
|
||||
|
||||
// Update reservation
|
||||
const updateReservation = useCallback(async (id: string, reservationData: any) => {
|
||||
try {
|
||||
setLoading(true);
|
||||
await ChannelManagerService.updateReservation(id, reservationData);
|
||||
await loadReservations();
|
||||
return true;
|
||||
} catch (err) {
|
||||
setError(err instanceof Error ? err.message : 'Error updating reservation');
|
||||
return false;
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, [loadReservations]);
|
||||
|
||||
// Cancel reservation
|
||||
const cancelReservation = useCallback(async (id: string, reason?: string) => {
|
||||
try {
|
||||
@@ -261,6 +291,8 @@ export const useChannelManager = () => {
|
||||
syncChannel,
|
||||
createListing,
|
||||
updateListing,
|
||||
createReservation,
|
||||
updateReservation,
|
||||
cancelReservation,
|
||||
clearError,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user