-
Notifications
You must be signed in to change notification settings - Fork 4
refactor: 관리자 패키지 구조 개선 #328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
개요클래스들이 변경사항
예상 코드 리뷰 난이도🎯 2 (단순) | ⏱️ ~12분
시
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
Test Results233 tests 233 ✅ 10s ⏱️ Results for commit 3b29114. |
📊테스트 커버리지
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
src/main/java/org/ject/support/domain/member/repository/MemberQueryRepositoryImpl.java (1)
9-118: 도메인 레포지토리에서 admin DTO를 직접 반환하는 구조는 중장기적으로 분리 검토가 필요해 보입니다이번 변경은
QMemberResponse,MemberResponse의 패키지만admin.member.dto로 옮긴 것이지만, 여전히 도메인 레포지토리(MemberQueryRepositoryImpl)가 admin 전용 DTO를 직접 생성·반환하고 있어 레이어 간 의존성이 뒤엉킬 여지가 있습니다.추후에는 레포지토리가 도메인 전용 프로젝션(예:
MemberSummary같은 DTO)을 반환하고, admin 쪽 서비스/컨트롤러에서 이를MemberResponse로 매핑하도록 분리하는 구조를 검토해 보시면 좋겠습니다.src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyResponse.java (1)
1-36: 패키지 이동은 적절하고,hasPortfolio계산 기준만 한 번 점검해 보면 좋겠습니다패키지 이동 외에는 기능 변화가 없고,
SubmittedApplyResponse.from(...)의 필드 매핑도 자연스럽습니다. 다만hasPortfolio가ApplicationForm의 포트폴리오 리스트를 기준으로 계산되고, 응답에 내려가는 포트폴리오는 매개변수portfolios를 사용하고 있어 두 소스가 항상 동일하다는 전제를 가집니다.서비스 계층에서 포트폴리오를 필터링/매핑하는 경우가 있다면,
hasPortfolio를portfolios인자 기준으로 계산하는 쪽이 더 안전할 수 있는지 한 번만 검토해 보시면 좋겠습니다.src/main/java/org/ject/support/admin/apply/controller/TempApplyController.java (1)
25-25: 필드명을 새로운 네이밍 규칙에 맞게 변경하는 것을 권장합니다.클래스명이
AdminTempApplyController에서TempApplyController로, 서비스 타입이AdminTempApplyService에서TempApplyService로 변경되었으나, 필드명은 여전히adminTempApplyService로 "Admin" 접두사를 포함하고 있습니다. 일관성을 위해 필드명도tempApplyService로 변경하는 것이 좋습니다.다음과 같이 변경을 권장합니다:
- private final TempApplyService adminTempApplyService; + private final TempApplyService tempApplyService;그리고 Line 30, 36, 42, 49에서도 해당 필드 사용 부분을 함께 변경해야 합니다:
- return adminTempApplyService.getTempApplyDetail(tempApplyId); + return tempApplyService.getTempApplyDetail(tempApplyId);src/test/java/org/ject/support/admin/apply/service/TempApplyServiceTest.java (1)
31-35: 필드 이름을 서비스 이름과 맞추면 가독성이 조금 더 좋아질 것 같습니다.
TempApplyService타입을 주입받으면서 필드명이 여전히adminTempApplyService로 남아 있는데,tempApplyService등으로 맞춰 두면 이후 코드 리딩/검색 시 혼동을 줄일 수 있을 것 같습니다.isZero()사용으로 AssertJ 스타일을 통일한 부분은 👍 입니다.Also applies to: 173-178
src/main/java/org/ject/support/admin/apply/controller/TempApplyApiSpec.java (1)
1-7: 임시 지원서 ApiSpec 네임스페이스 및 타입명 변경 시 외부 참조 영향만 한 번 더 확인해 주세요.
AdminTempApplyApiSpec→TempApplyApiSpec로 타입명이 바뀌고 패키지가admin.apply.controller로 이동해서, 같은 모듈 내 컨트롤러 구현체들은 잘 따라온다면 문제 없겠지만, 다른 모듈에서 이 인터페이스를 직접 참조하고 있었다면 import/타입 변경이 필요할 수 있습니다. 현재 PR 범위 안에서는 DTO·패키지 구조가 일관되어 보입니다.Also applies to: 15-41
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (47)
src/main/java/org/ject/support/admin/apply/controller/ApplyPassApiSpec.java(1 hunks)src/main/java/org/ject/support/admin/apply/controller/ApplyPassController.java(1 hunks)src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyApiSpec.java(1 hunks)src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyController.java(1 hunks)src/main/java/org/ject/support/admin/apply/controller/TempApplyApiSpec.java(2 hunks)src/main/java/org/ject/support/admin/apply/controller/TempApplyController.java(2 hunks)src/main/java/org/ject/support/admin/apply/dto/ApplicationFormResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/ApplyPassRequest.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyBulkDeleteRequest.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyCountResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyDetailResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyEditRequest.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/TempApplyDetailResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/TempSavedApplyCountResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/dto/TempSavedApplyResponse.java(1 hunks)src/main/java/org/ject/support/admin/apply/service/ApplyPassService.java(1 hunks)src/main/java/org/ject/support/admin/apply/service/SubmittedApplyService.java(1 hunks)src/main/java/org/ject/support/admin/apply/service/TempApplyService.java(2 hunks)src/main/java/org/ject/support/admin/auth/component/AdminMemberComponent.java(1 hunks)src/main/java/org/ject/support/admin/auth/controller/AdminAuthApiSpec.java(1 hunks)src/main/java/org/ject/support/admin/auth/controller/AdminAuthController.java(1 hunks)src/main/java/org/ject/support/admin/auth/dto/AdminAuthSendSlackRequest.java(1 hunks)src/main/java/org/ject/support/admin/auth/dto/AdminAuthSendSlackResponse.java(1 hunks)src/main/java/org/ject/support/admin/auth/dto/AdminVerifySlackRequest.java(1 hunks)src/main/java/org/ject/support/admin/auth/service/AdminAuthService.java(1 hunks)src/main/java/org/ject/support/admin/exception/AdminErrorCode.java(1 hunks)src/main/java/org/ject/support/admin/exception/AdminException.java(1 hunks)src/main/java/org/ject/support/admin/member/controller/MemberManagementApiSpec.java(1 hunks)src/main/java/org/ject/support/admin/member/controller/MemberManagementController.java(1 hunks)src/main/java/org/ject/support/admin/member/dto/MemberBulkDeleteRequest.java(1 hunks)src/main/java/org/ject/support/admin/member/dto/MemberDetailResponse.java(1 hunks)src/main/java/org/ject/support/admin/member/dto/MemberEditRequest.java(1 hunks)src/main/java/org/ject/support/admin/member/dto/MemberRegisterRequest.java(1 hunks)src/main/java/org/ject/support/admin/member/dto/MemberResponse.java(1 hunks)src/main/java/org/ject/support/admin/member/service/MemberManagementService.java(1 hunks)src/main/java/org/ject/support/domain/member/repository/MemberQueryRepository.java(1 hunks)src/main/java/org/ject/support/domain/member/repository/MemberQueryRepositoryImpl.java(1 hunks)src/test/java/org/ject/support/admin/apply/service/ApplyPassServiceTest.java(1 hunks)src/test/java/org/ject/support/admin/apply/service/SubmittedApplyServiceTest.java(1 hunks)src/test/java/org/ject/support/admin/apply/service/TempApplyServiceTest.java(3 hunks)src/test/java/org/ject/support/admin/auth/component/AdminMemberComponentTest.java(1 hunks)src/test/java/org/ject/support/admin/auth/controller/AdminAuthControllerTest.java(1 hunks)src/test/java/org/ject/support/admin/auth/service/AdminAuthServiceTest.java(1 hunks)src/test/java/org/ject/support/admin/member/controller/MemberManagementControllerTest.java(2 hunks)src/test/java/org/ject/support/admin/member/service/MemberManagementServiceTest.java(2 hunks)src/test/java/org/ject/support/domain/member/repository/MemberQueryRepositoryTest.java(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-23T13:43:33.075Z
Learnt from: 023-dev
Repo: JECT-Study/JECT-Official-WebSite-Server PR: 306
File: src/main/java/org/ject/support/domain/admin/service/SubmittedApplyService.java:29-38
Timestamp: 2025-10-23T13:43:33.075Z
Learning: In `SubmittedApplyService.java` (Java service class in Spring Boot application), the bulk delete method `deleteSubmittedApplies` uses `applyIds.stream().distinct().toList()` to deduplicate input IDs before calling `findAllByIdAndStatusWithMember(distinctIds, Status.SUBMITTED)` to fetch Apply entities with status filtering and member join fetch, preventing duplicate ID issues in the size check.
Applied to files:
src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyApiSpec.javasrc/main/java/org/ject/support/admin/apply/controller/SubmittedApplyController.javasrc/main/java/org/ject/support/admin/apply/service/SubmittedApplyService.javasrc/main/java/org/ject/support/admin/apply/service/ApplyPassService.javasrc/main/java/org/ject/support/admin/apply/service/TempApplyService.javasrc/main/java/org/ject/support/admin/apply/controller/TempApplyApiSpec.javasrc/main/java/org/ject/support/admin/apply/controller/TempApplyController.javasrc/main/java/org/ject/support/admin/apply/dto/SubmittedApplyBulkDeleteRequest.javasrc/test/java/org/ject/support/admin/apply/service/SubmittedApplyServiceTest.java
📚 Learning: 2025-10-23T13:43:48.042Z
Learnt from: 023-dev
Repo: JECT-Study/JECT-Official-WebSite-Server PR: 306
File: src/main/java/org/ject/support/domain/admin/service/SubmittedApplyService.java:28-38
Timestamp: 2025-10-23T13:43:48.042Z
Learning: In `SubmittedApplyService.java` (Java service class in Spring Boot application), the bulk delete method `deleteSubmittedApplies` deduplicates the input ID list using `stream().distinct().toList()` before calling `findAllByIdAndStatusWithMember(distinctIds, Status.SUBMITTED)` to fetch multiple Apply entities with status filtering and member join fetch in a single query, preventing N+1 issues and ensuring only SUBMITTED applies are deleted.
Applied to files:
src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyApiSpec.javasrc/main/java/org/ject/support/admin/apply/controller/SubmittedApplyController.javasrc/main/java/org/ject/support/admin/apply/service/SubmittedApplyService.javasrc/main/java/org/ject/support/admin/apply/service/ApplyPassService.javasrc/main/java/org/ject/support/admin/apply/service/TempApplyService.javasrc/main/java/org/ject/support/admin/apply/dto/SubmittedApplyBulkDeleteRequest.javasrc/test/java/org/ject/support/admin/apply/service/SubmittedApplyServiceTest.java
🧬 Code graph analysis (4)
src/main/java/org/ject/support/admin/auth/service/AdminAuthService.java (2)
src/main/java/org/ject/support/common/util/CodeGeneratorUtil.java (1)
CodeGeneratorUtil(6-29)src/main/java/org/ject/support/admin/exception/AdminException.java (1)
AdminException(5-9)
src/test/java/org/ject/support/admin/auth/service/AdminAuthServiceTest.java (1)
src/main/java/org/ject/support/admin/exception/AdminException.java (1)
AdminException(5-9)
src/test/java/org/ject/support/admin/auth/component/AdminMemberComponentTest.java (1)
src/main/java/org/ject/support/admin/exception/AdminException.java (1)
AdminException(5-9)
src/main/java/org/ject/support/admin/auth/component/AdminMemberComponent.java (1)
src/main/java/org/ject/support/admin/exception/AdminException.java (1)
AdminException(5-9)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: check-application
🔇 Additional comments (44)
src/main/java/org/ject/support/admin/apply/dto/TempSavedApplyResponse.java (1)
1-1: 패키지 구조 개선이 적절합니다.Apply 관련 DTO를
admin.apply.dto패키지로 이동한 것은 도메인별 모듈화 목표와 일치하며, 논리적인 구조입니다.src/main/java/org/ject/support/admin/member/dto/MemberEditRequest.java (1)
1-1: 멤버 관련 DTO의 패키지 이동이 적절합니다.Member 관련 DTO를
admin.member.dto패키지로 이동하여 도메인별 관심사 분리가 명확해졌습니다.src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyEditRequest.java (1)
1-1: Apply 도메인 DTO의 일관된 재배치입니다.제출된 지원서 관련 DTO를
admin.apply.dto로 이동하여 apply 도메인의 응집도가 향상되었습니다.src/main/java/org/ject/support/admin/exception/AdminException.java (1)
1-1: 공통 예외 클래스의 위치가 적절합니다.Admin 전반에서 사용되는 공통 예외를
admin.exception패키지로 이동하여 admin 하위 모든 서브도메인에서 접근하기 용이한 구조가 되었습니다.src/main/java/org/ject/support/admin/apply/service/ApplyPassService.java (1)
1-1: Apply 서비스의 패키지 이동이 올바릅니다.Apply 합격 처리 서비스를
admin.apply.service패키지로 이동하여 apply 도메인의 컨트롤러, DTO, 서비스가 하나의 모듈로 응집되었습니다.src/main/java/org/ject/support/admin/apply/dto/TempSavedApplyCountResponse.java (1)
1-1: 임시 저장 지원서 관련 DTO의 패키지 이동이 적절합니다.Apply 관련 카운트 응답 DTO를
admin.apply.dto로 이동하여 apply 도메인의 일관된 패키지 구조가 완성되었습니다.src/main/java/org/ject/support/admin/auth/controller/AdminAuthApiSpec.java (1)
1-1: Auth 도메인의 패키지 및 임포트 업데이트가 완벽합니다.API 스펙을
admin.auth.controller패키지로 이동하고, 관련 DTO 임포트를admin.auth.dto로 업데이트하여 auth 도메인의 완전한 모듈화를 달성했습니다.Also applies to: 8-10
src/main/java/org/ject/support/admin/member/dto/MemberBulkDeleteRequest.java (1)
1-1: 패키지 이동이 완벽하게 완료되었습니다.검증 결과, 이전
domain.admin.*패키지 경로에 대한 참조가 코드베이스 전체에서 발견되지 않았습니다. 멤버 관련 DTO의 패키지 이동이 완전하게 처리되었으며, 모든 의존성이 올바르게 업데이트되었습니다.src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyDetailResponse.java (1)
1-34: 패키지 이동으로 admin.apply DTO 계층 정리가 잘 되었습니다
SubmittedApplyDetailResponse는 패키지만 변경되었고,from(...)팩토리 메서드의 멤버/날짜 매핑 로직도 기존 도메인 모델과 일관적으로 보입니다. 이번 변경으로 인한 기능상의 이슈는 없어 보입니다.src/test/java/org/ject/support/admin/apply/service/ApplyPassServiceTest.java (1)
1-115: 새 admin.apply 서비스 구조에 맞게 테스트 패키지/임포트가 잘 정리되었습니다테스트 패키지와 임포트가
admin.apply.service구조와 일치하도록 변경되었고, 합격 처리/예외 처리 시나리오 자체는 그대로 유지되어ApplyPassService동작을 잘 검증하고 있습니다.src/test/java/org/ject/support/admin/auth/component/AdminMemberComponentTest.java (1)
1-87: Auth 컴포넌트 패키지로의 이동 및 예외 임포트 정리가 일관적입니다테스트 패키지와
AdminErrorCode,AdminException임포트가 새admin.auth/admin.exception구조에 맞게 정리되었고, 예외/정상/상태 변경 시나리오도 여전히 기대 동작을 정확히 검증하고 있습니다.src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyBulkDeleteRequest.java (1)
1-11: 요청 DTO는 패키지 이동 외에 기존 서비스 계약을 그대로 유지하고 있습니다
applyIds에@NotEmpty만 두고, 중복 제거·상태 검증은 서비스 계층에서 처리하는 구조가 유지되어 있어 책임 분리가 명확합니다. 패키지만admin.apply.dto로 이동된 것으로 보이며, 추가적인 변경 필요성은 없어 보입니다. (Based on learnings)src/main/java/org/ject/support/admin/auth/component/AdminMemberComponent.java (1)
1-34: AdminMemberComponent의 auth 컴포넌트 편입과 예외 패키지 변경이 자연스럽습니다
AdminMemberComponent가admin.auth.component로 이동하면서AdminException,AdminErrorCode의 새 위치를 사용하도록 정리된 점이 PR 목적과 잘 맞습니다. 관리자 조회/상태 변경 로직과 트랜잭션 설정도 기존 동작을 그대로 유지할 것으로 보입니다.src/main/java/org/ject/support/admin/member/dto/MemberDetailResponse.java (1)
1-33: Member 관리용 DTO를 admin.member 패키지로 이동한 정리가 적절합니다
MemberDetailResponse가admin.member.dto로 이동하면서, Member/Semester에서의 필드 매핑 로직(특히semesterName에서 숫자만 추출하는 부분)도 그대로 유지되어 기존 API 계약과 일관성을 잘 지키고 있습니다.src/main/java/org/ject/support/admin/apply/controller/ApplyPassApiSpec.java (1)
1-16: 패키지 구조 개선이 올바르게 적용되었습니다.
domain.admin패키지에서admin.apply로 모듈이 적절히 분리되었으며, 관련 DTO 임포트 경로도 일관되게 업데이트되었습니다.src/main/java/org/ject/support/domain/member/repository/MemberQueryRepository.java (1)
5-5: DTO 임포트 경로가 새로운 패키지 구조에 맞게 올바르게 업데이트되었습니다.도메인 레이어의 리포지토리가 관리자 모듈의 DTO를 참조하도록 임포트 경로가 적절히 변경되었습니다.
src/test/java/org/ject/support/domain/member/repository/MemberQueryRepositoryTest.java (1)
10-10: 테스트 코드의 임포트가 새로운 패키지 구조에 맞게 올바르게 업데이트되었습니다.테스트 로직에는 변경이 없으며, DTO 임포트 경로만 적절히 업데이트되었습니다.
src/main/java/org/ject/support/admin/auth/dto/AdminAuthSendSlackRequest.java (1)
1-11: 관리자 인증 관련 DTO가 적절한 패키지로 이동되었습니다.
admin.auth.dto패키지로의 이동은 인증 관련 코드를 명확히 분리하는 리팩토링 목표와 일치합니다.src/test/java/org/ject/support/admin/auth/controller/AdminAuthControllerTest.java (1)
1-83: 테스트 클래스의 패키지 및 임포트가 일관되게 업데이트되었습니다.컨트롤러 테스트가
admin.auth.controller패키지로 이동되었으며, 모든 관련 DTO 및 서비스 임포트가 새로운 구조에 맞게 올바르게 변경되었습니다. 테스트 로직은 변경되지 않았습니다.src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyApiSpec.java (1)
1-53: 제출된 지원서 API 스펙이 새로운 모듈 구조로 적절히 이동되었습니다.
admin.apply패키지로의 이동과 모든 DTO 임포트의 일관된 업데이트가 확인됩니다. API 시그니처에는 변경이 없습니다.src/test/java/org/ject/support/admin/apply/service/SubmittedApplyServiceTest.java (1)
1-487: 서비스 테스트의 패키지 구조가 올바르게 개선되었습니다.
admin.apply.service패키지로 이동되었으며, 관련 DTO 임포트가 일관되게 업데이트되었습니다. 16개의 테스트 케이스 모두 변경 없이 유지되어 기능 무결성이 보장됩니다.src/main/java/org/ject/support/admin/auth/dto/AdminAuthSendSlackResponse.java (1)
1-7: 응답 DTO가 인증 모듈의 적절한 위치로 이동되었습니다.요청 DTO(
AdminAuthSendSlackRequest)와 함께admin.auth.dto패키지에 배치되어 응집도가 향상되었습니다.src/main/java/org/ject/support/admin/apply/service/SubmittedApplyService.java (2)
1-10: 패키지 구조 개선이 잘 적용되었습니다.서비스 클래스와 DTO 임포트가 새로운 모듈 구조(
admin.apply.*)로 일관되게 리팩토링되었습니다. 비즈니스 로직 변경 없이 패키지 구조만 개선된 점이 좋습니다.
1-173: 패키지 마이그레이션 검증 완료 - 참조 업데이트 확인됨검증 결과, 코드베이스 전체에서
SubmittedApplyService및 관련 DTO들의 패키지 마이그레이션이 정상적으로 완료되었습니다:
- ✅ 이전 패키지 경로(
org.ject.support.domain.admin.*) 참조 없음- ✅ 모든 DTO와 서비스가 올바른 새 패키지 경로 사용 중
- ✅ 컨트롤러(
SubmittedApplyController), API 스펙, 테스트에서 모두 정상 import- ✅ 전체 크로스 참조 업데이트 완료
src/main/java/org/ject/support/admin/auth/dto/AdminVerifySlackRequest.java (1)
1-1: 인증 관련 DTO의 패키지 이동이 적절합니다.
admin.auth.dto네임스페이스로의 이동이 모듈 분리 목적에 부합합니다.src/main/java/org/ject/support/admin/apply/dto/ApplicationFormResponse.java (1)
1-1: 지원서 관련 DTO의 패키지 이동이 올바릅니다.
admin.apply.dto네임스페이스로의 이동이 도메인별 분리 구조에 적합합니다.src/main/java/org/ject/support/admin/apply/controller/ApplyPassController.java (1)
1-5: 컨트롤러의 패키지 리팩토링이 깔끔합니다.컨트롤러와 관련 DTO, 서비스의 임포트가 새로운
admin.apply.*구조로 일관되게 업데이트되었습니다.src/main/java/org/ject/support/admin/member/dto/MemberRegisterRequest.java (1)
1-1: 회원 관리 DTO의 패키지 분리가 적절합니다.
admin.member.dto네임스페이스로의 이동이 회원 관리 모듈 분리에 적합합니다.src/main/java/org/ject/support/admin/member/dto/MemberResponse.java (1)
1-1: 회원 응답 DTO의 패키지 이동이 올바릅니다.
admin.member.dto로의 이동이 일관된 모듈 구조를 형성합니다.src/test/java/org/ject/support/admin/member/service/MemberManagementServiceTest.java (1)
1-1: 테스트 클래스의 패키지 구조 업데이트가 완료되었습니다.테스트 패키지와 임포트가 새로운
admin.member.*구조에 맞춰 정확하게 리팩토링되었습니다. 테스트 로직은 변경되지 않아 안전합니다.Also applies to: 12-16
src/test/java/org/ject/support/admin/auth/service/AdminAuthServiceTest.java (1)
1-1: 인증 서비스 테스트의 패키지 리팩토링이 완료되었습니다.테스트 패키지가
admin.auth.service로 이동하고, 관련 컴포넌트 및 예외 클래스 임포트가 새로운 구조(admin.auth.component,admin.exception)에 맞춰 업데이트되었습니다.Also applies to: 5-7
src/main/java/org/ject/support/admin/apply/dto/ApplyPassRequest.java (1)
1-6: 패키지 구조 개선이 적절하게 적용되었습니다.DTO 클래스가
domain.admin.dto에서admin.apply.dto로 이동되어 apply 도메인별로 모듈화된 구조를 갖추게 되었습니다.src/main/java/org/ject/support/admin/exception/AdminErrorCode.java (1)
1-20: 예외 처리 패키지 재정비가 올바르게 수행되었습니다.관리자 관련 예외 코드가
domain.admin.exception에서admin.exception으로 이동하여 도메인 패키지와 분리되었습니다.src/main/java/org/ject/support/admin/apply/dto/TempApplyDetailResponse.java (1)
1-43: 임시 지원서 상세 응답 DTO의 패키지 이동이 적절합니다.DTO가
admin.apply.dto패키지로 이동되어 apply 관련 응답 객체들이 일관되게 그룹화되었습니다.src/main/java/org/ject/support/admin/auth/service/AdminAuthService.java (1)
1-112: 관리자 인증 서비스의 패키지 재구성이 성공적으로 완료되었습니다.서비스가
domain.admin.service에서admin.auth.service로 이동하여 인증 관련 로직이 명확하게 분리되었습니다. 모든 의존성 import도 새로운 패키지 구조에 맞게 정확히 업데이트되었습니다.src/main/java/org/ject/support/admin/apply/controller/SubmittedApplyController.java (1)
1-75: 제출된 지원서 컨트롤러의 패키지 구조 개선이 올바르게 적용되었습니다.컨트롤러와 관련 DTO/서비스 import가
admin.apply.*네임스페이스로 일관되게 이동되어 apply 모듈이 적절히 모듈화되었습니다.src/main/java/org/ject/support/admin/apply/dto/SubmittedApplyCountResponse.java (1)
1-11: 제출된 지원서 카운트 응답 DTO의 패키지 이동이 적절합니다.DTO가
admin.apply.dto로 이동되었으며, compact constructor에서 null-safety 처리도 적절히 유지되고 있습니다.src/test/java/org/ject/support/admin/member/controller/MemberManagementControllerTest.java (1)
1-518: 회원 관리 컨트롤러 테스트의 패키지 구조 업데이트가 정확합니다.테스트 파일의 패키지와 import 구문이 새로운
admin.member.*구조에 맞게 업데이트되었으며, 기존 테스트 로직은 그대로 보존되어 있습니다.src/main/java/org/ject/support/admin/apply/controller/TempApplyController.java (1)
1-51: 임시 지원서 컨트롤러의 리팩토링이 대체로 잘 수행되었습니다.클래스명과 인터페이스가 적절히 변경되었고, 패키지 구조도
admin.apply.controller로 올바르게 이동되었습니다.src/main/java/org/ject/support/admin/member/controller/MemberManagementController.java (1)
1-12: 멤버 관리 컨트롤러의 admin 전용 패키지 분리가 잘 정리되었습니다.패키지 및 서비스/DTO 경로가
admin.member하위로 일관되게 이동했고, 기존 API 시그니처·보안 애노테이션 구조를 그대로 유지하고 있어 호환성 측면에서도 무리가 없어 보입니다.Also applies to: 30-78
src/main/java/org/ject/support/admin/member/service/MemberManagementService.java (1)
1-12: 멤버 관리 서비스의 admin.member 네임스페이스 이관이 일관되게 적용되었습니다.DTO 의존성과 패키지 경로가 컨트롤러/ApiSpec과 동일한
admin.member모듈로 정리되어, 도메인(domain.member)과 관리 기능이 명확히 분리된 구조로 보입니다. 비즈니스 로직은 변경 없이 유지된 것도 좋습니다.Also applies to: 28-124
src/main/java/org/ject/support/admin/auth/controller/AdminAuthController.java (1)
1-11: Admin 인증 컨트롤러의 패키지/DTO 이관이 깔끔하게 적용되었습니다.컨트롤러, DTO, 서비스 모두
admin.auth하위로 정리되면서 책임 범위가 분명해졌고, 기존 엔드포인트 및 동작은 그대로 유지되어 리스크도 낮아 보입니다.Also applies to: 21-43
src/main/java/org/ject/support/admin/member/controller/MemberManagementApiSpec.java (1)
1-12: Member 관리 ApiSpec의 패키지/DTO 정리가 컨트롤러·서비스와 잘 맞습니다.
admin.member.controller패키지로 이동하고 DTO 의존성도admin.member.dto로 변경되어, 멤버 도메인(조회/수정/등록/삭제)과 관리자용 API 스펙이 깔끔히 분리된 구조로 보입니다.Also applies to: 20-57
src/main/java/org/ject/support/admin/apply/service/TempApplyService.java (1)
1-8: 임시 지원서 서비스의 admin.apply 모듈 이관이 잘 이루어졌습니다.
TempApplyService가admin.apply.service로 이동하고 관련 DTO도admin.apply.dto로 정리되어, 임시 저장 지원서 도메인에 관한 조회·삭제 로직이 한 모듈로 모여 있습니다.TEMP_SAVED상태로 한정해 조회·삭제하는 기존 제약과 트랜잭션 설정도 그대로 유지되어 동작 변화 없이 구조만 개선된 것으로 보입니다.Also applies to: 25-91
fivedragon5
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!
|
@fivedragon5 해당 PR에 대해서는 이번 릴리즈 이후 머지하는 게 좋을 것 같은데 어떻게 생각하시나요? |
|
제가 일정이 있어서 코멘트를 이제 봤네요 ㅠㅠ! 얘기해주신대로 사이드 이펙트가 발생할 수 있으니 다음 릴리즈때 배포하는게 좋아보입니다! |
|
넵! 그게 좋을 것 같아여 |
#️⃣연관된 이슈
close #325
📝 작업 내용
패키지 분리 작업을 진행했습니다.
Summary by CodeRabbit
릴리스 노트
✏️ Tip: You can customize this high-level summary in your review settings.