Files
ExperionCrawler/CLAUDE.md
2026-04-14 04:02:43 +00:00

2.9 KiB

ExperionCrawler — 작업 이력

완료된 작업

노드맵 대시보드 구현 (2026-04-14)

node_map_master 테이블을 조회·탐색할 수 있는 웹 대시보드를 풀스택으로 구현했다.

수정된 파일

파일 내용
src/Core/Application/Interfaces/IExperionServices.cs IExperionDbServiceGetMasterStatsAsync() / QueryMasterAsync() 추가, NodeMapStats / NodeMapQueryResult record 추가
src/Infrastructure/Database/ExperionDbContext.cs ExperionDbService에 두 메서드 구현 (통계·필터 조회, 페이지네이션)
src/Web/Controllers/ExperionControllers.cs ExperionNodeMapController 추가 (GET /api/nodemap/stats, GET /api/nodemap/query)
src/Web/wwwroot/index.html 사이드바 05번 탭 추가, #pane-nm-dash 섹션 추가 (통계 카드·필터폼·페이지네이션·테이블)
src/Web/wwwroot/js/app.js nmLoad() / nmQuery() / nmPrev() / nmNext() / nmReset() 구현, 탭 클릭 핸들러에 nmLoad() 호출 추가
src/Web/wwwroot/css/style.css .nm-stat-row, .nm-cls, .nm-dtype, .pg, .btn-sm 등 대시보드 전용 스타일 추가

빌드 결과

  • 경고 3건 (기존 경고 동일), 에러 0건 — 빌드 성공

주의 사항

  • 인증서 관련 코드(ExperionCertificateService.cs, 인증서 컨트롤러)는 일절 수정하지 않음

이름 필터 드롭다운 OR 조건 검색 (2026-04-14)

노드맵 대시보드의 이름 검색을 텍스트 입력에서 name 컬럼 고유값 풀다운 메뉴 4개로 교체, OR 조건 최대 4개 동시 선택 가능하도록 확장했다.

수정된 파일

파일 내용
src/Core/Application/Interfaces/IExperionServices.cs GetNameListAsync() 추가; QueryMasterAsync 파라미터 string? nameIEnumerable<string>? names
src/Infrastructure/Database/ExperionDbContext.cs GetNameListAsync() 구현 (distinct + 오름차순 정렬); QueryMasterAsync에서 nameList.Contains(x.Name) → EF가 WHERE name IN (...) SQL 생성
src/Web/Controllers/ExperionControllers.cs GET /api/nodemap/names 엔드포인트 추가; Query 액션 파라미터 string? nameList<string>? names (ASP.NET Core가 ?names=A&names=B 자동 바인딩)
src/Web/wwwroot/index.html "이름 검색" 텍스트 입력 제거 → nf-name-1 ~ nf-name-4 4개 <select> 드롭다운 추가
src/Web/wwwroot/js/app.js nmLoad()에서 /api/nodemap/names 병렬 호출 후 4개 드롭다운 채우기; nmQuery()에서 선택 이름들을 params.append('names', nm)로 OR 전송; nmReset()에서 4개 드롭다운 초기화
src/Web/wwwroot/css/style.css .nm-name-selects (4열 그리드, 900px 이하 2열) 추가

빌드 결과

  • 경고 3건 (기존 경고 동일), 에러 0건 — 빌드 성공