From 278af5f0f4bdc2e05bb7dfe77338ef05465ed393 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Thu, 28 Aug 2025 22:35:58 +0200 Subject: [PATCH] ui/queries: add instances query --- pkgs/clan-app/ui/src/hooks/queries.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkgs/clan-app/ui/src/hooks/queries.ts b/pkgs/clan-app/ui/src/hooks/queries.ts index e678517b3..7450e3cc8 100644 --- a/pkgs/clan-app/ui/src/hooks/queries.ts +++ b/pkgs/clan-app/ui/src/hooks/queries.ts @@ -504,3 +504,28 @@ export const useServiceModules = (clanUri: string) => { }, })); }; + +export type ServiceInstancesQuery = ReturnType; +export type ServiceInstances = SuccessData<"list_service_instances">; +export const useServiceInstances = (clanUri: string) => { + const client = useApiClient(); + return useQuery(() => ({ + queryKey: ["clans", encodeBase64(clanUri), "service_instances"], + queryFn: async () => { + const call = client.fetch("list_service_instances", { + flake: { + identifier: clanUri, + }, + }); + const result = await call.result; + + if (result.status === "error") { + // todo should we create some specific error types? + console.error("Error fetching clan details:", result.errors); + throw new Error(result.errors[0].message); + } + + return result.data; + }, + })); +};