refactor(construction): 건설관리 3개 모듈 apiClient 표준화
- contract/actions.ts: 커스텀 apiRequest → apiClient 변환
- partners/actions.ts: 커스텀 apiRequest → apiClient 변환
- site-management/actions.ts: 커스텀 apiRequest → apiClient 변환
공통 변경사항:
- cookies() 직접 import 제거
- API_BASE_URL, API_KEY 상수 제거
- import { apiClient } from '@/lib/api' 사용
- 명시적 API 타입 정의 추가 (ApiContract, ApiPartner, ApiSite 등)
This commit is contained in:
@@ -1,5 +1,67 @@
|
||||
# SAM React 작업 현황
|
||||
|
||||
## 2026-01-09 (목) - Phase 1.3-1.5 건설관리 apiClient 표준화
|
||||
|
||||
### 작업 목표
|
||||
- 건설관리 모듈의 커스텀 `apiRequest` 함수를 표준 `apiClient` 패턴으로 변환
|
||||
- Phase 1.3: 계약관리(contract), Phase 1.4: 거래처관리(partners), Phase 1.5: 현장관리(site-management)
|
||||
|
||||
### 수정된 파일
|
||||
| 파일명 | 설명 |
|
||||
|--------|------|
|
||||
| `src/components/business/construction/contract/actions.ts` | 커스텀 apiRequest → apiClient 표준화 |
|
||||
| `src/components/business/construction/partners/actions.ts` | 커스텀 apiRequest → apiClient 표준화 |
|
||||
| `src/components/business/construction/site-management/actions.ts` | 커스텀 apiRequest → apiClient 표준화 |
|
||||
|
||||
### 주요 변경 내용
|
||||
|
||||
#### 1. 제거된 코드 (각 파일에서)
|
||||
- 커스텀 `apiRequest()` 함수 전체
|
||||
- `import { cookies } from 'next/headers'`
|
||||
- `const API_BASE_URL = process.env.NEXT_PUBLIC_API_URL`
|
||||
- `const API_KEY = process.env.API_KEY`
|
||||
|
||||
#### 2. 추가된 코드
|
||||
- `import { apiClient } from '@/lib/api'`
|
||||
- 명시적 API 타입 정의:
|
||||
- **contract**: `ApiContract`, `ApiContractFile`, `ApiAttachment`, `ApiContractStats`, `ApiContractStageCount`
|
||||
- **partners**: `ApiPartner`, `ApiPartnerStats`
|
||||
- **site-management**: `ApiSite`, `ApiSiteStats`
|
||||
|
||||
#### 3. API 엔드포인트 (변경 없음)
|
||||
**계약관리 (contract)**
|
||||
- `GET /construction/contracts` - 목록
|
||||
- `GET /construction/contracts/stats` - 통계
|
||||
- `GET /construction/contracts/stage-counts` - 단계별 건수
|
||||
- `GET /construction/contracts/{id}` - 상세
|
||||
- `POST /construction/contracts` - 등록
|
||||
- `PUT /construction/contracts/{id}` - 수정
|
||||
- `DELETE /construction/contracts/{id}` - 삭제
|
||||
- `DELETE /construction/contracts/bulk` - 일괄 삭제
|
||||
|
||||
**거래처관리 (partners)**
|
||||
- `GET /clients` - 목록
|
||||
- `GET /clients/stats` - 통계
|
||||
- `GET /clients/{id}` - 상세
|
||||
- `POST /clients` - 등록
|
||||
- `PUT /clients/{id}` - 수정
|
||||
- `DELETE /clients/{id}` - 삭제
|
||||
- `DELETE /clients/bulk` - 일괄 삭제
|
||||
|
||||
**현장관리 (site-management)**
|
||||
- `GET /sites` - 목록
|
||||
- `GET /sites/stats` - 통계
|
||||
- `DELETE /sites/{id}` - 삭제
|
||||
- `DELETE /sites/bulk` - 일괄 삭제
|
||||
|
||||
### 빌드 검증
|
||||
✅ Next.js 빌드 성공 (349 페이지)
|
||||
|
||||
### Git 커밋
|
||||
- 대기 중
|
||||
|
||||
---
|
||||
|
||||
## 2026-01-09 (목) - Phase 1.2 인수인계보고서 API 표준화
|
||||
|
||||
### 작업 목표
|
||||
@@ -34,6 +96,9 @@
|
||||
### 빌드 검증
|
||||
✅ Next.js 빌드 성공 (349 페이지)
|
||||
|
||||
### Git 커밋
|
||||
- React: `b7b8b90` refactor(handover-report): 커스텀 fetch → apiClient 표준화
|
||||
|
||||
---
|
||||
|
||||
## 2026-01-09 (목) - Phase 2.4 수주관리 API 연동
|
||||
|
||||
Reference in New Issue
Block a user