Skip to content

Commit f40d03c

Browse files
committed
feat: 루틴 완료 여부 갱신 API 추가
1 parent 574504e commit f40d03c

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

src/main/java/bitnagil/bitnagil_backend/routineV2/controller/RoutineV2Controller.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package bitnagil.bitnagil_backend.routineV2.controller;
22

3+
import bitnagil.bitnagil_backend.routineV2.request.UpdateRoutineCompletionRequest;
34
import bitnagil.bitnagil_backend.routineV2.response.RoutineV2SearchResponse;
45
import bitnagil.bitnagil_backend.routineV2.response.RoutineV2SearchResultDto;
56
import jakarta.validation.constraints.NotNull;
@@ -43,4 +44,18 @@ public CustomResponseDto<Object> registerRoutine(@CurrentUser User user, @Reques
4344

4445
return CustomResponseDto.from(null);
4546
}
47+
48+
/*
49+
* 루틴 완료 여부를 갱신하는 API 입니다.
50+
* 멱등성이 보장되는 업데이트 API이므로 PUT Method를 사용했습니다.
51+
*/
52+
@PutMapping("")
53+
public CustomResponseDto<Object> updateRoutineCompletionStatus(
54+
@CurrentUser User user, @RequestBody UpdateRoutineCompletionRequest request) {
55+
56+
routineV2Service.updateRoutineCompletionStatus(user, request);
57+
58+
return CustomResponseDto.from(null);
59+
}
60+
4661
}

src/main/java/bitnagil/bitnagil_backend/routineV2/controller/spec/RoutineV2Spec.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package bitnagil.bitnagil_backend.routineV2.controller.spec;
22

3+
import bitnagil.bitnagil_backend.global.annotation.CurrentUser;
34
import bitnagil.bitnagil_backend.global.errorcode.ErrorCode;
45
import bitnagil.bitnagil_backend.global.response.CustomResponseDto;
56
import bitnagil.bitnagil_backend.global.swagger.ApiErrorCodeExamples;
67
import bitnagil.bitnagil_backend.global.swagger.ApiTags;
78
import bitnagil.bitnagil_backend.routineV2.request.RegisterRoutineV2Request;
9+
import bitnagil.bitnagil_backend.routineV2.request.UpdateRoutineCompletionRequest;
810
import bitnagil.bitnagil_backend.routineV2.response.RoutineV2SearchResponse;
911
import bitnagil.bitnagil_backend.routineV2.response.RoutineV2SearchResultDto;
1012
import bitnagil.bitnagil_backend.user.domain.User;
@@ -17,6 +19,8 @@
1719
import java.time.LocalDate;
1820
import java.util.UUID;
1921

22+
import org.springframework.web.bind.annotation.RequestBody;
23+
2024
@Tag(name = ApiTags.ROUTINEV2)
2125
public interface RoutineV2Spec {
2226

@@ -35,4 +39,9 @@ public interface RoutineV2Spec {
3539

3640
@Operation(summary = "루틴 정보 등록 및 루틴 시작, 종료일자 사이에서 반복요일에 해당하는 날짜로 루틴 데이터를 생성합니다.")
3741
CustomResponseDto<Object> registerRoutine(User user, RegisterRoutineV2Request request);
42+
43+
@Operation(summary = "루틴 완료 여부를 갱신합니다. (여러 루틴의 완료 여부를 리스트로 만들어 요청하는 방식입니다.)")
44+
@ApiErrorCodeExamples({ErrorCode.NOT_FOUND_ROUTINE})
45+
CustomResponseDto<Object> updateRoutineCompletionStatus(
46+
@CurrentUser User user, @RequestBody UpdateRoutineCompletionRequest request);
3847
}

0 commit comments

Comments
 (0)