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 호출) |