From f25ed304df42b6cb7b51c262b1f574819114110a Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Wed, 10 Apr 2024 22:07:40 +0900 Subject: [PATCH] =?UTF-8?q?refactor(docs):=20docs=20response=20dto=20recor?= =?UTF-8?q?d=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contribute/dto/ContributeResponseDto.java | 27 --------- .../response/ContributeDocsResponseDto.java | 25 +++++++++ .../DocsNameAndEnrollResponseDto.java | 41 +++++++------- .../dto/response/DocsResponseDto.java | 55 +++++++++---------- .../presentation/dto/UserResponseDto.java | 6 +- 5 files changed, 75 insertions(+), 79 deletions(-) delete mode 100644 src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java create mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ContributeDocsResponseDto.java diff --git a/src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java b/src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java deleted file mode 100644 index 62a6bdd..0000000 --- a/src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.project.bumawiki.domain.contribute.dto; - -import java.time.LocalDateTime; - -import com.project.bumawiki.domain.docs.domain.VersionDocs; - -import lombok.Getter; - -@Getter -public class ContributeResponseDto { - - private final Long userId; - private final String userNickName; - private final Long docsId; - private final LocalDateTime createTime; - private final String title; - private final Integer version; - - public ContributeResponseDto(VersionDocs versionDocs) { - this.userId = versionDocs.getUser().getId(); - this.userNickName = versionDocs.getUser().getNickName(); - this.docsId = versionDocs.getDocs().getId(); - this.createTime = versionDocs.getCreatedAt(); - this.title = versionDocs.getDocs().getTitle(); - this.version = versionDocs.getVersion(); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ContributeDocsResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ContributeDocsResponseDto.java new file mode 100644 index 0000000..cc7f275 --- /dev/null +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ContributeDocsResponseDto.java @@ -0,0 +1,25 @@ +package com.project.bumawiki.domain.docs.presentation.dto.response; + +import java.time.LocalDateTime; + +import com.project.bumawiki.domain.docs.domain.VersionDocs; + +public record ContributeDocsResponseDto( + Long userId, + String userNickName, + Long docsId, + LocalDateTime createTime, + String title, + Integer version + ) { + public ContributeDocsResponseDto(VersionDocs versionDocs) { + this( + versionDocs.getUser().getId(), + versionDocs.getUser().getNickName(), + versionDocs.getDocs().getId(), + versionDocs.getCreatedAt(), + versionDocs.getDocs().getTitle(), + versionDocs.getVersion() + ); + } +} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsNameAndEnrollResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsNameAndEnrollResponseDto.java index 7a2dcf9..c1dd616 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsNameAndEnrollResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsNameAndEnrollResponseDto.java @@ -8,36 +8,35 @@ import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.util.DocsUtil; -import lombok.Getter; - -@Getter -public class DocsNameAndEnrollResponseDto { - - private final Long id; - private final String title; - private final int enroll; - private final String simpleContents; - private final DocsType docsType; - private final LocalDateTime lastModifiedAt; - private final String thumbnail; +public record DocsNameAndEnrollResponseDto ( + Long id, + String title, + int enroll, + String simpleContents, + DocsType docsType, + LocalDateTime lastModifiedAt, + String thumbnail +) { public DocsNameAndEnrollResponseDto(Docs docs) { - this.id = docs.getId(); - this.title = docs.getTitle(); - this.enroll = docs.getEnroll(); - this.docsType = docs.getDocsType(); - this.lastModifiedAt = docs.getLastModifiedAt(); - this.simpleContents = getSimpleContents(docs); - this.thumbnail = DocsUtil.getThumbnail(getContents(docs)); + this( + docs.getId(), + docs.getTitle(), + docs.getEnroll(), + getSimpleContents(docs), + docs.getDocsType(), + docs.getLastModifiedAt(), + DocsUtil.getThumbnail(getContents(docs)) + ); } - private String getSimpleContents(Docs docs) { + private static String getSimpleContents(Docs docs) { String contents = getContents(docs); int endIndex = Math.min(contents.length(), 200); return contents.substring(0, endIndex); } - private String getContents(Docs docs) { + private static String getContents(Docs docs) { List docsVersion = docs.getVersionDocs(); int currentDocsSize = docsVersion.size() - 1; return docsVersion.get(currentDocsSize).getContents(); diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsResponseDto.java index b368365..0d2548c 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsResponseDto.java @@ -11,37 +11,36 @@ import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.presentation.dto.SimpleUserDto; -import lombok.Getter; - -@Getter -public class DocsResponseDto { - - private final Long id; - private final String title; - private final String contents; - private final DocsType docsType; - private final LocalDateTime lastModifiedAt; - private final int enroll; - private final boolean isDocsDetail; - private final List contributors; - private final Status status; - private final int version; - private final String thumbnail; +public record DocsResponseDto ( + Long id, + String title, + String contents, + DocsType docsType, + LocalDateTime lastModifiedAt, + int enroll, + boolean isDocsDetail, + List contributors, + Status status, + int version, + String thumbnail +) { public DocsResponseDto(Docs docs, List contributors, VersionDocs versionDocs) { - this.id = docs.getId(); - this.title = docs.getTitle(); - this.contents = versionDocs.getContents(); - this.lastModifiedAt = docs.getLastModifiedAt(); - this.docsType = docs.getDocsType(); - this.enroll = docs.getEnroll(); - this.isDocsDetail = true; - this.contributors = contributors.stream() + this( + docs.getId(), + docs.getTitle(), + versionDocs.getContents(), + docs.getDocsType(), + docs.getLastModifiedAt(), + docs.getEnroll(), + true, + contributors.stream() .map(SimpleUserDto::new) - .toList(); - this.status = docs.getStatus(); - this.version = versionDocs.getVersion(); - this.thumbnail = DocsUtil.getThumbnail(versionDocs.getContents()); + .toList(), + docs.getStatus(), + versionDocs.getVersion(), + DocsUtil.getThumbnail(versionDocs.getContents()) + ); } } diff --git a/src/main/java/com/project/bumawiki/domain/user/presentation/dto/UserResponseDto.java b/src/main/java/com/project/bumawiki/domain/user/presentation/dto/UserResponseDto.java index 673f1d0..e686192 100644 --- a/src/main/java/com/project/bumawiki/domain/user/presentation/dto/UserResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/user/presentation/dto/UserResponseDto.java @@ -2,7 +2,7 @@ import java.util.List; -import com.project.bumawiki.domain.contribute.dto.ContributeResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.ContributeDocsResponseDto; import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.domain.authority.Authority; @@ -21,7 +21,7 @@ public class UserResponseDto { private final Authority authority; - private final List contributeDocs; + private final List contributeDocs; public UserResponseDto(User user, List versionDocs) { this.id = user.getId(); @@ -31,7 +31,7 @@ public UserResponseDto(User user, List versionDocs) { this.name = user.getName(); this.contributeDocs = versionDocs .stream() - .map(ContributeResponseDto::new) + .map(ContributeDocsResponseDto::new) .toList(); } }