# SAM Project TODO

> **마지막 업데이트**: 2025-12-21

---

## 🔴 긴급 (보안/필수)

### [TODO-001] Settings 권한 관리 localStorage → API 전환

**발견일**: 2025-12-20
**우선순위**: 🔴 긴급
**카테고리**: 보안

**현재 상태**:
- 권한 관리가 `localStorage`에 저장됨
- 파일: `react/src/components/settings/PermissionManagement/index.tsx`
- 키: `buddy_permissions`

**문제점**:
| 문제 | 설명 |
|------|------|
| 클라이언트 저장 | 권한이 브라우저에만 저장됨 |
| 조작 가능 | DevTools에서 누구나 수정 가능 |
| 서버 미검증 | 서버에서 권한 검증 안 함 |
| 세션 비공유 | 다른 브라우저/기기에서 권한 없음 |

**해결 방안**:
```
현재: localStorage → 브라우저에 저장
개선: API 호출 → DB에 저장 → 서버에서 검증

필요 API:
- GET  /api/v1/roles
- POST /api/v1/roles
- PUT  /api/v1/roles/{id}/permissions
- GET  /api/v1/permissions
```

**관련 문서**:
- `docs/projects/api-integration/phase-3-api-mapping/gap-analysis.md`

---

## 🟡 중요 (기능 완성)

### [TODO-002] Mock 데이터 → API 연동 전환

**발견일**: 2025-12-20
**우선순위**: 🟡 중요
**카테고리**: 기능 개발

**현재 상태**:
- 109개 React 페이지 중 95개 (87.2%)가 Mock 데이터 사용
- `generateMockData()` 함수 패턴

**영향 모듈**:
| 모듈 | 페이지 수 | 상태 |
|------|----------|------|
| Accounting | 17 | 🆕 Mock |
| HR | 9 | 🆕 Mock |
| Board | 6 | 🆕 Mock |
| Approval | 4 | 🆕 Mock |
| Settings | 10 | 🆕 Mock |
| Dashboard | 1 | ⏳ 미구현 |
| Reports | 2 | 🆕 Mock |
| Customer Center | 6 | 🆕 Mock |
| Production | 4 | 🆕 Mock |
| Sales (일부) | 4 | 🆕 Mock |

**관련 문서**:
- `docs/projects/api-integration/phase-3-api-mapping/mapping-matrix.md`
- `docs/projects/api-integration/phase-3-api-mapping/gap-analysis.md`

### [TODO-004] 프론트엔드 client_type 코드값 전송 개선

**발견일**: 2025-12-21
**우선순위**: 🟡 중요
**카테고리**: 데이터 정합성

**현재 상태**:
- 프론트엔드에서 `client_type`에 한글 이름(`매입`, `매출`) 전송
- API는 `common_codes.code` 값(`PURCHASE`, `SALES`) 기대
- 422 Validation Error 발생

**임시 해결**:
- API `ClientStoreRequest`, `ClientUpdateRequest`에서 `prepareForValidation()` 추가
- 한글 name → code 자동 변환 처리

**영구 해결 필요**:
| 파일 | 수정 내용 |
|------|----------|
| `react/src/hooks/useClientList.ts` | client_type 전송 시 code 값 사용 |
| `react/src/components/clients/*` | 폼에서 code/name 구분 처리 |

**유효한 코드값**:
| code | name |
|------|------|
| `PURCHASE` | 매입 |
| `SALES` | 매출 |
| `BOTH` | 매입매출 |

**관련 에러**:
```json
{
  "error": {
    "details": {
      "client_type": ["선택된 client type은(는) 유효하지 않습니다."]
    }
  }
}
```

---

## 🟢 개선 (최적화)

### [TODO-003] API 클라이언트 패턴 통일

**발견일**: 2025-12-20
**우선순위**: 🟢 개선
**카테고리**: 코드 품질

**현재 상태**:
| 패턴 | 사용처 | 비고 |
|------|--------|------|
| `/api/proxy/*` | Items, Clients | ✅ 표준 |
| `/api/v1/*` (Server Actions) | Pricing | 다른 패턴 |
| `generateMockData()` | 대부분 | Mock |

**권장사항**: `/api/proxy/*` 패턴으로 통일

---

## ✅ 완료

| ID | 제목 | 완료일 | 비고 |
|----|------|--------|------|
| - | - | - | - |

---

## 참고

- **Phase 3 분석 결과**: `docs/projects/api-integration/phase-3-api-mapping/`
- **전체 진행 상황**: `docs/projects/api-integration/PROGRESS.md`

---

*이 문서는 발견된 이슈와 개선사항을 추적합니다.*
