From d8ab0f414d8b1a25cc812b09e881c6e536ed10e7 Mon Sep 17 00:00:00 2001 From: Hwangseoeun Date: Sun, 30 Nov 2025 21:55:43 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9D=BC=EC=A0=95=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=20API=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/petlog/docs/ScheduleControllerDocs.java | 2 +- .../schedule/controller/ScheduleController.java | 3 +++ .../com/petlog/schedule/service/ScheduleService.java | 11 +++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) 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); + } }