diff --git a/src/main/java/com/example/cp_main_be/domain/admin/presentation/AdminController.java b/src/main/java/com/example/cp_main_be/domain/admin/presentation/AdminController.java index 25e51f79..9ad6b2fc 100644 --- a/src/main/java/com/example/cp_main_be/domain/admin/presentation/AdminController.java +++ b/src/main/java/com/example/cp_main_be/domain/admin/presentation/AdminController.java @@ -71,6 +71,13 @@ public ApiResponse createQuiz( return ApiResponse.ok(result); } + @DeleteMapping("/quiz/{quizId}") + @Operation(summary = "퀴즈 삭제 API") + public ApiResponse deleteQuiz(@PathVariable Long quizId) { + Boolean success = adminService.deleteQuiz(quizId); + return ApiResponse.ok(success); + } + @PostMapping("/keywords") @Operation(summary = "일일 키워드 등록 API") public ResponseEntity> createKeyword( diff --git a/src/main/java/com/example/cp_main_be/domain/admin/service/AdminService.java b/src/main/java/com/example/cp_main_be/domain/admin/service/AdminService.java index 6776a0f7..508b834c 100644 --- a/src/main/java/com/example/cp_main_be/domain/admin/service/AdminService.java +++ b/src/main/java/com/example/cp_main_be/domain/admin/service/AdminService.java @@ -17,6 +17,7 @@ import com.example.cp_main_be.domain.reports.domain.Reports; import com.example.cp_main_be.domain.reports.domain.repository.ReportRepository; import com.example.cp_main_be.domain.reports.enums.ReportStatus; +import com.example.cp_main_be.global.exception.QuizNotFoundException; import com.example.cp_main_be.global.infra.S3Uploader; import java.util.List; import lombok.RequiredArgsConstructor; @@ -91,6 +92,13 @@ public AdminResponseDTO.CreateQuizResponseDTO createQuiz( .build(); } + @Transactional + public boolean deleteQuiz(Long quizId) { + Quiz quiz = quizRepository.findById(quizId) + .orElseThrow(() -> new QuizNotFoundException("퀴즈가 존재하지 않습니다.")); + quizRepository.delete(quiz); + return true; + } // DailyMissionMasters 생성 @Transactional public DailyMissionMaster createDailyMissionMasters(