- 개발팀 전용 폴더 dev/ 생성 (standards, guides, quickstart, changes, deploys, data, history, dev_plans 이동) - 프론트엔드 전용 폴더 frontend/ 생성 (api/ → frontend/api-specs/) - 기획팀 폴더 requests/ 생성 - plans/ → dev/dev_plans/ 이름 변경 - README.md 신규 (사람용 안내), INDEX.md 재작성 (Claude Code용) - resources.md 신규 (노션 링크용, assets/brochure 이관 예정) - CURRENT_WORKS.md 삭제, TODO.md → dev/ 이동 - 전체 참조 경로 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
변경 내용 요약
날짜: 2026-01-09 작업자: Claude Code 이슈: Phase 1.2 인수인계보고서관리 Frontend API 연동
📋 변경 개요
인수인계보고서관리(Handover Report) Frontend의 actions.ts를 Mock 데이터에서 실제 API 연동으로 변환했습니다.
📁 수정된 파일
| 파일 | 변경 내용 |
|---|---|
react/src/components/business/construction/handover-report/actions.ts |
Mock → API 완전 변환 |
docs/dev_plans/sub/handover-report-plan.md |
진행 상태 업데이트 |
🔧 상세 변경 사항
1. actions.ts 완전 재작성 (499줄)
제거된 코드:
MOCK_REPORTS배열 (7개 목업 데이터)MOCK_REPORT_DETAILS객체 (상세 목업 데이터)- 모든 목업 기반 로직
추가된 코드:
헬퍼 함수
// API 요청 헬퍼 (쿠키 기반 인증)
async function apiRequest<T>(endpoint, options): Promise<ApiResult<T>>
// 타입 변환 함수들
function transformHandoverReport(apiData): HandoverReport
function transformHandoverReportDetail(apiData): HandoverReportDetail
function transformToApiRequest(data): Record<string, unknown>
API 연동 함수
| 함수명 | HTTP Method | Endpoint | 용도 |
|---|---|---|---|
getHandoverReportList |
GET | /construction/handover-reports |
목록 조회 |
getHandoverReportStats |
GET | /construction/handover-reports/stats |
통계 조회 |
getHandoverReportDetail |
GET | /construction/handover-reports/{id} |
상세 조회 |
createHandoverReport |
POST | /construction/handover-reports |
등록 (신규) |
updateHandoverReport |
PUT | /construction/handover-reports/{id} |
수정 |
deleteHandoverReport |
DELETE | /construction/handover-reports/{id} |
삭제 |
deleteHandoverReports |
DELETE | /construction/handover-reports/bulk |
일괄 삭제 |
타입 변환 매핑
snake_case(API) ↔camelCase(Frontend)- 중첩 객체 처리:
managers,items,external_equipment_cost - null 안전 처리 및 기본값 설정
2. handover-report-plan.md 업데이트
- 상태: ⏳ 대기 → 🔄 진행중
- Frontend 작업 상태 갱신
- 마지막 업데이트 날짜 변경
✅ 검증 결과
- TypeScript 타입 검사: 오류 없음
- ESLint 검사: 오류 없음
- 타입 정합성: types.ts와 완전 일치
⚠️ 알려진 이슈 (별도 작업 필요)
HandoverReportListClient.tsx에 기존 타입 불일치 존재:
partnerId- HandoverReport 타입에 없음contractManagerId- HandoverReport 타입에 없음constructionPMId- HandoverReport 타입에 없음
→ 이번 작업 범위 외, 별도 수정 필요