Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
jimin-fundamental committed Nov 23, 2024
2 parents 256e987 + 5d95358 commit 67adf5c
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.dteam.momentree.api.auth.dto.SignInRequest;
import com.dteam.momentree.api.auth.dto.SignInResponse;
import com.dteam.momentree.application.auth.AuthService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
Expand All @@ -15,6 +16,11 @@ public class AuthController {
private final AuthService authService;

@PostMapping("/sign-in")
@Operation(summary = "로그인 API",
description = """
- **loginId**는 가입한 ID명입니다.
- **password**에 비밀번호를 작성하시면 됩니다.
""")
public SignInResponse signIn(@RequestBody SignInRequest request){
return authService.signIn(request);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.dteam.momentree.api.auth.dto.SignUpRequest;
import com.dteam.momentree.application.auth.SignUpService;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
Expand All @@ -17,6 +18,11 @@ public class SignUpController {
private final SignUpService signUpService;

@PostMapping
@Operation(summary = "회원가입 API",
description = """
- **loginId**는 가입할 ID명입니다.
- **password**에 비밀번호를 작성하시면 됩니다.
""")
public Long signUp(@RequestBody @Valid SignUpRequest request){
return signUpService.signUp(request);
}
Expand Down
15 changes: 14 additions & 1 deletion src/main/java/com/dteam/momentree/api/diary/DiaryController.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,12 @@ public class DiaryController {
private final DiaryService diaryService;

@PostMapping("/create/{day}")
@Operation(summary = "일기 생성 API", description = "특정 날짜에 대한 일기를 생성합니다.")
@Operation(summary = "일기 생성 API",
description = """
특정 날짜에 대한 일기를 작성하는 API입니다.
- **content**는 일기 내용을 나타냅니다.
- **OpenStatus**값에 OPEN은 공개상태, CLOSED는 비공개상태입니다.
""")
public ResponseEntity<DiaryResponse> createDiary(
@RequestBody @Valid DiaryRequest request,
@Parameter(description = "일기를 생성할 날짜 (1~31)", example = "1")
Expand All @@ -51,7 +56,9 @@ public ResponseEntity<ReadDiaryResponse> getDiaryByDay(
@PatchMapping("/{day}/assign-location/{location}")
@Operation(summary = "특정 위치에 회원별 일기 배치 API")
public ResponseEntity<Void> assignLocationToDiary(
@Parameter(description = "배치할 일기의 날짜 (1~31)", example = "1")
@PathVariable int day,
@Parameter(description = "트리에 배치할 영역 (1~18)", example = "1")
@PathVariable Long location,
@Auth LoginUser loginUser) {
diaryService.assignLocationToDiary(day, location, loginUser.getUserId());
Expand All @@ -61,6 +68,7 @@ public ResponseEntity<Void> assignLocationToDiary(
@PatchMapping("/unassign-location/{location}")
@Operation(summary = "특정 위치의 회원별 일기 해제 API")
public ResponseEntity<Void> unassignLocation(
@Parameter(description = "트리에 배치를 해체할 영역 (1~18)", example = "1")
@PathVariable Long location,
@Auth LoginUser loginUser) {
diaryService.unassignLocation(location, loginUser.getUserId());
Expand All @@ -75,6 +83,11 @@ public ResponseEntity<List<ReadDiaryResponse>> getUnassignedDiaries(@Auth LoginU
}

@PostMapping("/update")
@Operation(summary = "일기의 내용 수정 API", description = """
일기 내용을 수정하는 API 입니다.
- **id**는 해당 일기의 고유 ID값입니다.
- **content**는 일기의 수정할 내용을 적는 곳입니다.
""")
public void update(@Auth LoginUser user, @RequestBody DiaryUpdateRequest updateRequest) {
diaryService.update(user.getUserId(), updateRequest);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package com.dteam.momentree.api.diary.dto;

import com.dteam.momentree.domain.diary.OpenStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;

@Getter
public class DiaryRequest {

@Schema(description = "일기 내용", example = "오늘의 일기 내용입니다.")
@NotNull
private String content;

@Schema(description = "공개 상태 (OPEN: 모두공개, CLOSED: 비공개)", example = "OPEN")
@NotNull
private OpenStatus openStatus;

Expand Down

0 comments on commit 67adf5c

Please sign in to comment.