All files / apps/host/src/hooks useRoom.ts

100% Statements 15/15
0% Branches 0/1
100% Functions 9/9
100% Lines 15/15

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),
  });
};