현재 상황 분석 및 문서화:
컨트롤러 레이어:
- ✅ adminController.ts (28개) 완료
- ✅ screenFileController.ts (2개) 완료
- 🔄 남은 파일 (12개 호출):
* webTypeStandardController.ts (11개)
* fileController.ts (1개)
Routes & Services:
- ddlRoutes.ts (2개)
- companyManagementRoutes.ts (2개)
- multiConnectionQueryService.ts (4개)
Config:
- database.ts (4개 - 제거 예정)
새로운 계획서:
- PHASE4_REMAINING_PRISMA_CALLS.md (상세 전환 계획)
- 파일별 Prisma 호출 상세 분석
- 전환 패턴 및 우선순위 정리
전체 진행률: 445/444 (100.2%)
남은 작업: 12개 (추가 조사 필요한 파일 제외)
외부 호출 설정 관리 서비스의 모든 Prisma 호출을 Raw Query로 전환:
## 전환 완료 (8개 Prisma 호출)
1. **getConfigs()** - 목록 조회
- prisma.findMany → query<ExternalCallConfig>()
- 동적 WHERE 조건 (5개 필터)
- ILIKE 검색 (config_name, description)
2. **getConfigById()** - 단건 조회
- prisma.findUnique → queryOne<ExternalCallConfig>()
3-4. **createConfig()** - 생성
- 중복 검사: prisma.findFirst → queryOne()
- 생성: prisma.create → queryOne() with INSERT RETURNING
- JSON 필드 처리: config_data
5-6. **updateConfig()** - 수정
- 중복 검사: prisma.findFirst → queryOne() with id != $4
- 수정: prisma.update → queryOne() with 동적 UPDATE
- 9개 필드에 대한 조건부 SET 절 생성
7. **deleteConfig()** - 논리 삭제
- prisma.update → query() with is_active = 'N'
8. **getExternalCallConfigsForButtonControl()** - 버튼 제어용
- prisma.findMany with select → query() with SELECT
## 기술적 개선사항
- **동적 WHERE 조건**: 5개 필터 조건 조합 및 파라미터 인덱싱
- **동적 UPDATE 쿼리**: 변경된 필드만 포함하는 SET 절 생성
- **JSON 필드**: config_data를 JSON.stringify()로 처리
- **ILIKE 검색**: 대소문자 구분 없는 검색 구현
- **중복 검사**: id 제외 조건으로 자신 제외 로직 유지
## 코드 정리
- prisma import 완전 제거
- query, queryOne 함수 사용
- 컴파일 및 린터 오류 없음
문서: PHASE3.12_EXTERNAL_CALL_CONFIG_SERVICE_MIGRATION.md
진행률: Phase 3 136/162 (84.0%)
4개 주요 서비스에 대한 상세 전환 계획서 작성:
1. **Phase 3.11: DDLAuditLogger** (8개 호출)
- DDL 실행 감사 로그 관리
- 통계 쿼리 (GROUP BY, CASE WHEN, AVG)
- 동적 WHERE 조건
- JSON 필드 처리
- 날짜/시간 함수
2. **Phase 3.12: ExternalCallConfigService** (8개 호출)
- 외부 API 호출 설정 관리
- JSON 필드 (headers, params, auth_config)
- 민감 정보 암호화/복호화
- 동적 CRUD 쿼리
3. **Phase 3.13: EntityJoinService** (5개 호출)
- 엔티티 간 조인 관계 관리
- LEFT JOIN 쿼리
- 조인 유효성 검증
- 순환 참조 방지
4. **Phase 3.14: AuthService** (5개 호출)
- 사용자 인증 및 권한 관리
- 비밀번호 암호화/검증 (bcrypt)
- 세션 토큰 관리
- 보안 크리티컬
- SQL 인젝션 방지
각 계획서 포함 내용:
- 파일 정보 및 복잡도
- Prisma 사용 현황 분석
- 전환 전략 (단계별)
- 상세 전환 예시 (Before/After)
- 기술적 고려사항
- 전환 체크리스트
- 예상 난이도 및 소요 시간
- 보안/성능 주의사항
메인 문서에 계획서 링크 추가