Repository navigation
Conversation
* feat: 관리자 신청/변경 요청 거절 시 사용자 이메일 발송 추가 - 신청 거절(rejectRequest): 서버명·거절 사유 포함 이메일 발송 - 변경 요청 거절(rejectModification): 변경 유형·거절 사유 포함 이메일 발송 - AlarmService에 sendRequestRejectedEmail, sendModificationRejectedEmail 추가 - messages.properties에 거절 안내 메일 템플릿 추가 (항목 9, 10) * test: 거절 이메일 발송 테스트 추가 AlarmServiceTest - sendRequestRejectedEmail: 이메일 수신자·제목 검증, noti 채널 로그 적재 검증, 메일 실패 시 에러 Slack 발송 검증 - sendModificationRejectedEmail: 동일 패턴 + 변경 유형 제목 포함 여부 검증 AdminRequestCommandServiceTest - rejectRequest: 성공 시 sendRequestRejectedEmail 호출 검증, 사유 전달 검증, 실패 시 미발송 검증 - rejectModification: 성공 시 sendModificationRejectedEmail 호출 검증, 사유 전달 검증, 실패 시 미발송 검증
- [서버 정보] 섹션에 SSH·Jupyter 외 추가 포트 항목({7}) 표시 (없을 시 '없음')
- [초기 설정] 이후 [사용자 매뉴얼] 섹션 삽입 (Google Slides 링크)
- AlarmService.sendContainerCreatedEmail(): PodExternalPort 조회 후
ssh/jupyter를 제외한 추가 포트를 계산하여 메일 본문에 포함
- AlarmServiceTest: SendContainerCreatedEmail 테스트 5건 추가
…email feat: 컨테이너 배정 이메일에 추가 포트 및 사용자 매뉴얼 섹션 추가
이력 보존을 위해 Soft Delete 1년 경과 후 DB row를 완전히 삭제하던 로직을 제거한다. 경고 이메일 발송과 Soft Delete 처리는 그대로 유지되며, 비활성화된 계정은 삭제되지 않고 영구히 보존된다.
- 포트 요약 포맷 로직을 PodPortUtils로 공통화, 삭제 메일 N+1 쿼리 개선 - AdminUserService.deleteUser()가 withdraw()를 호출하지 않아 관리자 삭제 시 deletedAt이 기록되지 않던 버그 수정 - 유저 비활성 경고 메일에 Redis 기반 당일 중복 발송 방지 추가 - ChangeType.PORT 변경 요청 승인 시 항상 UNSUPPORTED_CHANGE_TYPE 예외가 나던 버그 수정 - approveRequest/approveModification에 행 잠금을 추가해 동시 승인 시 중복 provisioning 되는 race condition 제거 - 변경 요청 승인(EXPIRES_AT 외 전체 타입) 및 관리자 계정 삭제 시 누락됐던 안내 메일 추가 - GROUP 타입 변경 요청 승인이 항상 ClassCastException으로 실패하던 기존 버그 발견 및 수정 Closes #381
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
1 task done
…ebase-sync # Conflicts: # src/main/java/DGU_AI_LAB/admin_be/domain/alarm/service/AlarmService.java
1 task done
develop↔main의 merge-base를 최신으로 갱신하기 위한 1회성 진짜 머지. 스쿼시로는 merge-base가 갱신되지 않아 develop→main PR(#383)이 계속 거짓 충돌로 떴던 문제 해결.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
./gradlew test전체 스위트 로컬 통과 (이 레포는 PR 대상 CI가 없어 로컬 실행이 유일한 검증 수단)