waveform/app/api/servers/[serverId]/members/route.ts

31 lines
1 KiB
TypeScript

/**
* @file app/api/servers/[serverId]/members/route.ts
* @description API route handler for retrieving all members belonging to a specific server.
*/
import { NextResponse } from "next/server";
import { getServerMembers } from "@/lib/services/member.service";
/**
* Handles HTTP GET requests to fetch members of a server.
*
* @param {Request} req - The incoming HTTP request object.
* @param {Object} context - Route context parameters.
* @param {Promise<{ serverId: string }>} context.params - Asynchronous route parameters containing the serverId.
* @returns {Promise<NextResponse>} JSON response containing the list of server members or an error message.
*/
export async function GET(
req: Request,
{ params }: { params: Promise<{ serverId: string }> },
) {
try {
const { serverId } = await params;
const members = await getServerMembers(serverId);
return NextResponse.json(members);
} catch (error) {
return NextResponse.json(
{ error: "Failed to fetch server members" },
{ status: 500 },
);
}
}