# Superport API 개선 사항 ## 1. ✅ [해결됨] 회사 목록 API에 company_types 필드 누락 및 제거 대응 ### 최종 해결 내역 (2025-01-09) - **백엔드 변경사항**: - company_types 필드 제거 예정 - is_partner, is_customer 필드로 대체 - **프론트엔드 대응 (완료)**: - CompanyListDto, CompanyResponse, CompanyBranchFlatDto에 is_partner, is_customer 필드 추가 (@Default(false)) - CompanyService 변환 로직 수정 (하위 호환성 유지): - company_types가 있으면 우선 사용 - company_types가 없으면 is_partner/is_customer 사용 - 둘 다 없으면 빈 리스트 반환 - 사이드 이펙트 없음 확인 (테스트 완료) ### 현재 상황 - **문제 엔드포인트**: - `GET /companies` - `GET /companies/branches` - **현재 응답**: company_types 필드 없음 ```json { "id": 95, "name": "한국물류창고(주)", "address": "경기도 용인시", "contact_name": "박물류", "contact_phone": "010-89208920", "contact_email": "contact@naver.com", "is_active": true, "created_at": "2025-08-08T09:31:04.661079Z" } ``` - **상세 API 응답** (`GET /companies/{id}`): company_types 포함 ```json { "id": 86, "name": "아이스 맨", "company_types": ["customer", "partner"], ... } ``` ### 필요한 개선 1. `/companies` 엔드포인트에 company_types 필드 추가 2. `/companies/branches` 엔드포인트에 company_types 필드 추가 ### 영향 - 회사 목록 화면에서 유형(고객사/파트너사) 표시 불가 - 수정 후에도 목록에 반영되지 않음 - N+1 쿼리 문제 발생 (각 회사마다 상세 API 호출 필요) ### 임시 해결책 현재 프론트엔드에서 아래와 같이 처리 중: - 회사 목록에서는 유형을 표시하지 않거나 기본값(고객사)으로 표시 - 수정/상세 화면에서만 정확한 유형 표시 ### 제안하는 API 응답 형식 ```json { "id": 95, "name": "한국물류창고(주)", "address": "경기도 용인시", "contact_name": "박물류", "contact_phone": "010-89208920", "contact_email": "contact@naver.com", "company_types": ["customer", "partner"], // 추가 필요 "is_active": true, "created_at": "2025-08-08T09:31:04.661079Z" } ``` ## 2. 장비 상태 관련 데이터베이스 오류 ### 현재 상황 - **문제 엔드포인트**: - `GET /overview/stats` - `GET /overview/equipment-status` - **오류 메시지**: ```json { "success": false, "error": { "code": "DATABASE_ERROR", "message": "Database error: Query Error: error returned from database: operator does not exist: character varying = equipment_status" } } ``` ### 원인 추정 - equipment_status 타입과 character varying 타입 간 비교 연산자 문제 - PostgreSQL에서 enum 타입 처리 오류 ### 필요한 개선 - 데이터베이스 쿼리 수정 또는 타입 캐스팅 추가 --- **작성일**: 2025-01-09 **작성자**: Claude Code **우선순위**: 높음 (회사 유형 표시는 핵심 기능)