Skip to content

[Feat] - 관리자 공개 코스 삭제 권한 추가 (v2)#174

Merged
thingineeer merged 3 commits intodevfrom
feat/#174-admin-delete-v2
Feb 19, 2026
Merged

[Feat] - 관리자 공개 코스 삭제 권한 추가 (v2)#174
thingineeer merged 3 commits intodevfrom
feat/#174-admin-delete-v2

Conversation

@thingineeer
Copy link
Contributor

작업 내용

  • 관리자(userId 280)가 모든 공개 코스를 삭제할 수 있도록 권한 추가
  • PublicCourse 삭제 시 FK 제약조건 처리 (Record null 설정, Scrap 삭제)

변경 사항

파일 변경 내용
PublicCourseService.java 관리자 소유권 검증 우회 + FK 정리 로직 추가

기술 상세

  • EntityManager JPQL로 Record.publicCourse FK를 null 처리 (RecordRepository 미수정)
  • 기존 scrapRepository.deleteByPublicCourseIn()으로 Scrap 삭제
  • FK 처리 순서: Record null → Scrap 삭제 → PublicCourse 삭제

이전 시도와 차이점

  • 이전: RecordRepository에 @Modifying @Query 추가 → 빈 초기화 실패로 서버 전체 다운
  • 이번: EntityManager 직접 사용 → Repository 인터페이스 미수정, 서버 기동 리스크 없음

검증

  • ./gradlew build -x test 빌드 성공
  • 변경 파일 1개, 추가 19줄

[Fix] - 공개 코스 삭제 시 Record FK null 처리 추가 (dev → main)
- PublicCourseService: isAdmin 체크, 스크랩 삭제, Record FK null 처리 제거
- RecordRepository: nullifyPublicCourseIn 메서드 제거
- f8b4c26 상태로 원복
- userId 280(관리자) 소유권 검증 우회
- EntityManager JPQL로 Record FK null 처리
- Scrap 삭제 후 PublicCourse 삭제 (FK 순서 보장)
@thingineeer thingineeer self-assigned this Feb 19, 2026
@thingineeer thingineeer merged commit 49140f5 into dev Feb 19, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments