From db7f435717b124d9c867f5672a10128eba889cc6 Mon Sep 17 00:00:00 2001 From: htlee Date: Sat, 28 Feb 2026 19:33:19 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20CRUD-API-GUIDE=20=EA=B2=8C=EC=8B=9C?= =?UTF-8?q?=ED=8C=90=20=ED=94=84=EB=A1=A0=ED=8A=B8=EC=97=94=EB=93=9C=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=B0=B8=EC=A1=B0=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BoardListTable → BoardView/BoardWriteForm/BoardDetailView로 변경 - 권한 기반 UI 분기 코드 예시를 실제 구현과 일치하도록 수정 Co-Authored-By: Claude Opus 4.6 --- docs/CRUD-API-GUIDE.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/CRUD-API-GUIDE.md b/docs/CRUD-API-GUIDE.md index 95c46e4..8d91db0 100644 --- a/docs/CRUD-API-GUIDE.md +++ b/docs/CRUD-API-GUIDE.md @@ -1387,21 +1387,22 @@ export async function createBoardPost(input: CreateBoardPostInput): Promise<{ sn #### 권한 기반 UI 분기 -**파일**: `frontend/src/tabs/board/components/BoardListTable.tsx` +**파일**: `frontend/src/tabs/board/components/BoardView.tsx` ```tsx import { useAuthStore } from '@common/store/authStore'; const hasPermission = useAuthStore((s) => s.hasPermission); -// 카테고리별 서브리소스 CREATE 권한 확인 -const canWrite = selectedCategory - ? hasPermission(`board:${selectedCategory.toLowerCase()}`, 'CREATE') - : hasPermission('board', 'CREATE'); +// 서브탭 기준 글쓰기 권한 리소스 결정 +const getWriteResource = () => { + if (activeSubTab === 'all') return 'board'; + return `board:${activeSubTab}`; +}; // 글쓰기 버튼 조건부 렌더링 -{canWrite && ( - +{hasPermission(getWriteResource(), 'CREATE') && ( + )} ``` @@ -1430,4 +1431,6 @@ const canWrite = selectedCategory | 백엔드 | `backend/src/board/boardRouter.ts` | 라우터 + requirePermission | | 백엔드 | `backend/src/server.ts` | boardRouter 등록 | | 프론트 | `frontend/src/tabs/board/services/boardApi.ts` | API 서비스 | -| 프론트 | `frontend/src/tabs/board/components/BoardListTable.tsx` | 목록 UI (API 연동) | +| 프론트 | `frontend/src/tabs/board/components/BoardView.tsx` | 목록/상세/작성 통합 뷰 (API 연동) | +| 프론트 | `frontend/src/tabs/board/components/BoardWriteForm.tsx` | 게시글 작성/수정 폼 (API 호출) | +| 프론트 | `frontend/src/tabs/board/components/BoardDetailView.tsx` | 게시글 상세 보기 (API 호출) |