diff --git a/api-services/mutations/tasks/bed_mutations.ts b/api-services/mutations/tasks/bed_mutations.ts index 490795a9..ea0e8a6b 100644 --- a/api-services/mutations/tasks/bed_mutations.ts +++ b/api-services/mutations/tasks/bed_mutations.ts @@ -2,7 +2,7 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { CreateBedRequest, DeleteBedRequest, - GetBedRequest, + GetBedRequest, GetBedsRequest, UpdateBedRequest } from '@helpwave/proto-ts/services/tasks_svc/v1/bed_svc_pb' import { QueryKeys } from '../query_keys' @@ -33,6 +33,27 @@ export const useBedQuery = (bedId: string | undefined) => { }) } +export const useBedsQuery = (roomId?: string) => { + return useQuery({ + queryKey: [QueryKeys.beds, roomId ?? 'all'], + queryFn: async () => { + const req = new GetBedsRequest() + if (roomId) { + req.setRoomId(roomId) + } + const res = await APIServices.bed.getBeds(req, getAuthenticatedGrpcMetadata()) + + const beds: BedWithRoomId[] = res.getBedsList().map(bed => ({ + id: bed.getId(), + name: bed.getName(), + roomId: bed.getRoomId() + })) + + return beds + }, + }) +} + export const useBedCreateMutation = () => { const queryClient = useQueryClient() return useMutation({ diff --git a/api-services/offline/tasks/bed_service.ts b/api-services/offline/tasks/bed_service.ts index 7e608e96..374b498a 100644 --- a/api-services/offline/tasks/bed_service.ts +++ b/api-services/offline/tasks/bed_service.ts @@ -95,6 +95,9 @@ export class BedOfflineServicePromiseClient extends BedServicePromiseClient { .setBedsList(list) } + /** + * @deprecated The method should not be used anymore, use getBeds with the roomId as a parameter instead + */ async getBedsByRoom(request: GetBedsByRoomRequest, _?: Metadata): Promise { const beds = BedOfflineService.findMany(request.getRoomId())