diff --git a/src/main/java/com/petlog/docs/ScheduleControllerDocs.java b/src/main/java/com/petlog/docs/ScheduleControllerDocs.java index 31d0b7b..3ad4039 100644 --- a/src/main/java/com/petlog/docs/ScheduleControllerDocs.java +++ b/src/main/java/com/petlog/docs/ScheduleControllerDocs.java @@ -32,5 +32,5 @@ public interface ScheduleControllerDocs { @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "200", description = "일정 삭제에 성공하였습니다.") @Operation(summary = "일정 삭제 API") - ResponseEntity> deleteSchedule(@PathVariable final Long groupId, @PathVariable final Long scheduleId); + ResponseEntity> deleteSchedule(@Authenticated final Long memberId, @PathVariable final Long groupId, @PathVariable final Long scheduleId); } diff --git a/src/main/java/com/petlog/schedule/controller/ScheduleController.java b/src/main/java/com/petlog/schedule/controller/ScheduleController.java index 2c8e5fa..de33881 100644 --- a/src/main/java/com/petlog/schedule/controller/ScheduleController.java +++ b/src/main/java/com/petlog/schedule/controller/ScheduleController.java @@ -100,9 +100,12 @@ public ResponseEntity> updateSchedule( @DeleteMapping("/{scheduleId}") public ResponseEntity> deleteSchedule( + @Authenticated final Long memberId, @PathVariable final Long groupId, @PathVariable final Long scheduleId ) { + scheduleService.deleteSchedule(memberId, groupId, scheduleId); + return ResponseEntity.ok( ApiResponse.success(DELETE_SCHEDULE) ); diff --git a/src/main/java/com/petlog/schedule/service/ScheduleService.java b/src/main/java/com/petlog/schedule/service/ScheduleService.java index b226bac..7b82712 100644 --- a/src/main/java/com/petlog/schedule/service/ScheduleService.java +++ b/src/main/java/com/petlog/schedule/service/ScheduleService.java @@ -119,4 +119,15 @@ private void validateIsScheduleWriter(final Member member, final Schedule schedu throw new IllegalArgumentException("일정 작성자만 수정할 수 있습니다."); } } + + public void deleteSchedule(final Long memberId, final Long groupId, final Long scheduleId) { + final Member member = getMember(memberId); + final PetGroup petGroup = getPetGroup(groupId); + getPetGroupMember(member, petGroup); + + final Schedule schedule = getSchedule(scheduleId); + validateIsScheduleWriter(member, schedule); + + scheduleRepository.deleteById(scheduleId); + } }