Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 3x 2x 1x 1x 1x 3x 1x 1x 1x 1x 3x 1x 1x 1x 1x | import { useQuery } from '@tanstack/react-query';
import { REQUEST_POLICY, runRequestEffect } from '@repo/services/effectRequest';
import { ENDPOINTS, QUERY_KEYS } from '@/constants/apis';
import { MeetingRoom, MeetingRoomBooked, RoomBase } from '@/types/room';
import { https } from '@/services/mainHttpClient';
interface RoomsResponse {
data: RoomBase[];
}
export const useGetRooms = (disabled = true) => {
return useQuery<RoomBase[]>({
queryKey: [QUERY_KEYS.ROOMS],
queryFn: () =>
runRequestEffect(async () => {
const response = await https.get<RoomsResponse>(ENDPOINTS.ROOMS);
return response.data.data;
}, REQUEST_POLICY.READ),
enabled: !disabled,
});
};
interface MeetingRoomsResponse {
data: MeetingRoom[];
}
export const useGetMeetingRooms = () => {
return useQuery<MeetingRoom[]>({
queryKey: [QUERY_KEYS.MEETING_ROOMS],
queryFn: () =>
runRequestEffect(async () => {
const response = await https.get<MeetingRoomsResponse>(ENDPOINTS.MEETING_ROOMS);
return response.data.data;
}, REQUEST_POLICY.READ),
});
};
interface MeetingRoomsBookedResponse {
data: MeetingRoomBooked[];
}
export const useGetMeetingRoomsBooked = () => {
return useQuery<MeetingRoomBooked[]>({
queryKey: [QUERY_KEYS.MEETING_ROOMS_BOOKED],
queryFn: () =>
runRequestEffect(async () => {
const response = await https.get<MeetingRoomsBookedResponse>(
ENDPOINTS.MEETING_ROOMS_BOOKED,
);
return response.data.data;
}, REQUEST_POLICY.READ),
});
};
|