feat(api): 공용 카테고리 API 추가 (대분류+소분류 함께 반환)

docs(todo): 헤더 네비 작업 3번(데이터 연동 설계) 완료 표시
This commit is contained in:
mota
2025-10-13 08:08:02 +09:00
parent 2c50aecd2b
commit 7245b3e3e9
2 changed files with 20 additions and 2 deletions

View File

@@ -8,8 +8,8 @@
- [x] 헤더 컨테이너/레이아웃 골격 생성(`src/app/components/AppHeader.tsx` 확장)
3) 데이터 연동 설계
- [ ] 대분류 소스 결정: `GET /api/boards?category=...` 또는 카테고리 전용 API 사용
- [ ] 소분류(보드) 매핑 규칙 정의(현재 시드 트리 기준)
- [x] 대분류 소스 결정: `GET /api/categories` 사용(대분류+소분류 동시 제공)
- [x] 소분류(보드) 매핑 규칙 정의(현재 시드 트리 기준)
4) 대분류 네비 구현
- [ ] 상단에 대분류 탭 렌더링(정렬/활성 상태 반영)

View File

@@ -0,0 +1,18 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
// 대분류(BoardCategory)와 소분류(Board)를 함께 반환
export async function GET() {
const categories = await prisma.boardCategory.findMany({
orderBy: [{ sortOrder: "asc" }, { createdAt: "asc" }],
include: {
boards: {
orderBy: [{ sortOrder: "asc" }, { createdAt: "asc" }],
select: { id: true, name: true, slug: true, requiresApproval: true, type: true },
},
},
});
return NextResponse.json({ categories });
}