From 1b02ec599001c552423ee625aa08de83289a7a57 Mon Sep 17 00:00:00 2001 From: Felix Thape Date: Thu, 26 Dec 2024 11:13:25 +0100 Subject: [PATCH 1/2] feat: add getBeds query to api services --- api-services/mutations/tasks/bed_mutations.ts | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/api-services/mutations/tasks/bed_mutations.ts b/api-services/mutations/tasks/bed_mutations.ts index 635aa7a37..b1d041159 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({ From a38d1c35fe4f484f3ecaa010010603cb6294f3bb Mon Sep 17 00:00:00 2001 From: Felix Thape Date: Sun, 29 Dec 2024 16:59:36 +0100 Subject: [PATCH 2/2] chore: mark getBedsByRoom as deprecated --- api-services/offline/tasks/bed_service.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api-services/offline/tasks/bed_service.ts b/api-services/offline/tasks/bed_service.ts index 7e608e96e..374b498a2 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())