From e5eb3639cccfc74d239ad15ba26f00d26df4f7b6 Mon Sep 17 00:00:00 2001 From: wnhlee <2wheeh@gmail.com> Date: Sat, 13 Apr 2024 20:19:41 +0900 Subject: [PATCH] feat: add listComments --- ui/src/lib/apis/comment/server.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 ui/src/lib/apis/comment/server.ts diff --git a/ui/src/lib/apis/comment/server.ts b/ui/src/lib/apis/comment/server.ts new file mode 100644 index 00000000..6c038df8 --- /dev/null +++ b/ui/src/lib/apis/comment/server.ts @@ -0,0 +1,25 @@ +'use server'; + +import { unstable_noStore as noStore } from 'next/cache'; + +import type { ListCommentsQuery, ListCommentsResponse } from '@/lib/definitions/comment'; + +export async function listComments(query: ListCommentsQuery): Promise { + noStore(); + + const params = Object.entries(query).reduce((acc, [key, value]) => { + if (value) { + acc.set(key, String(value)); + } + + return acc; + }, new URLSearchParams()); + + const response = await fetch(`${process.env.BACKEND_URL}/api/v1/comments?${params.toString()}`); + + if (!response.ok) { + throw new Error(`Network Error: Failed to fetch comments list: ${response.statusText}`); + } + + return (await response.json()) as ListCommentsResponse; +}