feat: [mock-migration] Phase J-4 게시판 관리 API 수정

- BoardController: show 메서드 ID 기반 조회로 변경
- BoardStoreRequest: extra_settings.target/target_id/target_name 검증 추가
- BoardUpdateRequest: extra_settings.target/target_id/target_name 검증 추가
- routes/api.php: 게시판 상세 라우트 {code} → {id} 변경

테넌트 게시판 정책:
- 테넌트는 자신의 게시판만 CRUD 가능
- 시스템 게시판은 mng에서만 관리
- board_code는 시스템/테넌트 간 중복 허용

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-27 18:27:19 +09:00
parent 71a33d79cc
commit c694c65467
4 changed files with 27 additions and 8 deletions

View File

@@ -1201,7 +1201,7 @@
Route::get('/', [BoardController::class, 'index'])->name('v1.boards.index'); // 접근 가능한 게시판 목록
Route::get('/tenant', [BoardController::class, 'tenantBoards'])->name('v1.boards.tenant'); // 테넌트 게시판만
Route::post('/', [BoardController::class, 'store'])->name('v1.boards.store'); // 테넌트 게시판 생성
Route::get('/{code}', [BoardController::class, 'show'])->name('v1.boards.show'); // 게시판 상세 (코드 기반)
Route::get('/{id}', [BoardController::class, 'show'])->whereNumber('id')->name('v1.boards.show'); // 게시판 상세 (ID 기반)
Route::put('/{id}', [BoardController::class, 'update'])->whereNumber('id')->name('v1.boards.update'); // 테넌트 게시판 수정
Route::delete('/{id}', [BoardController::class, 'destroy'])->whereNumber('id')->name('v1.boards.destroy'); // 테넌트 게시판 삭제
Route::get('/{code}/fields', [BoardController::class, 'fields'])->name('v1.boards.fields'); // 게시판 필드 목록