19 lines
670 B
TypeScript
19 lines
670 B
TypeScript
import { NextResponse } from 'next/server';
|
|
import { assertChannelRoomAccess } from '@/lib/auth/room-access';
|
|
import { getRoom, toPublicRoom } from '@/lib/rooms/store';
|
|
|
|
export const runtime = 'nodejs';
|
|
|
|
type Params = { params: Promise<{ roomId: string }> };
|
|
|
|
export async function GET(request: Request, { params }: Params) {
|
|
const { roomId } = await params;
|
|
const room = getRoom(roomId);
|
|
if (!room) {
|
|
return NextResponse.json({ error: '방을 찾을 수 없습니다.' }, { status: 404 });
|
|
}
|
|
const access = await assertChannelRoomAccess(room, request);
|
|
if (!access.ok) return access.response;
|
|
return NextResponse.json({ room: toPublicRoom(room) });
|
|
}
|