예제 소스
바둑 on-policy 학습: 대국 로그를 KataGo 라벨로 바꾸기 · 파일 169개
route.ts
import { NextRequest, NextResponse } from "next/server";
import { createGame, getLatestPlayingForGuest, getPlayerStats } from "@/lib/db";
export const runtime = "nodejs";
/** POST: 새 대국 생성. GET ?guestId=: 이어둘 대국 */
export async function GET(req: NextRequest) {
const guestId = req.nextUrl.searchParams.get("guestId")?.trim();
if (!guestId) {
return NextResponse.json({ error: "guestId required" }, { status: 400 });
}
const game = getLatestPlayingForGuest(guestId);
return NextResponse.json({ game });
}
export async function POST(req: NextRequest) {
const body = (await req.json().catch(() => ({}))) as { guestId?: string };
const guestId = body.guestId?.trim();
if (!guestId) {
return NextResponse.json({ error: "guestId required" }, { status: 400 });
}
const game = createGame(guestId);
return NextResponse.json({ game, player: getPlayerStats(guestId) });
}