4.9 KiB
4.9 KiB
프로젝트: 화면 관리 기능 개선 (복제/삭제/그룹 관리/테이블 설정)
개요
화면 관리 시스템의 복제, 삭제, 수정, 테이블 설정 기능을 전면 개선하여 효율적인 화면 관리를 지원합니다.
핵심 기능
1. 단일 화면 복제
- 우클릭 컨텍스트 메뉴에서 "복제" 선택
- 화면명, 화면 코드 자동 생성 (중복 시
_COPY접미사 추가) - 연결된 모달 화면 함께 복제
- 대상 그룹 선택 가능
- 복제 후 목록 자동 새로고침
2. 그룹(폴더) 전체 복제
- 대분류 폴더 복제 시 모든 하위 폴더 + 화면 재귀적 복제
- 정렬 순서(display_order) 유지
- 대분류(최상위 그룹) 복제 시 경고 문구 표시
- 정렬 순서 입력 필드 추가
- 복제 모드 선택: 전체(폴더+화면), 폴더만, 화면만
- 모달 스크롤 지원 (max-h-[90vh] overflow-y-auto)
3. 고급 옵션: 이름 일괄 변경
- 찾을 텍스트 / 대체할 텍스트 (Find & Replace)
- 미리보기 기능
4. 삭제 기능
- 단일 화면 삭제 (휴지통으로 이동)
- 그룹 삭제 (화면 함께 삭제 옵션)
- 삭제 시 로딩 프로그레스 바 표시
5. 화면 수정 기능
- 우클릭 "수정" 메뉴로 화면 이름/그룹/역할/정렬 순서 변경
- 그룹 추가/수정 시 상위 그룹 기반 자동 회사 코드 설정
6. 테이블 설정 기능 (TableSettingModal)
- 화면 설정 모달에 "테이블 설정" 탭 추가
- 입력 타입 변경 시 관련 참조 필드 자동 초기화
- 엔티티→텍스트: referenceTable, referenceColumn, displayColumn 초기화
- 코드→다른 타입: codeCategory, codeValue 초기화
- 데이터 일관성 유지 (inputType ↔ referenceTable 연동)
- 조인 배지 단일화 (FK 배지 제거, 조인 배지만 표시)
7. 회사 코드 지원 (최고 관리자)
- 대상 회사 선택 가능
- 상위 그룹 선택 시 자동 회사 코드 설정
관련 파일
frontend/components/screen/CopyScreenModal.tsx- 복제 모달frontend/components/screen/ScreenGroupTreeView.tsx- 트리 뷰 + 컨텍스트 메뉴frontend/components/screen/TableSettingModal.tsx- 테이블 설정 모달frontend/components/screen/ScreenSettingModal.tsx- 화면 설정 모달 (테이블 설정 탭 포함)frontend/lib/api/screen.ts- 화면 APIfrontend/lib/api/screenGroup.ts- 그룹 APIfrontend/lib/api/tableManagement.ts- 테이블 관리 API
진행 상태
- [완료] 단일 화면 복제 + 새로고침
- [완료] 그룹 전체 복제 (재귀적)
- [완료] 고급 옵션: 이름 일괄 변경 (Find & Replace)
- [완료] 단일 화면/그룹 삭제 + 로딩 프로그레스
- [완료] 화면 수정 (이름/그룹/역할/순서)
- [완료] 테이블 설정 탭 추가
- [완료] 입력 타입 변경 시 관련 필드 초기화
- [완료] 그룹 복제 모달 스크롤 문제 수정
이전 프로젝트: 외부 REST API 커넥션 관리 확장 (POST/Body 지원)
개요
현재 GET 방식 위주로 구현된 외부 REST API 커넥션 관리 기능을 확장하여, POST, PUT, DELETE 등 다양한 HTTP 메서드와 JSON Request Body를 설정하고 테스트할 수 있도록 개선합니다. 이를 통해 토큰 발급 API나 데이터 전송 API 등 다양한 외부 시스템과의 연동을 지원합니다.
핵심 기능
- DB 스키마 확장:
external_rest_api_connections테이블에default_method,default_body컬럼 추가 - 백엔드 로직 개선:
- 커넥션 생성/수정 시 메서드와 바디 정보 저장
- 연결 테스트 시 설정된 메서드와 바디를 사용하여 요청 수행
- SSL 인증서 검증 우회 옵션 적용 (내부망/테스트망 지원)
- 프론트엔드 UI 개선:
- 커넥션 설정 모달에 HTTP 메서드 선택(Select) 및 Body 입력(Textarea/JSON Editor) 필드 추가
- 테스트 기능에서 Body 데이터 포함하여 요청 전송
테스트 계획
1단계: 기본 기능 및 DB 마이그레이션
- DB 마이그레이션 스크립트 작성 및 실행
- 백엔드 타입 정의 수정 (
default_method,default_body추가)
2단계: 백엔드 로직 구현
- 커넥션 생성/수정 API 수정 (필드 추가)
- 커넥션 상세 조회 API 확인
- 연결 테스트 API 수정 (Method, Body 반영하여 요청 전송)
3단계: 프론트엔드 구현
- 커넥션 관리 리스트/모달 UI 수정
- 연결 테스트 UI 수정 및 기능 확인
에러 처리 계획
- JSON 파싱 에러: Body 입력값이 유효한 JSON이 아닐 경우 에러 처리
- API 호출 에러: 외부 API 호출 실패 시 상세 로그 기록 및 클라이언트에 에러 메시지 전달
- SSL 인증 에러:
rejectUnauthorized: false옵션으로 처리 (기존RestApiConnector활용)
진행 상태
- [완료] 모든 단계 구현 완료