diff --git a/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionResponse.java b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionResponse.java new file mode 100644 index 00000000..2fbb0dd8 --- /dev/null +++ b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionResponse.java @@ -0,0 +1,28 @@ +package com.smeem.application.port.input.dto.response.diary; + +import com.smeem.application.domain.diary.Correction; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AccessLevel; +import lombok.Builder; + +@Builder(access = AccessLevel.PRIVATE) +public record CorrectionResponse( + @Schema(description = "교정 전 문장", example = "hallo") + String originalSentence, + @Schema(description = "교정 후 문장", example = "hello") + String correctedSentence, + @Schema(description = "교정 사유", example = "스펠링 틀림") + String reason, + @Schema(description = "교정 여부", example = "true") + boolean isCorrected +) { + + public static CorrectionResponse from(Correction correction) { + return CorrectionResponse.builder() + .originalSentence(correction.originalSentence()) + .correctedSentence(correction.correctedSentence()) + .reason(correction.reason()) + .isCorrected(correction.isCorrected()) + .build(); + } +} diff --git a/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionsResponse.java b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionsResponse.java index 29022d40..8c3d1699 100644 --- a/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionsResponse.java +++ b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/CorrectionsResponse.java @@ -10,12 +10,12 @@ @Builder(access = AccessLevel.PRIVATE) public record CorrectionsResponse( @Schema(description = "코칭 결과") - List corrections + List corrections ) { public static CorrectionsResponse of(List corrections) { return CorrectionsResponse.builder() - .corrections(corrections) + .corrections(corrections.stream().map(CorrectionResponse::from).toList()) .build(); } } diff --git a/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/RetrieveDiaryResponse.java b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/RetrieveDiaryResponse.java index 94587ca3..ce49e35a 100644 --- a/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/RetrieveDiaryResponse.java +++ b/smeem-application/src/main/java/com/smeem/application/port/input/dto/response/diary/RetrieveDiaryResponse.java @@ -26,7 +26,7 @@ public record RetrieveDiaryResponse( @Schema(description = "일기 작성자 닉네임") String username, @Schema(description = "코칭 결과 정보") - List corrections, + List corrections, @Schema(description = "코칭 횟수") int correctionCount, @Schema(description = "코칭 최대 횟수") @@ -45,7 +45,7 @@ public static RetrieveDiaryResponse of( .content(diary.getContent()) .createdAt(SmeemConverter.toString(diary.getCreatedAt())) .username(member.getUsername()) - .corrections(corrections) + .corrections(corrections.stream().map(CorrectionResponse::from).toList()) .correctionCount(correctionCount) .correctionMaxCount(1) .build();