# 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` --- *이 문서는 발견된 이슈와 개선사항을 추적합니다.*