[FE-03] 웹 CSV 임포트 시/도 컬럼 추가
작업 내용 (설계 의도)
근거: design-fe-web.md FR-6 — CSV 헤더에 sido 컬럼 추가.
변경 사항
web/app/portal/facilities-import/parseCsvFacilities.ts— 헤더를code,name,sido,gu,type,address,lat,lng,parking,tel,homePage,eduYn,meta로 변경(sido를 인덱스 2,gu뒤로 이동).sido는 optional(빈 값 허용 — 미입력 시 서버 주소 파싱 보간). 파싱 결과 row에sido필드 추가. 기존 필드 인덱스 시프트 반영.parseCsvFacilities.test.ts— 신규 헤더 상수·케이스 갱신. sido 유/무 케이스 추가. 기존 필드(type enum·위경도·boolean·따옴표 이스케이프) 회귀 유지.web/app/portal/facilities-import/FacilitiesImportClient.tsx— 미리보기 테이블에 시/도 컬럼 추가, 안내 문구의 헤더 예시 갱신, 등록 시sido를 POST payload에 포함.
롤백
- 헤더·컬럼 추가만이라 되돌리면 기존 12컬럼 파서로 복귀. 데이터 파괴 없음.
의존
- 없음 (wave 1) — sido는 텍스트 통과, FE 검증 없이 서버 보간
다이어그램
처리 흐름
sequenceDiagram participant U as 운영자 participant P as parseCsvFacilities participant C as ImportClient participant B as BFF POST U->>C: CSV 업로드(sido 컬럼) C->>P: parse(text) P-->>C: rows(sido 포함) C->>B: 유효 행별 POST(sido)
테스트 케이스
- 신규 헤더(sido 포함)의 유효 CSV를 파싱하면 각 row에 sido 값이 담긴다
- sido 값이 비어 있어도 오류 없이 파싱된다(optional)
- 기존 필수 필드(code/name/gu/type/address) 누락 시 여전히 행 오류를 보고한다
- type enum 소문자 정규화·위경도 numeric 검증이 회귀 없이 동작한다
- 미리보기 테이블에 시/도 컬럼이 표시된다