Conversation
* chore: application_choice 테이블 추가 및 지망 수 컬럼 추가하는 스크립트 작성 * feat: ApplicationChoice 클래스 추가, 최대 지망 수 필드 추가 * chore: n지망 컬럼 제약 조건 변경 - 컬럼 복수 유지에 대한 임시 조치 * feat: DTO 및 검증 로직 변경 * feat: JPQL 쿼리 변경 * feat: 서비스 메서드 변경 * feat: 어드민 국내 대학 삽입 시 최대 지망 수 관련 DTO에 제약조건 추가 * feat: 대학 검색 응답 필드 변경 * feat: 최대 지망 수 포함하도록 서비스 메서드 변경 * feat: QueryDSL 조인 -> 동적 선택으로 변경 * test: 테스트 픽스처 및 테스트 변경 * refactor: 컨벤션에 맞게 로직 변경 - private 메서드 위치 - Wrapper 타입 - 메서드 레퍼런스 방식 * refactor: 지망 리스트에서 null인 경우 검증 추가 * refactor: 초기 상태에서도 maxChoiceCount만큼의 리스트 크기가 생성되도록 * refactor: 불필요한 검증 제거 * refactor: BatchSize로 N+1 문제 해결 * test: 불필요한 Nested 제거 * chore: mock데이터 수정 * refactor: 유효한 id 검증을 서비스에 추가 - 저장 전에 검증하여 잘못된 id가 DB에 삽입되는 경우 방지 - 중복 조회 제거 * chore: CHECK 제약조건 추가 - 최대 1지망 지원 가능 * chore: FK, 인덱스 추가 * test: containsExactlyInAnyOrder로 변경 - 응답의 개수를 정확히 판별하기 위해 * refactor: 상수 도메인에서 중앙 관리하도록 * test: 최대 지망 대학임을 바로 알 수 있도록 메서드명 변경
* feat: 학교별 이메일 인증으로 HomeUniversity 자동 매핑 (#751) - HomeUniversity에 emailDomain 컬럼 추가 (V50 마이그레이션) - HomeUniversityRepository에 findByEmailDomain 메서드 추가 - EmailService 구현 (JavaMailSender 기반 인증 코드 발송) - SchoolEmailService 구현 (인증 코드 발급/확인, Redis TTL 5분) - SiteUser.verifySchool() 도메인 메서드 추가 - MyPageController에 POST /my/school-email, POST /my/school-email/confirm 엔드포인트 추가 - 어드민 HomeUniversity DTO에 emailDomain 필드 반영 * refactor: EmailService를 common/mail/MailService로 이동 email 발송은 공통 인프라 관심사이므로 별도 email 패키지 대신 common/mail 패키지로 이동 * refactor: 학교 이메일 인증 API 응답 body 제거 클라이언트가 이미 알고 있는 이메일을 응답으로 돌려줄 필요가 없으므로 SchoolEmailResponse 제거 및 반환 타입을 void로 변경 * refactor: Redis 저장 실패 시 CustomException으로 처리 RuntimeException 대신 SCHOOL_EMAIL_VERIFICATION_INFO_SAVE_FAILED ErrorCode를 사용하여 예외 처리를 명확하게 표현 * refactor: Redis 인증 정보 역직렬화 실패 시 CORRUPTED 예외로 처리 데이터가 존재하지만 파싱 실패인 경우 REQUEST_NOT_FOUND 대신 SCHOOL_EMAIL_VERIFICATION_INFO_CORRUPTED로 명확하게 구분 * test: 학교 이메일 인증 테스트를 인하대학교(inha.edu) 기반으로 변경 * style: 테스트 Given-When-Then 주석 소문자로 통일 * feat: data.sql에 HomeUniversity email_domain 데이터 추가 * fix: CodeRabbit 리뷰 반영 - emailDomain 검증 강화 및 트랜잭션 범위 축소 - V50 마이그레이션에 기존 대학 email_domain 백필 UPDATE 추가 - AdminHomeUniversityService에 emailDomain 중복 검증 추가 - SchoolEmailService에서 이메일 발송 실패 시 Redis 보상 삭제 추가 - requestSchoolEmailVerification에서 불필요한 @transactional 제거 - extractEmailDomain에서 도메인 소문자 정규화 적용 - AdminHomeUniversity DTO의 emailDomain 검증을 @pattern으로 강화 * revert: V50 마이그레이션에서 DML 제거 * refactor: @Email 검증으로 보장된 중복 atIndex 검사 제거 * refactor: develop rebase 충돌 해결 및 테스트 코드 적용 * fix: emailDomain @SiZe 검증 추가
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입 * fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결) * fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입 * fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결) * fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영 * fix: 레거시 액추에이터 노출 포트와 일치시키기
* refactor: prod/stage 환경 nginx 블루/그린 배포 방식 도입 * fix: 리뷰 반영(management port 충돌 문제 해결, MySQL 경로 버그 문제 해결) * fix: 액츄에이터 노출 & dev/prod 스크립트 일치 반영 * fix: 레거시 액추에이터 노출 포트와 일치시키기
- refactor: 액추에이터 포트 검사 방식 변경(status:UP -> http_status_code)
* feat: CD 과정에서 블루/그린 환경 변화에 따른 Promethus actuator port 동적 변경 * refactor: hostname -I SSH 호출 로직 제거 * fix: 파싱 결과가 8080/9080이 아닌 경우 명시적 실패 처리
* feat: Promethus target을 public 엔드포인트가 아닌 private IP로 수정 * fix: IMDSv2 반영 및 PRIVATE_IP 빈값 검증 및 명시적 실패 로직 추가
* feat: 관리자 대학 이미지 업로드 경로 추가 - 관리자 대학 로고와 배경 이미지 업로드 API를 추가 - 대학 영문명을 서버에서 업로드 디렉토리명으로 변환 - S3 업로드 서비스에 동적 하위 디렉토리 경로 생성을 추가 * feat: 관리자 대학 이미지 업로드 테스트 추가 - 대학 영문명 디렉토리명 변환 테스트를 추가 - 동적 하위 디렉토리 기반 S3 업로드 경로 테스트를 추가 * feat: 대학 이미지 업로드 경로 충돌 방지 - 대학 영문명 디렉토리명에 원본 영문명 해시를 추가 - 파견 대학 영문명 중복 검증과 유니크 제약을 추가 - 정규화 충돌과 영문명 중복 검증 테스트를 추가 * feat: 이미지 전용 업로드 확장자 제한 - 업로드 경로별 이미지 전용 검증 정책을 추가 - 관리자 대학 이미지 업로드에서 문서 확장자를 차단 - 증빙 파일 업로드의 문서 확장자 허용 동작을 테스트로 보장
* feat: 모의지원 최대 지망 수를 동적으로 관리하도록 (#746) * chore: application_choice 테이블 추가 및 지망 수 컬럼 추가하는 스크립트 작성 * feat: ApplicationChoice 클래스 추가, 최대 지망 수 필드 추가 * chore: n지망 컬럼 제약 조건 변경 - 컬럼 복수 유지에 대한 임시 조치 * feat: DTO 및 검증 로직 변경 * feat: JPQL 쿼리 변경 * feat: 서비스 메서드 변경 * feat: 어드민 국내 대학 삽입 시 최대 지망 수 관련 DTO에 제약조건 추가 * feat: 대학 검색 응답 필드 변경 * feat: 최대 지망 수 포함하도록 서비스 메서드 변경 * feat: QueryDSL 조인 -> 동적 선택으로 변경 * test: 테스트 픽스처 및 테스트 변경 * refactor: 컨벤션에 맞게 로직 변경 - private 메서드 위치 - Wrapper 타입 - 메서드 레퍼런스 방식 * refactor: 지망 리스트에서 null인 경우 검증 추가 * refactor: 초기 상태에서도 maxChoiceCount만큼의 리스트 크기가 생성되도록 * refactor: 불필요한 검증 제거 * refactor: BatchSize로 N+1 문제 해결 * test: 불필요한 Nested 제거 * chore: mock데이터 수정 * refactor: 유효한 id 검증을 서비스에 추가 - 저장 전에 검증하여 잘못된 id가 DB에 삽입되는 경우 방지 - 중복 조회 제거 * chore: CHECK 제약조건 추가 - 최대 1지망 지원 가능 * chore: FK, 인덱스 추가 * test: containsExactlyInAnyOrder로 변경 - 응답의 개수를 정확히 판별하기 위해 * refactor: 상수 도메인에서 중앙 관리하도록 * test: 최대 지망 대학임을 바로 알 수 있도록 메서드명 변경 * feat: 컬럼 매핑 alias enum class 작성 * feat: 마크다운 표 파서 클래스 추가 * feat: DTO 작성 * refactor: deprecated 컬럼 제거 * feat: 서비스 계층 로직 작성 * feat: 지원 대학 정보 삽입 관련 로직 추가 * feat: 컨트롤러 작성 * fix: 중간 빈 셀이 있는 경우 정상적으로 저장이 되지 않던 문제 수정 * chore: 어드민 관련 계정 추가 외 - admin@test.email - Admin@1234 - 로컬 어드민 웹에 대한 접근 허용 * feat: 학기 추가, 조회, 현재 학기 설정 관련 어드민 API 추가 * refactor: 현재 학기 설정 관련 무결성 제약조건 위반하지 않도록 Modifying 쿼리 사용 * refactor: 누락 필드 임시 추가 - 추후 제거 예정 * feat: host_university 테이블 컬럼 또한 입력으로 받도록 - host_university가 없는 경우 추가해줘야 한다. * fix: 컬럼명 오타 수정 * feat: 세부 레코드 삽입 실패 이유까지 전달하도록 * feat: 셀 단위 타입·열거형·길이 제약 검증 추가 * test: enum 변환 실패 시 행 실패 동작으로 테스트 수정 * test: 셀 단위 타입·길이 검증 테스트 추가 * fix: 마크다운 파서에서 이스케이프된 파이프 문자 처리 * refactor: 지원 대학 삽입 응답에서 각 셀 검증 제거 * test: 각 셀 검증 제거에 따른 테스트 수정 * refactor: 학기 이름 관련 변수명 수정 - label -> name * refactor: 불명확한 변수명 수정 - 활성화할 학기에 대한 변수 이름을 termToActivate로 수정한다. * refactor: 부분 실패 대신 전체 실패 * chore: 국가 코드 추가 * refactor: 비어있는 키-값에 대한 검증 추가 * refactor: 컬럼 길이 제한 수정 - 영문 대학명: 200자 - 기숙사, 어학 세부 조건: 2000자 * refactor: 코드래빗 리뷰 반영 * refactor: 컨벤션 위반 항목 전면 수정 * chore: 두 스크립트 하나로 병합 * feat: 지원 대학 추가 시 캐시 무효화 * chore: 목데이터 수정 * chore: 어드민 기능 테스트 관련 목데이터 추가
* refactor: (english_name, korean_name) 조합으로 UK 설정하도록 * refactor: 복합 UK 제거, english_name 중복 허용
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 443665f7e7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
No description provided.