From 6136d30a1fdd16b4ae115b2963624042dd38a49d Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Fri, 22 Mar 2024 20:23:58 +0000 Subject: [PATCH] client: spaces - wip --- apps/client/src/features/space/queries/space-query.ts | 10 ++++++++++ .../src/features/space/services/space-service.ts | 7 +++++++ apps/client/src/features/space/types/space.types.ts | 11 +++++++++++ 3 files changed, 28 insertions(+) create mode 100644 apps/client/src/features/space/queries/space-query.ts create mode 100644 apps/client/src/features/space/services/space-service.ts create mode 100644 apps/client/src/features/space/types/space.types.ts diff --git a/apps/client/src/features/space/queries/space-query.ts b/apps/client/src/features/space/queries/space-query.ts new file mode 100644 index 0000000..55ab975 --- /dev/null +++ b/apps/client/src/features/space/queries/space-query.ts @@ -0,0 +1,10 @@ +import { useQuery, UseQueryResult } from "@tanstack/react-query"; +import { ISpace } from "@/features/space/types/space.types"; +import { getUserSpaces } from "@/features/space/services/space-service"; + +export function useUserSpacesQuery(): UseQueryResult { + return useQuery({ + queryKey: ["user-spaces"], + queryFn: () => getUserSpaces(), + }); +} diff --git a/apps/client/src/features/space/services/space-service.ts b/apps/client/src/features/space/services/space-service.ts new file mode 100644 index 0000000..5ce83e9 --- /dev/null +++ b/apps/client/src/features/space/services/space-service.ts @@ -0,0 +1,7 @@ +import api from '@/lib/api-client'; +import { ISpace } from '@/features/space/types/space.types'; + +export async function getUserSpaces(): Promise { + const req = await api.get('/spaces'); + return req.data as ISpace[]; +} diff --git a/apps/client/src/features/space/types/space.types.ts b/apps/client/src/features/space/types/space.types.ts new file mode 100644 index 0000000..5538ca2 --- /dev/null +++ b/apps/client/src/features/space/types/space.types.ts @@ -0,0 +1,11 @@ +export interface ISpace { + id: string; + name: string; + description: string; + icon: string; + hostname: string; + creatorId: string; + createdAt: Date; + updatedAt: Date; +} +