From c829bc63cee294369a77c3c0b302fd94a2374a4a Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Wed, 10 Apr 2024 20:02:18 +0900 Subject: [PATCH 1/8] =?UTF-8?q?refactor(docs):=20docs=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EC=A0=84=EC=B2=B4=20=EB=A6=AC=ED=8C=A9=ED=86=A0?= =?UTF-8?q?=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/contribute/domain/Contribute.java | 51 ---------- .../repository/ContributeRepository.java | 15 --- .../contribute/dto/ContributeResponseDto.java | 18 ++-- .../contribute/service/ContributeService.java | 99 ------------------- .../bumawiki/domain/docs/domain/Docs.java | 11 +++ .../domain/docs/domain/VersionDocs.java | 2 +- .../repository/CustomDocsRepositoryImpl.java | 12 +-- .../repository/VersionDocsRepository.java | 3 + .../docs/implementation/DocsCreator.java | 16 ++- .../docs/implementation/DocsReader.java | 13 +++ .../docs/implementation/DocsValidator.java | 7 ++ .../implementation/VersionDocsReader.java | 20 ---- .../versiondocs/VersionDocsCreator.java | 31 ------ .../versiondocs/VersionDocsReader.java | 18 ---- .../versiondocs/VersionDocsValidator.java | 18 ---- .../presentation/CommandDocsController.java | 2 +- .../dto/VersionDocsSummaryDto.java | 2 +- .../DocsNameAndEnrollResponseDto.java | 2 +- .../dto/response/DocsResponseDto.java | 10 +- .../response/VersionDocsDiffResponseDto.java | 3 - .../docs/service/CommandDocsService.java | 9 +- .../docs/service/DocsInformationService.java | 8 +- .../service/DocsMergeConflictService.java | 10 +- .../presentation/ThumbsUpCheckController.java | 8 +- .../service/ThumbsUpCheckService.java | 2 +- .../bumawiki/domain/user/domain/User.java | 11 +-- .../user/presentation/UserInfoController.java | 25 +++-- .../presentation/dto/UserResponseDto.java | 19 +--- .../domain/user/service/UserInfoService.java | 6 -- .../global/annotation/Implementation.java | 8 ++ 30 files changed, 117 insertions(+), 342 deletions(-) delete mode 100644 src/main/java/com/project/bumawiki/domain/contribute/domain/Contribute.java delete mode 100644 src/main/java/com/project/bumawiki/domain/contribute/domain/repository/ContributeRepository.java delete mode 100644 src/main/java/com/project/bumawiki/domain/contribute/service/ContributeService.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/implementation/VersionDocsReader.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsCreator.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsReader.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsValidator.java diff --git a/src/main/java/com/project/bumawiki/domain/contribute/domain/Contribute.java b/src/main/java/com/project/bumawiki/domain/contribute/domain/Contribute.java deleted file mode 100644 index d40031f8..00000000 --- a/src/main/java/com/project/bumawiki/domain/contribute/domain/Contribute.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.project.bumawiki.domain.contribute.domain; - -import java.time.LocalDateTime; - -import org.springframework.data.annotation.CreatedDate; - -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.user.domain.User; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.OneToOne; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -@Entity -@Getter -@Builder -@AllArgsConstructor(access = AccessLevel.PRIVATE) -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Contribute { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "contribute_id") - private Long id; - - @CreatedDate - private LocalDateTime createdAt; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id") - private User contributor; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "docs_id") - private Docs docs; - - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "version_docs_id") - private VersionDocs versionDocs; -} diff --git a/src/main/java/com/project/bumawiki/domain/contribute/domain/repository/ContributeRepository.java b/src/main/java/com/project/bumawiki/domain/contribute/domain/repository/ContributeRepository.java deleted file mode 100644 index bdff9a17..00000000 --- a/src/main/java/com/project/bumawiki/domain/contribute/domain/repository/ContributeRepository.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.project.bumawiki.domain.contribute.domain.repository; - -import java.util.List; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; - -import com.project.bumawiki.domain.contribute.domain.Contribute; -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.user.domain.User; - -public interface ContributeRepository extends JpaRepository { - @Query("select distinct c.contributor from Contribute c where c.docs = :docs") - List findUserAllByDocs(Docs docs); -} 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 index e2d08e22..62a6bdd1 100644 --- a/src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/contribute/dto/ContributeResponseDto.java @@ -2,7 +2,7 @@ import java.time.LocalDateTime; -import com.project.bumawiki.domain.contribute.domain.Contribute; +import com.project.bumawiki.domain.docs.domain.VersionDocs; import lombok.Getter; @@ -14,14 +14,14 @@ public class ContributeResponseDto { private final Long docsId; private final LocalDateTime createTime; private final String title; - private final Long versionDocsId; + private final Integer version; - public ContributeResponseDto(Contribute contribute) { - this.userId = contribute.getContributor().getId(); - this.userNickName = contribute.getContributor().getNickName(); - this.docsId = contribute.getDocs().getId(); - this.createTime = contribute.getCreatedAt(); - this.title = contribute.getDocs().getTitle(); - this.versionDocsId = contribute.getVersionDocs().getId(); + 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/contribute/service/ContributeService.java b/src/main/java/com/project/bumawiki/domain/contribute/service/ContributeService.java deleted file mode 100644 index a3379388..00000000 --- a/src/main/java/com/project/bumawiki/domain/contribute/service/ContributeService.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.project.bumawiki.domain.contribute.service; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -import org.springframework.transaction.annotation.Transactional; - -import com.project.bumawiki.domain.contribute.domain.Contribute; -import com.project.bumawiki.domain.contribute.domain.repository.ContributeRepository; -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; -import com.project.bumawiki.domain.docs.exception.DocsNotFoundException; -import com.project.bumawiki.domain.user.domain.User; -import com.project.bumawiki.domain.user.domain.repository.UserRepository; -import com.project.bumawiki.domain.user.exception.UserNotFoundException; -import com.project.bumawiki.global.annotation.ServiceWithTransactionalReadOnly; -import com.project.bumawiki.global.util.SecurityUtil; - -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; - -@ServiceWithTransactionalReadOnly -@RequiredArgsConstructor -public class ContributeService { - - private final DocsRepository docsRepository; - private final UserRepository userRepository; - private final ContributeRepository contributeRepository; - - @Transactional - public Contribute setContribute(VersionDocs versionDocs) { - - User user = findUser(); - - Docs docs = docsRepository.findById(versionDocs.getDocsId()) - .orElseThrow(() -> DocsNotFoundException.EXCEPTION); - - return setContributeAtUserAndDocs(versionDocs, user, docs); - } - - @NotNull - private Contribute setContributeAtUserAndDocs(VersionDocs versionDocs, User user, Docs docs) { - Contribute contribute = createContribute(docs, user, versionDocs); - - ArrayList contributes = new ArrayList<>(); - contributes.add(contribute); - - setFirstContribute(contributes, user); - docs.updateContributor(contributes); - return contribute; - } - - @Transactional - public Contribute updateContribute(final VersionDocs versionDocs) { - - User user = findUser(); - - Docs docs = docsRepository.findById(versionDocs.getDocsId()) - .orElseThrow(() -> DocsNotFoundException.EXCEPTION); - - Contribute contribute = createContribute(docs, user, versionDocs); - - if (user.getContributeDocs() == null) { - ArrayList contributes = new ArrayList<>(); - contributes.add(contribute); - - setFirstContribute(contributes, user); - } - docs.getContributor().add(contribute); - - return contribute; - } - - @Transactional - public void setFirstContribute(final List contributes, final User user) { - user.updateContributeDocs(contributes); - } - - @Transactional - private Contribute createContribute(Docs docs, User user, VersionDocs versionDocs) { - return contributeRepository.save( - Contribute.builder() - .docs(docs) - .contributor(user) - .versionDocs(versionDocs) - .createdAt(LocalDateTime.now()) - .build() - ); - } - - private User findUser() { - User user = SecurityUtil.getCurrentUserWithLogin(); - - return userRepository.findById(user.getId()) - .orElseThrow(() -> UserNotFoundException.EXCEPTION); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/Docs.java b/src/main/java/com/project/bumawiki/domain/docs/domain/Docs.java index 1e7aae6c..75028385 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/Docs.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/Docs.java @@ -1,17 +1,21 @@ package com.project.bumawiki.domain.docs.domain; import java.time.LocalDateTime; +import java.util.List; import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.domain.type.Status; +import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; import jakarta.persistence.Enumerated; +import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; @@ -39,6 +43,13 @@ public class Docs { @Enumerated(EnumType.STRING) private Status status; + @OneToMany( + mappedBy = "docs", + cascade = CascadeType.REMOVE, + fetch = FetchType.LAZY + ) + private List versionDocs; + public Docs(String title, int enroll, DocsType docsType) { this.title = title; this.enroll = enroll; diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/VersionDocs.java b/src/main/java/com/project/bumawiki/domain/docs/domain/VersionDocs.java index ab9adf61..c00e49ab 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/VersionDocs.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/VersionDocs.java @@ -35,7 +35,7 @@ public class VersionDocs { private String contents; @CreatedDate - private LocalDateTime thisVersionCreatedAt; + private LocalDateTime createdAt; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "user_id") diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java index 1d4ac345..1e415ee8 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java @@ -1,6 +1,5 @@ package com.project.bumawiki.domain.docs.domain.repository; -import static com.project.bumawiki.domain.contribute.domain.QContribute.*; import static com.project.bumawiki.domain.docs.domain.QDocs.*; import static com.project.bumawiki.domain.docs.domain.QVersionDocs.*; import static com.project.bumawiki.domain.thumbsup.domain.QThumbsUp.*; @@ -28,15 +27,14 @@ public class CustomDocsRepositoryImpl implements CustomDocsRepository { @Override public VersionResponseDto getDocsVersion(Docs findDocs) { List versionDocsResponseDto = jpaQueryFactory - .select(constructor(VersionDocsResponseDto.class, versionDocs.thisVersionCreatedAt, user.id, + .select(constructor(VersionDocsResponseDto.class, versionDocs.createdAt, user.id, user.nickName)) .from(docs) - .join(docs.docsVersion, versionDocs) - .join(versionDocs.contributor, contribute) - .join(contribute.contributor, user) + .join(docs.versionDocs, versionDocs) + .join(versionDocs.user, user) .where(docs.id.eq(findDocs.getId())) .distinct() - .orderBy(versionDocs.thisVersionCreatedAt.desc()) + .orderBy(versionDocs.createdAt.desc()) .fetch(); return new VersionResponseDto(versionDocsResponseDto, findDocs); @@ -48,7 +46,7 @@ public List findByThumbsUpsDesc() { .select( constructor(DocsPopularResponseDto.class, docs.title, docs.enroll, docs.docsType, thumbsUp.id.count())) .from(docs) - .innerJoin(docs.thumbsUps, thumbsUp) + .innerJoin(docs, thumbsUp.docs) .groupBy(docs.title, docs.enroll, docs.docsType) .orderBy(thumbsUp.id.count().desc()) .limit(25) diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java index 86aeba3c..7f1f0269 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Optional; +import com.project.bumawiki.domain.user.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.lang.NonNull; @@ -19,4 +20,6 @@ public interface VersionDocsRepository extends JpaRepository List findByDocs(Docs docs); Optional findByDocsAndVersion(Docs docs, Integer version); + + List findAllByUser(User user); } diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsCreator.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsCreator.java index 28d87e63..02a930ef 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsCreator.java +++ b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsCreator.java @@ -14,10 +14,11 @@ public class DocsCreator { private final DocsRepository docsRepository; private final VersionDocsRepository versionDocsRepository; + private final DocsUpdater docsUpdater; + private final DocsReader docsReader; public void create(Docs docs, User user, String contents) { docsRepository.save(docs); - versionDocsRepository.save( new VersionDocs( 0, @@ -27,4 +28,17 @@ public void create(Docs docs, User user, String contents) { ) ); } + + public void createVersionDocs(Docs docs, User user, String contents) { + Integer lastVersion = docsReader.findLastVersion(docs).getVersion(); + VersionDocs versionDocs = versionDocsRepository.save( + new VersionDocs( + lastVersion + 1, + docs, + contents, + user + ) + ); + docsUpdater.updateModifiedAt(docs, versionDocs.getCreatedAt()); + } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java index fef1a683..5683e37b 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java +++ b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java @@ -1,18 +1,23 @@ package com.project.bumawiki.domain.docs.implementation; import com.project.bumawiki.domain.docs.domain.Docs; +import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; +import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; import com.project.bumawiki.global.annotation.Implementation; import com.project.bumawiki.global.error.exception.BumawikiException; import com.project.bumawiki.global.error.exception.ErrorCode; import lombok.RequiredArgsConstructor; +import java.util.List; + @Implementation @RequiredArgsConstructor public class DocsReader { private final DocsRepository docsRepository; + private final VersionDocsRepository versionDocsRepository; public Docs findById(Long docsId) { return docsRepository.findById(docsId) @@ -23,4 +28,12 @@ public Docs findByTitle(String title) { return docsRepository.findByTitle(title) .orElseThrow(() -> new BumawikiException(ErrorCode.DOCS_NOT_FOUND)); } + + public List findTop3ByDocs(Docs docs) { + return versionDocsRepository.findTop3ByDocsOrderByVersion(docs); + } + + public VersionDocs findLastVersion(Docs docs) { + return versionDocsRepository.findFirstByDocsOrderByVersionDesc(docs); + } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java index 589630dd..865281c3 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java +++ b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java @@ -1,6 +1,7 @@ package com.project.bumawiki.domain.docs.implementation; import com.project.bumawiki.domain.docs.domain.Docs; +import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.domain.type.Status; @@ -16,6 +17,7 @@ @RequiredArgsConstructor public class DocsValidator { private final DocsRepository docsRepository; + private final DocsReader docsReader; public void checkTitleAlreadyExist(Docs docs) { if (docsRepository.existsByTitle(docs.getTitle())) { @@ -60,4 +62,9 @@ public void checkConflicted(Docs docs) { throw new BumawikiException(ErrorCode.DOCS_IS_NOT_CONFLICTED); } } + + public boolean isConflict(Docs docs, Integer updatingVersion) { + VersionDocs lastVersionDocs = docsReader.findLastVersion(docs); + return !lastVersionDocs.getVersion().equals(updatingVersion); + } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/VersionDocsReader.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/VersionDocsReader.java deleted file mode 100644 index ca863e70..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/VersionDocsReader.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.project.bumawiki.domain.docs.implementation; - -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; -import com.project.bumawiki.global.annotation.Implementation; - -import lombok.RequiredArgsConstructor; - -import java.util.List; - -@Implementation -@RequiredArgsConstructor -public class VersionDocsReader { - private final VersionDocsRepository versionDocsRepository; - - public List findTop3ByDocs(Docs docs) { - return versionDocsRepository.findTop3ByDocsOrderByVersion(docs); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsCreator.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsCreator.java deleted file mode 100644 index 16088de8..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsCreator.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.project.bumawiki.domain.docs.implementation.versiondocs; - -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; -import com.project.bumawiki.domain.docs.implementation.DocsUpdater; -import com.project.bumawiki.domain.user.domain.User; -import com.project.bumawiki.global.annotation.Implementation; - -import lombok.RequiredArgsConstructor; - -@Implementation -@RequiredArgsConstructor -public class VersionDocsCreator { - private final VersionDocsReader versionDocsReader; - private final DocsUpdater docsUpdater; - private final VersionDocsRepository versionDocsRepository; - - public void create(Docs docs, User user, String contents) { - Integer lastVersion = versionDocsReader.findLastVersion(docs).getVersion(); - VersionDocs versionDocs = versionDocsRepository.save( - new VersionDocs( - lastVersion + 1, - docs, - contents, - user - ) - ); - docsUpdater.updateModifiedAt(docs, versionDocs.getThisVersionCreatedAt()); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsReader.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsReader.java deleted file mode 100644 index 542ba574..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsReader.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.project.bumawiki.domain.docs.implementation.versiondocs; - -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; -import com.project.bumawiki.global.annotation.Implementation; - -import lombok.RequiredArgsConstructor; - -@Implementation -@RequiredArgsConstructor -public class VersionDocsReader { - private final VersionDocsRepository versionDocsRepository; - - public VersionDocs findLastVersion(Docs docs) { - return versionDocsRepository.findFirstByDocsOrderByVersionDesc(docs); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsValidator.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsValidator.java deleted file mode 100644 index 85c2b7ff..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/versiondocs/VersionDocsValidator.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.project.bumawiki.domain.docs.implementation.versiondocs; - -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.global.annotation.Implementation; - -import lombok.RequiredArgsConstructor; - -@Implementation -@RequiredArgsConstructor -public class VersionDocsValidator { - private final VersionDocsReader versionDocsReader; - - public boolean isConflict(Docs docs, Integer updatingVersion) { - VersionDocs lastVersionDocs = versionDocsReader.findLastVersion(docs); - return !lastVersionDocs.getVersion().equals(updatingVersion); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java index fb2ce415..aeee74ae 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java @@ -41,7 +41,7 @@ public void updateDocs(@PathVariable String title, request.updatingVersion()); } - @PutMapping("/{title}") + @PutMapping("/title/{title}") public void updateDocsTitle(@PathVariable String title, @RequestBody DocsTitleUpdateRequestDto request) { commandDocsService.titleUpdate(title, request.title()); diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java index dede042a..9e03866f 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java @@ -17,7 +17,7 @@ public class VersionDocsSummaryDto { public VersionDocsSummaryDto(VersionDocs versionDocs) { User contributor = versionDocs.getUser(); this.version = versionDocs.getVersion(); - this.thisVersionCreatedAt = versionDocs.getThisVersionCreatedAt(); + this.thisVersionCreatedAt = versionDocs.getCreatedAt(); this.nickName = contributor.getNickName(); this.userId = contributor.getId(); } 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 7edfdbb5..7a2dcf99 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 @@ -38,7 +38,7 @@ private String getSimpleContents(Docs docs) { } private String getContents(Docs docs) { - List docsVersion = docs.getDocsVersion(); + 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 e1df90a1..b3683655 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 @@ -2,7 +2,6 @@ import java.time.LocalDateTime; import java.util.List; -import java.util.stream.Collectors; import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.VersionDocs; @@ -29,10 +28,7 @@ public class DocsResponseDto { private final int version; private final String thumbnail; - public DocsResponseDto(Docs docs, List contributors) { - int lastValueOfDocsVersion = docs.getDocsVersion().size() - 1; - VersionDocs versionDocs = docs.getDocsVersion().get(lastValueOfDocsVersion); - + public DocsResponseDto(Docs docs, List contributors, VersionDocs versionDocs) { this.id = docs.getId(); this.title = docs.getTitle(); this.contents = versionDocs.getContents(); @@ -42,9 +38,9 @@ public DocsResponseDto(Docs docs, List contributors) { this.isDocsDetail = true; this.contributors = contributors.stream() .map(SimpleUserDto::new) - .collect(Collectors.toList()); + .toList(); this.status = docs.getStatus(); - this.version = docs.getLastVersion(); + this.version = versionDocs.getVersion(); this.thumbnail = DocsUtil.getThumbnail(versionDocs.getContents()); } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java index 1ab5bc90..b4ab5d38 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java @@ -7,9 +7,6 @@ import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.presentation.dto.VersionDocsSummaryDto; -import lombok.Getter; - -@Getter public record VersionDocsDiffResponseDto( String title, DocsType docsType, diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/CommandDocsService.java b/src/main/java/com/project/bumawiki/domain/docs/service/CommandDocsService.java index 81f0027f..7316299c 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/CommandDocsService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/CommandDocsService.java @@ -10,8 +10,6 @@ import com.project.bumawiki.domain.docs.implementation.DocsReader; import com.project.bumawiki.domain.docs.implementation.DocsUpdater; import com.project.bumawiki.domain.docs.implementation.DocsValidator; -import com.project.bumawiki.domain.docs.implementation.versiondocs.VersionDocsCreator; -import com.project.bumawiki.domain.docs.implementation.versiondocs.VersionDocsValidator; import com.project.bumawiki.domain.thumbsup.implementation.ThumbsUpDeleter; import com.project.bumawiki.domain.user.domain.User; @@ -28,9 +26,6 @@ public class CommandDocsService { private final DocsDeleter docsDeleter; private final DocsValidator docsValidator; - private final VersionDocsCreator versionDocsCreator; - private final VersionDocsValidator versionDocsValidator; - private final ThumbsUpDeleter thumbsUpDeleter; public void create(Docs docs, User user, String contents) { @@ -50,11 +45,11 @@ public void update(User user, String title, String contents, Integer updatingVer docsValidator.checkUpdateOneSelf(user, docs); docsValidator.checkGood(docs); - if (versionDocsValidator.isConflict(docs, updatingVersion)) { + if (docsValidator.isConflict(docs, updatingVersion)) { docsUpdater.updateStatus(docs, Status.CONFLICTED); } - versionDocsCreator.create(docs, user, contents); + docsCreator.createVersionDocs(docs, user, contents); } public void titleUpdate(String title, String changedTitle) { diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java index dc92efb4..1b63c8fa 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.Optional; +import com.project.bumawiki.domain.docs.implementation.DocsReader; + import org.bitbucket.cowwoc.diffmatchpatch.DiffMatchPatch; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -34,6 +36,7 @@ public class DocsInformationService { private final DocsRepository docsRepository; private final VersionDocsRepository versionDocsRepository; + private final DocsReader docsReader; public List findAllByTitle(String title) { List docs = docsRepository.findAllByTitle(title); @@ -53,7 +56,7 @@ public DocsResponseDto findDocs(String title) { .map(VersionDocs::getUser) .toList(); - return new DocsResponseDto(docs, contributors); + return new DocsResponseDto(docs, contributors, docsReader.findLastVersion(docs)); } public VersionResponseDto findDocsVersion(String title) { @@ -117,4 +120,7 @@ private List findByDocsType(DocsType docsType) { return docsRepository.findByDocsType(docsType); } + public List findAllVersionDocsByUser(User user) { + return versionDocsRepository.findAllByUser(user); + } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java index 5addd16c..f688adfa 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java @@ -3,12 +3,11 @@ import java.util.LinkedList; import java.util.List; +import com.project.bumawiki.domain.docs.implementation.DocsCreator; import com.project.bumawiki.domain.docs.implementation.DocsReader; import com.project.bumawiki.domain.docs.implementation.DocsUpdater; import com.project.bumawiki.domain.docs.implementation.DocsValidator; -import com.project.bumawiki.domain.docs.implementation.VersionDocsReader; -import com.project.bumawiki.domain.docs.implementation.versiondocs.VersionDocsCreator; import com.project.bumawiki.domain.docs.util.DocsUtil; import com.project.bumawiki.global.util.SecurityUtil; @@ -28,10 +27,9 @@ @RequiredArgsConstructor public class DocsMergeConflictService { private final DocsReader docsReader; - private final VersionDocsReader versionDocsReader; - private final VersionDocsCreator versionDocsCreator; private final DocsValidator docsValidator; private final DocsUpdater docsUpdater; + private final DocsCreator docsCreator; public MergeConflictDataResponse getMergeConflict(String title) { Docs docs = docsReader.findByTitle(title); @@ -39,7 +37,7 @@ public MergeConflictDataResponse getMergeConflict(String title) { docsValidator.checkConflicted(docs); // 버전 최신순 3가지 조회가 전체에서 자르는지 3개만 가져오는지 확인이 필요합니다 - List docsVersion = versionDocsReader.findTop3ByDocs(docs); + List docsVersion = docsReader.findTop3ByDocs(docs); String firstDocsContent = docsVersion.get(0).getContents(); String secondDocsContent = docsVersion.get(1).getContents(); @@ -64,7 +62,7 @@ public void solveConflict(String title, DocsConflictSolveDto dto) { docsValidator.checkConflicted(docs); - versionDocsCreator.create( + docsCreator.create( docs, SecurityUtil.getCurrentUserWithLogin(), dto.contents() diff --git a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java index 04972847..afbcf3e5 100644 --- a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java +++ b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java @@ -1,5 +1,7 @@ package com.project.bumawiki.domain.thumbsup.presentation; +import com.project.bumawiki.domain.thumbsup.service.ThumbsUpCheckService; + import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -14,13 +16,13 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/docs/like") -public class DocsCheckYouLikeThisController { - private final DocsCheckYouLikeThisService docsCheckYouLikeThisService; +public class ThumbsUpCheckController { + private final ThumbsUpCheckService thumbsUpCheckService; @GetMapping("/{docsId}") @ResponseStatus(HttpStatus.OK) public Boolean checkYouLikeThis(@PathVariable Long docsId) { - return docsCheckYouLikeThisService.checkUserLikeThisDocs( + return thumbsUpCheckService.checkUserLikeThisDocs( docsId, SecurityUtil.getCurrentUserWithLogin() ); } diff --git a/src/main/java/com/project/bumawiki/domain/thumbsup/service/ThumbsUpCheckService.java b/src/main/java/com/project/bumawiki/domain/thumbsup/service/ThumbsUpCheckService.java index 04621d44..bb53208c 100644 --- a/src/main/java/com/project/bumawiki/domain/thumbsup/service/ThumbsUpCheckService.java +++ b/src/main/java/com/project/bumawiki/domain/thumbsup/service/ThumbsUpCheckService.java @@ -12,7 +12,7 @@ @Service @RequiredArgsConstructor @Transactional(readOnly = true) -public class DocsCheckYouLikeThisService { +public class ThumbsUpCheckService { private final ThumbsUpReader thumbsUpReader; private final DocsValidator docsValidator; diff --git a/src/main/java/com/project/bumawiki/domain/user/domain/User.java b/src/main/java/com/project/bumawiki/domain/user/domain/User.java index 2a34ceda..786b780c 100644 --- a/src/main/java/com/project/bumawiki/domain/user/domain/User.java +++ b/src/main/java/com/project/bumawiki/domain/user/domain/User.java @@ -2,9 +2,7 @@ import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; -import com.project.bumawiki.domain.contribute.domain.Contribute; import com.project.bumawiki.domain.thumbsup.domain.ThumbsUp; import com.project.bumawiki.domain.thumbsup.exception.AlreadyThumbsUpException; import com.project.bumawiki.domain.thumbsup.exception.YouDontThumbsUpThisDocs; @@ -57,9 +55,6 @@ public class User { @Enumerated(EnumType.STRING) @Column(length = 16) private Authority authority; - @Builder.Default - @OneToMany(mappedBy = "contributor", cascade = CascadeType.ALL) - private List contributeDocs = new ArrayList<>(); public void cancelThumbsUp(ThumbsUp thumbsUp) { boolean removed = thumbsUps @@ -85,7 +80,7 @@ public List getList() { return this.thumbsUps .stream() .map(ThumbsUp::getDto) - .collect(Collectors.toList()); + .toList(); } public User update(BsmResourceResponse resource) { @@ -99,8 +94,4 @@ public User update(BsmResourceResponse resource) { public void changeUserAuthority(Authority authority) { this.authority = authority; } - - public void updateContributeDocs(List contribute) { - this.contributeDocs = contribute; - } } diff --git a/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java b/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java index 4ac18f2f..83593cac 100644 --- a/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java +++ b/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java @@ -1,10 +1,14 @@ package com.project.bumawiki.domain.user.presentation; +import com.project.bumawiki.domain.docs.service.DocsInformationService; +import com.project.bumawiki.global.util.SecurityUtil; + +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; import com.project.bumawiki.domain.user.domain.User; @@ -13,25 +17,26 @@ import lombok.RequiredArgsConstructor; -@Validated + @RequiredArgsConstructor @RestController -@RequestMapping("/api") +@RequestMapping("/api/user") public class UserInfoController { private final UserInfoService userInfoService; + private final DocsInformationService docsInformationService; - @GetMapping("/user") - public ResponseEntity findUserInfo() { - User loginUser = userInfoService.getLoginUser(); - UserResponseDto response = new UserResponseDto(loginUser); - return ResponseEntity.ok().body(response); + @GetMapping + @ResponseStatus(HttpStatus.OK) + public UserResponseDto findUserInfo() { + User user = SecurityUtil.getCurrentUserWithLogin(); + return new UserResponseDto(user, docsInformationService.findAllVersionDocsByUser(user)); } - @GetMapping("/user/id/{id}") + @GetMapping("/{id}") public ResponseEntity findAnotherUserInFo(@PathVariable Long id) { User foundUser = userInfoService.findAnotherInfo(id); - UserResponseDto response = new UserResponseDto(foundUser); + UserResponseDto response = new UserResponseDto(foundUser, docsInformationService.findAllVersionDocsByUser(foundUser)); return ResponseEntity.ok().body(response); } 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 1b897d9e..673f1d00 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 @@ -1,15 +1,12 @@ package com.project.bumawiki.domain.user.presentation.dto; -import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; -import com.project.bumawiki.domain.contribute.domain.Contribute; import com.project.bumawiki.domain.contribute.dto.ContributeResponseDto; +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; -import jakarta.validation.constraints.NotNull; import lombok.Getter; @Getter @@ -26,23 +23,15 @@ public class UserResponseDto { private final List contributeDocs; - public UserResponseDto(User user) { + public UserResponseDto(User user, List versionDocs) { this.id = user.getId(); this.email = user.getEmail(); this.nickName = user.getNickName(); this.authority = user.getAuthority(); this.name = user.getName(); - List contributeDocs = getContributeReversed(user); - this.contributeDocs = contributeDocs + this.contributeDocs = versionDocs .stream() .map(ContributeResponseDto::new) - .collect(Collectors.toList()); - } - - @NotNull - private static List getContributeReversed(User user) { - List contributeDocs = user.getContributeDocs(); - Collections.reverse(contributeDocs); - return contributeDocs; + .toList(); } } diff --git a/src/main/java/com/project/bumawiki/domain/user/service/UserInfoService.java b/src/main/java/com/project/bumawiki/domain/user/service/UserInfoService.java index 1aa08f68..b9a7a974 100644 --- a/src/main/java/com/project/bumawiki/domain/user/service/UserInfoService.java +++ b/src/main/java/com/project/bumawiki/domain/user/service/UserInfoService.java @@ -3,7 +3,6 @@ import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.domain.repository.UserRepositoryMapper; import com.project.bumawiki.global.annotation.ServiceWithTransactionalReadOnly; -import com.project.bumawiki.global.util.SecurityUtil; import lombok.RequiredArgsConstructor; @@ -13,11 +12,6 @@ public class UserInfoService { private final UserRepositoryMapper userRepositoryMapper; - public User getLoginUser() { - Long id = SecurityUtil.getCurrentUserWithLogin().getId(); - return userRepositoryMapper.getById(id); - } - public User findAnotherInfo(Long userId) { return userRepositoryMapper.getById(userId); } diff --git a/src/main/java/com/project/bumawiki/global/annotation/Implementation.java b/src/main/java/com/project/bumawiki/global/annotation/Implementation.java index 63925934..66ad0bf1 100644 --- a/src/main/java/com/project/bumawiki/global/annotation/Implementation.java +++ b/src/main/java/com/project/bumawiki/global/annotation/Implementation.java @@ -2,6 +2,14 @@ import org.springframework.stereotype.Component; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; + +@Target(TYPE) +@Retention(RUNTIME) @Component public @interface Implementation { } From dd1562fae107bd86c576f7a66a1a3ba9e83270b3 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Wed, 10 Apr 2024 21:20:51 +0900 Subject: [PATCH 2/8] =?UTF-8?q?refactor(docs):=20exception=20=EC=A0=84?= =?UTF-8?q?=EC=B2=B4=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bumawiki/domain/docs/domain/type/DocsType.java | 6 ++++-- .../exception/CannotChangeYourDocsException.java | 14 -------------- .../docs/exception/DocsConflictedException.java | 10 ---------- .../docs/exception/DocsNotFoundException.java | 13 ------------- .../docs/exception/DocsTypeNotFoundException.java | 14 -------------- .../docs/exception/NoSuchVersionException.java | 10 ---------- .../docs/exception/NoUpdatableDocsException.java | 13 ------------- .../docs/exception/VersionNotExistException.java | 13 ------------- .../domain/docs/implementation/DocsValidator.java | 3 +-- 9 files changed, 5 insertions(+), 91 deletions(-) delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/CannotChangeYourDocsException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/DocsConflictedException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/DocsNotFoundException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/DocsTypeNotFoundException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/NoSuchVersionException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/NoUpdatableDocsException.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/exception/VersionNotExistException.java diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java b/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java index eb7f3d69..9a35eaa7 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java @@ -4,7 +4,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import com.project.bumawiki.domain.docs.exception.DocsTypeNotFoundException; +import com.project.bumawiki.global.error.exception.BumawikiException; + +import com.project.bumawiki.global.error.exception.ErrorCode; import lombok.AllArgsConstructor; import lombok.Getter; @@ -32,7 +34,7 @@ public static DocsType valueOfLabel(String stringDocsType) { DocsType docsType = BY_LABEL.get(stringDocsType); if (docsType == null) { - throw DocsTypeNotFoundException.EXCEPTION; + throw new BumawikiException(ErrorCode.DOCS_TYPE_NOT_FOUND); } return docsType; diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/CannotChangeYourDocsException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/CannotChangeYourDocsException.java deleted file mode 100644 index e1cbbb28..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/CannotChangeYourDocsException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class CannotChangeYourDocsException extends BumawikiException { - - public static final CannotChangeYourDocsException EXCEPTION = new CannotChangeYourDocsException( - ErrorCode.CANNOT_CHANGE_YOUR_DOCS); - - public CannotChangeYourDocsException(ErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsConflictedException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/DocsConflictedException.java deleted file mode 100644 index 2415e5d3..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsConflictedException.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class DocsConflictedException extends BumawikiException { - public DocsConflictedException() { - super(ErrorCode.DOCS_CONFLICTED); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsNotFoundException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/DocsNotFoundException.java deleted file mode 100644 index 9237009d..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsNotFoundException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class DocsNotFoundException extends BumawikiException { - - public static final DocsNotFoundException EXCEPTION = new DocsNotFoundException(ErrorCode.DOCS_NOT_FOUND); - - public DocsNotFoundException(ErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsTypeNotFoundException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/DocsTypeNotFoundException.java deleted file mode 100644 index f3a2c419..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/DocsTypeNotFoundException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class DocsTypeNotFoundException extends BumawikiException { - - public static final DocsTypeNotFoundException EXCEPTION = new DocsTypeNotFoundException( - ErrorCode.DOCS_TYPE_NOT_FOUND); - - public DocsTypeNotFoundException(ErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/NoSuchVersionException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/NoSuchVersionException.java deleted file mode 100644 index 17774f85..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/NoSuchVersionException.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class NoSuchVersionException extends BumawikiException { - public NoSuchVersionException() { - super(ErrorCode.NO_SUCH_VERSION); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/NoUpdatableDocsException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/NoUpdatableDocsException.java deleted file mode 100644 index 8653e961..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/NoUpdatableDocsException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class NoUpdatableDocsException extends BumawikiException { - - public static final NoUpdatableDocsException EXCEPTION = new NoUpdatableDocsException(ErrorCode.NO_UPDATABLE_DOCS); - - public NoUpdatableDocsException(ErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/exception/VersionNotExistException.java b/src/main/java/com/project/bumawiki/domain/docs/exception/VersionNotExistException.java deleted file mode 100644 index 93af5780..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/exception/VersionNotExistException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.project.bumawiki.domain.docs.exception; - -import com.project.bumawiki.global.error.exception.BumawikiException; -import com.project.bumawiki.global.error.exception.ErrorCode; - -public class VersionNotExistException extends BumawikiException { - - public static final NoUpdatableDocsException EXCEPTION = new NoUpdatableDocsException(ErrorCode.VERSION_NOT_EXIST); - - public VersionNotExistException(ErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java index 865281c3..6a359cd3 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java +++ b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsValidator.java @@ -5,7 +5,6 @@ import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.domain.type.Status; -import com.project.bumawiki.domain.docs.exception.NoUpdatableDocsException; import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.global.annotation.Implementation; import com.project.bumawiki.global.error.exception.BumawikiException; @@ -47,7 +46,7 @@ public void checkUpdateOneSelf(User user, Docs docs) { public void checkUpdatableDocsType(DocsType docsType) { if (docsType.equals(DocsType.READONLY)) { - throw NoUpdatableDocsException.EXCEPTION; + throw new BumawikiException(ErrorCode.NO_UPDATABLE_DOCS); } } From 92091550e04da737c7a063c4ade289bea608a33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A7=88=ED=98=84=EC=9A=B0?= Date: Wed, 10 Apr 2024 21:35:59 +0900 Subject: [PATCH 3/8] =?UTF-8?q?refactor(thumbsup):=20ThumbsUpResponseDto?= =?UTF-8?q?=20class=EC=97=90=EC=84=9C=20record=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/dto/ThumbsUpResponseDto.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpResponseDto.java b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpResponseDto.java index 815b0178..9f818c93 100644 --- a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpResponseDto.java @@ -1,18 +1,17 @@ package com.project.bumawiki.domain.thumbsup.presentation.dto; -import com.fasterxml.jackson.annotation.JsonProperty; import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.type.DocsType; -public class ThumbsUpResponseDto { - - @JsonProperty - private final String title; - @JsonProperty - private final DocsType docsType; +public record ThumbsUpResponseDto( + String title, + DocsType docsType +) { public ThumbsUpResponseDto(Docs docs) { - this.title = docs.getTitle(); - this.docsType = docs.getDocsType(); + this( + docs.getTitle(), + docs.getDocsType() + ); } } From f25ed304df42b6cb7b51c262b1f574819114110a Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Wed, 10 Apr 2024 22:07:40 +0900 Subject: [PATCH 4/8] =?UTF-8?q?refactor(docs):=20docs=20response=20dto=20r?= =?UTF-8?q?ecord=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 62a6bdd1..00000000 --- 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 00000000..cc7f2755 --- /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 7a2dcf99..c1dd616c 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 b3683655..0d2548ce 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 673f1d00..e6861923 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(); } } From 0e7e2b9d00e7d1c8be6e41843e93d44ec9c73a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A7=88=ED=98=84=EC=9A=B0?= Date: Wed, 10 Apr 2024 22:21:55 +0900 Subject: [PATCH 5/8] =?UTF-8?q?refactor(thumbsup):=20VersionDocs=20dto?= =?UTF-8?q?=EC=9D=98=20class=EB=A5=BC=20record=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/CustomDocsRepositoryImpl.java | 2 +- .../dto/response/VersionDocsResponseDto.java | 25 ++++------------ .../dto/response/VersionResponseDto.java | 30 ++++++++----------- 3 files changed, 19 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java index 1e415ee8..d1fda8b3 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/CustomDocsRepositoryImpl.java @@ -28,7 +28,7 @@ public class CustomDocsRepositoryImpl implements CustomDocsRepository { public VersionResponseDto getDocsVersion(Docs findDocs) { List versionDocsResponseDto = jpaQueryFactory .select(constructor(VersionDocsResponseDto.class, versionDocs.createdAt, user.id, - user.nickName)) + user.nickName, versionDocs.version)) .from(docs) .join(docs.versionDocs, versionDocs) .join(versionDocs.user, user) diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsResponseDto.java index 8e16c9f5..2f68119a 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsResponseDto.java @@ -2,23 +2,10 @@ import java.time.LocalDateTime; -import lombok.Getter; - -@Getter -public final class VersionDocsResponseDto { - private final LocalDateTime thisVersionCreatedAt; - private final Long userId; - private final String nickName; - private int index; - - public VersionDocsResponseDto(LocalDateTime thisVersionCreatedAt, Long userId, String nickName) { - this.thisVersionCreatedAt = thisVersionCreatedAt; - this.userId = userId; - this.nickName = nickName; - } - - public void updateIndex(int index) { - this.index = index; - } - +public record VersionDocsResponseDto( + LocalDateTime thisVersionCreatedAt, + Long userId, + String nickName, + int index +) { } diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionResponseDto.java index e08d1d7c..cee53673 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionResponseDto.java @@ -5,25 +5,19 @@ import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import lombok.Getter; - -@Getter -public class VersionResponseDto { - private final int length; - private final List versionDocsResponseDto; - private final DocsType docsType; - private final String title; +public record VersionResponseDto( + int length, + List versionDocsResponseDto, + DocsType docsType, + String title +) { public VersionResponseDto(List versionDocsResponseDto, Docs findDocs) { - length = versionDocsResponseDto.size(); - this.versionDocsResponseDto = versionDocsResponseDto; - this.docsType = findDocs.getDocsType(); - this.title = findDocs.getTitle(); - - int index = length; - for (VersionDocsResponseDto docsResponseDto : versionDocsResponseDto) { - docsResponseDto.updateIndex(index); - index -= 1; - } + this( + versionDocsResponseDto.size(), + versionDocsResponseDto, + findDocs.getDocsType(), + findDocs.getTitle() + ); } } From 446c4546b271abe03a8a538e37b14d77678f4905 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Wed, 10 Apr 2024 23:30:13 +0900 Subject: [PATCH 6/8] =?UTF-8?q?refactor(docs):=20dto=20record=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EB=B0=8F=20request=20response=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/CommandDocsController.java | 4 +-- .../DocsInformationController.java | 14 ++++---- .../DocsMergeConflictController.java | 8 ++--- .../presentation/dto/ClubResponseDto.java | 24 -------------- .../dto/DocsConflictSolveDto.java | 7 ---- .../presentation/dto/TeacherResponseDto.java | 32 ------------------- .../dto/VersionDocsSummaryDto.java | 24 -------------- .../request/DocsConflictSolveRequestDto.java | 7 ++++ ...Dto.java => DocsTypeUpdateRequestDto.java} | 2 +- .../dto/response/ClubResponseDto.java | 27 ++++++++++++++++ .../DocsTypeResponseDto.java} | 24 +++++--------- .../MergeConflictDataResponseDto.java} | 4 +-- .../dto/response/TeacherResponseDto.java | 26 +++++++++++++++ .../response/VersionDocsDiffResponseDto.java | 3 +- .../VersionDocsSummaryResponseDto.java | 21 ++++++++++++ .../docs/service/DocsInformationService.java | 13 ++++---- .../service/DocsMergeConflictService.java | 10 +++--- 17 files changed, 118 insertions(+), 132 deletions(-) delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/ClubResponseDto.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsConflictSolveDto.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/TeacherResponseDto.java delete mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java create mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsConflictSolveRequestDto.java rename src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/{DocsTypeUpdateDto.java => DocsTypeUpdateRequestDto.java} (85%) create mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ClubResponseDto.java rename src/main/java/com/project/bumawiki/domain/docs/presentation/dto/{DocsTypeDto.java => response/DocsTypeResponseDto.java} (55%) rename src/main/java/com/project/bumawiki/domain/docs/presentation/dto/{MergeConflictDataResponse.java => response/MergeConflictDataResponseDto.java} (69%) create mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java create mode 100644 src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsSummaryResponseDto.java diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java index aeee74ae..45f150ab 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/CommandDocsController.java @@ -12,7 +12,7 @@ import com.project.bumawiki.domain.docs.presentation.dto.request.DocsCreateRequestDto; import com.project.bumawiki.domain.docs.presentation.dto.request.DocsTitleUpdateRequestDto; -import com.project.bumawiki.domain.docs.presentation.dto.request.DocsTypeUpdateDto; +import com.project.bumawiki.domain.docs.presentation.dto.request.DocsTypeUpdateRequestDto; import com.project.bumawiki.domain.docs.presentation.dto.request.DocsUpdateRequestDto; import com.project.bumawiki.domain.docs.service.CommandDocsService; import com.project.bumawiki.global.util.SecurityUtil; @@ -48,7 +48,7 @@ public void updateDocsTitle(@PathVariable String title, } @PutMapping("/docsType") - public void updateDocsType(@RequestBody DocsTypeUpdateDto requestDto) { + public void updateDocsType(@RequestBody DocsTypeUpdateRequestDto requestDto) { commandDocsService.docsTypeUpdate(requestDto.id(), requestDto.docsType()); } diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java index 7fb51048..c96def95 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java @@ -1,7 +1,8 @@ package com.project.bumawiki.domain.docs.presentation; import java.util.List; -import java.util.stream.Collectors; + +import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; import org.springframework.data.domain.Pageable; import org.springframework.data.web.PageableDefault; @@ -15,9 +16,8 @@ import org.springframework.web.bind.annotation.RestController; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import com.project.bumawiki.domain.docs.presentation.dto.ClubResponseDto; -import com.project.bumawiki.domain.docs.presentation.dto.DocsTypeDto; -import com.project.bumawiki.domain.docs.presentation.dto.TeacherResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.DocsTypeResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsNameAndEnrollResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsDiffResponseDto; @@ -45,10 +45,10 @@ public ResponseEntity findAllClub() { } @GetMapping("/{stringDocsType}") - public DocsTypeDto findAllByDocsType( + public DocsTypeResponseDto findAllByDocsType( @PathVariable String stringDocsType) { DocsType docsType = DocsType.valueOfLabel(stringDocsType); - return DocsTypeDto.from(docsInformationService.findByDocsTypeOrderByEnroll(docsType)); + return DocsTypeResponseDto.from(docsInformationService.findByDocsTypeOrderByEnroll(docsType)); } @GetMapping("/find/all/title/{title}") @@ -56,7 +56,7 @@ public List findAllByTitle(@PathVariable String ti return docsInformationService.findAllByTitle(title) .stream() .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); + .toList(); } @GetMapping("/find/title/{title}") diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsMergeConflictController.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsMergeConflictController.java index ff380da4..9d63c42b 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsMergeConflictController.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsMergeConflictController.java @@ -9,8 +9,8 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -import com.project.bumawiki.domain.docs.presentation.dto.DocsConflictSolveDto; -import com.project.bumawiki.domain.docs.presentation.dto.MergeConflictDataResponse; +import com.project.bumawiki.domain.docs.presentation.dto.request.DocsConflictSolveRequestDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.MergeConflictDataResponseDto; import com.project.bumawiki.domain.docs.service.DocsMergeConflictService; import lombok.RequiredArgsConstructor; @@ -24,13 +24,13 @@ public class DocsMergeConflictController { @GetMapping("/{title}") @ResponseStatus(HttpStatus.OK) - public MergeConflictDataResponse getMergeConflictData(@PathVariable String title) { + public MergeConflictDataResponseDto getMergeConflictData(@PathVariable String title) { return mergeConflictService.getMergeConflict(title); } @PutMapping("/{title}") @ResponseStatus(HttpStatus.NO_CONTENT) - public void solveConflict(@PathVariable String title, @RequestBody DocsConflictSolveDto dto) { + public void solveConflict(@PathVariable String title, @RequestBody DocsConflictSolveRequestDto dto) { mergeConflictService.solveConflict(title, dto); } } diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/ClubResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/ClubResponseDto.java deleted file mode 100644 index c3c7ea95..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/ClubResponseDto.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.project.bumawiki.domain.docs.presentation.dto; - -import java.util.List; -import java.util.stream.Collectors; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.presentation.dto.response.DocsNameAndEnrollResponseDto; - -public class ClubResponseDto { - @JsonProperty - private List club; - @JsonProperty - private List freeClub; - - public ClubResponseDto(List club, List freeClub) { - this.club = club.stream() - .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); - this.freeClub = freeClub.stream() - .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsConflictSolveDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsConflictSolveDto.java deleted file mode 100644 index f6b75fcc..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsConflictSolveDto.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.project.bumawiki.domain.docs.presentation.dto; - -public record DocsConflictSolveDto( - String contents -) { - -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/TeacherResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/TeacherResponseDto.java deleted file mode 100644 index 06794a32..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/TeacherResponseDto.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.project.bumawiki.domain.docs.presentation.dto; - -import java.util.List; -import java.util.stream.Collectors; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.presentation.dto.response.DocsNameAndEnrollResponseDto; - -public class TeacherResponseDto { - @JsonProperty - private List teacher; - @JsonProperty - private List majorTeacher; - @JsonProperty - private List mentorTeacher; - - public TeacherResponseDto(List teacher, - List majorTeacher, List mentorTeacher) { - this.teacher = teacher.stream() - .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); - - this.majorTeacher = majorTeacher.stream() - .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); - - this.mentorTeacher = majorTeacher.stream() - .map(DocsNameAndEnrollResponseDto::new) - .collect(Collectors.toList()); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java deleted file mode 100644 index 9e03866f..00000000 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/VersionDocsSummaryDto.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.project.bumawiki.domain.docs.presentation.dto; - -import java.time.LocalDateTime; - -import com.project.bumawiki.domain.docs.domain.VersionDocs; -import com.project.bumawiki.domain.user.domain.User; - -import lombok.Getter; - -@Getter -public class VersionDocsSummaryDto { - private final Integer version; - private final LocalDateTime thisVersionCreatedAt; - private final Long userId; - private final String nickName; - - public VersionDocsSummaryDto(VersionDocs versionDocs) { - User contributor = versionDocs.getUser(); - this.version = versionDocs.getVersion(); - this.thisVersionCreatedAt = versionDocs.getCreatedAt(); - this.nickName = contributor.getNickName(); - this.userId = contributor.getId(); - } -} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsConflictSolveRequestDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsConflictSolveRequestDto.java new file mode 100644 index 00000000..860cb965 --- /dev/null +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsConflictSolveRequestDto.java @@ -0,0 +1,7 @@ +package com.project.bumawiki.domain.docs.presentation.dto.request; + +public record DocsConflictSolveRequestDto( + String contents +) { + +} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateRequestDto.java similarity index 85% rename from src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateDto.java rename to src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateRequestDto.java index 1e53c481..23880b8b 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/request/DocsTypeUpdateRequestDto.java @@ -4,7 +4,7 @@ import jakarta.validation.constraints.NotNull; -public record DocsTypeUpdateDto( +public record DocsTypeUpdateRequestDto( @NotNull Long id, @NotNull diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ClubResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ClubResponseDto.java new file mode 100644 index 00000000..662e6d70 --- /dev/null +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/ClubResponseDto.java @@ -0,0 +1,27 @@ +package com.project.bumawiki.domain.docs.presentation.dto.response; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.project.bumawiki.domain.docs.domain.Docs; + +public record ClubResponseDto( + @JsonProperty + List club, + @JsonProperty + List freeClub +) { + public static ClubResponseDto from(List club, List freeClub) { + return new ClubResponseDto( + convertToDtoList(club), + convertToDtoList(freeClub) + ); + } + + private static List convertToDtoList(List docs) { + return docs.stream() + .map(DocsNameAndEnrollResponseDto::new) + .toList(); + } +} + diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsTypeDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsTypeResponseDto.java similarity index 55% rename from src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsTypeDto.java rename to src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsTypeResponseDto.java index cc132f55..89b45334 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/DocsTypeDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/DocsTypeResponseDto.java @@ -1,4 +1,4 @@ -package com.project.bumawiki.domain.docs.presentation.dto; +package com.project.bumawiki.domain.docs.presentation.dto.response; import java.util.ArrayList; import java.util.Collections; @@ -8,20 +8,12 @@ import java.util.TreeMap; import com.project.bumawiki.domain.docs.domain.Docs; -import com.project.bumawiki.domain.docs.presentation.dto.response.DocsNameAndEnrollResponseDto; - -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor(access = AccessLevel.PRIVATE) -public class DocsTypeDto { - private Map> data; - private Set keys; - - public static DocsTypeDto from(List allDocs) { +public record DocsTypeResponseDto( + Map> data, + Set keys +) { + public static DocsTypeResponseDto from(List allDocs) { List docsList = allDocs.stream() .map(DocsNameAndEnrollResponseDto::new) .toList(); @@ -31,10 +23,10 @@ public static DocsTypeDto from(List allDocs) { // 기존의 리스트를 순회하면서 enroll 값을 기준으로 Map에 추가합니다. for (DocsNameAndEnrollResponseDto doc : docsList) { - enrollMap.computeIfAbsent(doc.getEnroll(), k -> new ArrayList<>()).add(doc); + enrollMap.computeIfAbsent(doc.enroll(), k -> new ArrayList<>()).add(doc); } - return new DocsTypeDto( + return new DocsTypeResponseDto( enrollMap, enrollMap.keySet() ); diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/MergeConflictDataResponse.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/MergeConflictDataResponseDto.java similarity index 69% rename from src/main/java/com/project/bumawiki/domain/docs/presentation/dto/MergeConflictDataResponse.java rename to src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/MergeConflictDataResponseDto.java index f1488b89..450d2110 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/MergeConflictDataResponse.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/MergeConflictDataResponseDto.java @@ -1,10 +1,10 @@ -package com.project.bumawiki.domain.docs.presentation.dto; +package com.project.bumawiki.domain.docs.presentation.dto.response; import java.util.LinkedList; import org.bitbucket.cowwoc.diffmatchpatch.DiffMatchPatch; -public record MergeConflictDataResponse( +public record MergeConflictDataResponseDto( String firstDocsContent, String secondDocsContent, String originalDocsContent, diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java new file mode 100644 index 00000000..4335dd71 --- /dev/null +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java @@ -0,0 +1,26 @@ +package com.project.bumawiki.domain.docs.presentation.dto.response; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.project.bumawiki.domain.docs.domain.Docs; + +import java.util.List; + +public record TeacherResponseDto( + @JsonProperty List teacher, + @JsonProperty List majorTeacher, + @JsonProperty List mentorTeacher +) { + public static TeacherResponseDto from( List teacher, List majorTeacher, List mentorTeacher) { + return new TeacherResponseDto( + convertToDtoList(teacher), + convertToDtoList(majorTeacher), + convertToDtoList(mentorTeacher) + ); + } + + private static List convertToDtoList(List docsList) { + return docsList.stream() + .map(DocsNameAndEnrollResponseDto::new) + .toList(); + } +} diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java index b4ab5d38..111d6116 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsDiffResponseDto.java @@ -5,12 +5,11 @@ import java.util.ArrayList; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import com.project.bumawiki.domain.docs.presentation.dto.VersionDocsSummaryDto; public record VersionDocsDiffResponseDto( String title, DocsType docsType, - VersionDocsSummaryDto versionDocs, + VersionDocsSummaryResponseDto versionDocs, ArrayList diff ) { } diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsSummaryResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsSummaryResponseDto.java new file mode 100644 index 00000000..063b7b6a --- /dev/null +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/VersionDocsSummaryResponseDto.java @@ -0,0 +1,21 @@ +package com.project.bumawiki.domain.docs.presentation.dto.response; + +import java.time.LocalDateTime; + +import com.project.bumawiki.domain.docs.domain.VersionDocs; + +public record VersionDocsSummaryResponseDto( + Integer version, + LocalDateTime thisVersionCreatedAt, + Long userId, + String nickName +) { + public VersionDocsSummaryResponseDto(VersionDocs versionDocs) { + this( + versionDocs.getVersion(), + versionDocs.getCreatedAt(), + versionDocs.getUser().getId(), + versionDocs.getUser().getNickName() + ); + } +} diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java index 1b63c8fa..4d45f913 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java @@ -7,6 +7,8 @@ import com.project.bumawiki.domain.docs.implementation.DocsReader; +import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; + import org.bitbucket.cowwoc.diffmatchpatch.DiffMatchPatch; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -17,9 +19,8 @@ import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import com.project.bumawiki.domain.docs.presentation.dto.ClubResponseDto; -import com.project.bumawiki.domain.docs.presentation.dto.TeacherResponseDto; -import com.project.bumawiki.domain.docs.presentation.dto.VersionDocsSummaryDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsSummaryResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsDiffResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionResponseDto; @@ -82,7 +83,7 @@ public VersionDocsDiffResponseDto showVersionDocsDiff(String title, Integer vers LinkedList diff = getDiff(baseVersionDocs, targetVersionDocs); return new VersionDocsDiffResponseDto(docs.getTitle(), docs.getDocsType(), - new VersionDocsSummaryDto(targetVersionDocs), new ArrayList<>(diff)); + new VersionDocsSummaryResponseDto(targetVersionDocs), new ArrayList<>(diff)); } private LinkedList getDiff(Optional baseVersionDocs, @@ -102,7 +103,7 @@ public List findByDocsTypeOrderByEnroll(DocsType docsType) { } public TeacherResponseDto getAllTeacher() { - return new TeacherResponseDto( + return TeacherResponseDto.from( findByDocsType(DocsType.TEACHER), findByDocsType(DocsType.MAJOR_TEACHER), findByDocsType(DocsType.MENTOR_TEACHER) @@ -110,7 +111,7 @@ public TeacherResponseDto getAllTeacher() { } public ClubResponseDto getAllClub() { - return new ClubResponseDto( + return ClubResponseDto.from( findByDocsType(DocsType.CLUB), findByDocsType(DocsType.FREE_CLUB) ); diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java index f688adfa..9d72fa8f 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java @@ -18,8 +18,8 @@ import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.docs.domain.type.Status; -import com.project.bumawiki.domain.docs.presentation.dto.DocsConflictSolveDto; -import com.project.bumawiki.domain.docs.presentation.dto.MergeConflictDataResponse; +import com.project.bumawiki.domain.docs.presentation.dto.request.DocsConflictSolveRequestDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.MergeConflictDataResponseDto; import lombok.RequiredArgsConstructor; @@ -31,7 +31,7 @@ public class DocsMergeConflictService { private final DocsUpdater docsUpdater; private final DocsCreator docsCreator; - public MergeConflictDataResponse getMergeConflict(String title) { + public MergeConflictDataResponseDto getMergeConflict(String title) { Docs docs = docsReader.findByTitle(title); docsValidator.checkConflicted(docs); @@ -47,7 +47,7 @@ public MergeConflictDataResponse getMergeConflict(String title) { LinkedList diff1 = DocsUtil.getDiff(originalDocsContent, firstDocsContent); LinkedList diff2 = DocsUtil.getDiff(originalDocsContent, secondDocsContent); - return new MergeConflictDataResponse( + return new MergeConflictDataResponseDto( firstDocsContent, secondDocsContent, originalDocsContent, @@ -57,7 +57,7 @@ public MergeConflictDataResponse getMergeConflict(String title) { } - public void solveConflict(String title, DocsConflictSolveDto dto) { + public void solveConflict(String title, DocsConflictSolveRequestDto dto) { Docs docs = docsReader.findByTitle(title); docsValidator.checkConflicted(docs); From 180a9326f14d5ca274a4d9865943988c46b86fe4 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Thu, 11 Apr 2024 08:33:56 +0900 Subject: [PATCH 7/8] =?UTF-8?q?refactor(docs):=20ContributeDocsResponseDto?= =?UTF-8?q?=20indent=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/dto/response/ContributeDocsResponseDto.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index cc7f2755..51afa27d 100644 --- 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 @@ -11,7 +11,7 @@ public record ContributeDocsResponseDto( LocalDateTime createTime, String title, Integer version - ) { +) { public ContributeDocsResponseDto(VersionDocs versionDocs) { this( versionDocs.getUser().getId(), From 017527bbc82b1a0b607a5095fca2811610ae7e24 Mon Sep 17 00:00:00 2001 From: bo Date: Thu, 11 Apr 2024 08:43:18 +0900 Subject: [PATCH 8/8] chore(docs): reformat code --- .github/ISSUE_TEMPLATE/bug.md | 6 ++--- .github/ISSUE_TEMPLATE/feature.md | 4 +-- .github/ISSUE_TEMPLATE/refactore.md | 6 ++--- .github/workflows/gradle.yml | 26 +++++++++---------- .github/workflows/sonar_cloud.yml | 2 +- README.md | 8 ++++++ .../repository/VersionDocsRepository.java | 4 +-- .../domain/docs/domain/type/DocsType.java | 1 - .../docs/implementation/DocsReader.java | 4 +-- .../DocsInformationController.java | 7 +++-- .../DocsNameAndEnrollResponseDto.java | 2 +- .../dto/response/DocsResponseDto.java | 6 ++--- .../dto/response/TeacherResponseDto.java | 6 ++--- .../docs/service/DocsInformationService.java | 10 +++---- .../service/DocsMergeConflictService.java | 16 +++++------- .../presentation/ThumbsUpCheckController.java | 3 +-- .../presentation/dto/ThumbsUpRequestDto.java | 1 - .../bumawiki/domain/user/UserFacade.java | 2 -- .../user/presentation/UserInfoController.java | 9 +++---- .../presentation/dto/UserResponseDto.java | 2 +- .../global/annotation/Implementation.java | 6 ++--- src/test/resources/application.yml | 2 +- 22 files changed, 64 insertions(+), 69 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index 40bfbb9b..794337b9 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -7,11 +7,11 @@ assignees: '' --- -🐞 Describe - +🐞 Describe ✅ Tasks -- [ ] 1. +- [ ] + 1. 🙋🏻 할 말 diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md index 5ced59a2..1672fcfc 100644 --- a/.github/ISSUE_TEMPLATE/feature.md +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -9,9 +9,9 @@ assignees: '' ✨ Describe - ✅ Tasks -- [ ] 1. +- [ ] + 1. 🙋🏻 할 말 diff --git a/.github/ISSUE_TEMPLATE/refactore.md b/.github/ISSUE_TEMPLATE/refactore.md index 3567c6ed..c8575c14 100644 --- a/.github/ISSUE_TEMPLATE/refactore.md +++ b/.github/ISSUE_TEMPLATE/refactore.md @@ -7,11 +7,11 @@ assignees: '' --- -🔨 Describe - +🔨 Describe ✅ Tasks -- [ ] 1. +- [ ] + 1. 🙋🏻 할 말 diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 3d302952..629e60f8 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -13,18 +13,18 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - - name: Grant execute permission for gradlew - run: chmod +x gradlew + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' - - name: checkStyle - run: ./gradlew check + - name: Grant execute permission for gradlew + run: chmod +x gradlew - - name: Build with Gradle - run: ./gradlew build + - name: checkStyle + run: ./gradlew check + + - name: Build with Gradle + run: ./gradlew build diff --git a/.github/workflows/sonar_cloud.yml b/.github/workflows/sonar_cloud.yml index 94f3051f..97ca4d01 100644 --- a/.github/workflows/sonar_cloud.yml +++ b/.github/workflows/sonar_cloud.yml @@ -4,7 +4,7 @@ on: branches: - master pull_request: - types: [opened, synchronize, reopened] + types: [ opened, synchronize, reopened ] jobs: build: name: Build and analyze diff --git a/README.md b/README.md index ef9ad908..c73ac319 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # 부마위키 #### 웹사이트 바로가기 : bumawiki.kro.kr + #### 인스타그램 바로가기 : @bssm.wiki + #### BSM OAuth 바로가기 : github.com/BSSM-BSM ## 부마위키 + 부마위키는 부산소프트웨어마이스터고등학교의 역사를 기록하는 위키입니다. 학생, 선생님, 사건사고, 동아리 등의 문서에 대해 다룹니다. 교내 학생이라면 누구나 문서를 편집하고 생성할 수 있습니다. @@ -23,10 +26,13 @@ ## Made By #### 김호현 - 라떼판다 배포 및 코드 리팩토링, 이미지 업로드 기능 구현 + #### 이창보 - 서버 구축 및 주요 기능 구현 + #### 권세원, 박우빈 - api 통신 및 클라이언트 화면 구현 ### Server Developer +
@@ -47,6 +53,7 @@
### Client Developer +
@@ -67,4 +74,5 @@
### Thanks. + PS. 부마위키 많이 이용해주세용 diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java index 7f1f0269..e9fbf04e 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/repository/VersionDocsRepository.java @@ -3,12 +3,12 @@ import java.util.List; import java.util.Optional; -import com.project.bumawiki.domain.user.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.lang.NonNull; import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.VersionDocs; +import com.project.bumawiki.domain.user.domain.User; public interface VersionDocsRepository extends JpaRepository { @@ -21,5 +21,5 @@ public interface VersionDocsRepository extends JpaRepository Optional findByDocsAndVersion(Docs docs, Integer version); - List findAllByUser(User user); + List findAllByUser(User user); } diff --git a/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java b/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java index 9a35eaa7..743c72fc 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java +++ b/src/main/java/com/project/bumawiki/domain/docs/domain/type/DocsType.java @@ -5,7 +5,6 @@ import java.util.stream.Stream; import com.project.bumawiki.global.error.exception.BumawikiException; - import com.project.bumawiki.global.error.exception.ErrorCode; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java index 5683e37b..2df0e391 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java +++ b/src/main/java/com/project/bumawiki/domain/docs/implementation/DocsReader.java @@ -1,5 +1,7 @@ package com.project.bumawiki.domain.docs.implementation; +import java.util.List; + import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; @@ -10,8 +12,6 @@ import lombok.RequiredArgsConstructor; -import java.util.List; - @Implementation @RequiredArgsConstructor public class DocsReader { diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java index c96def95..577fdeb7 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/DocsInformationController.java @@ -2,8 +2,6 @@ import java.util.List; -import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; - import org.springframework.data.domain.Pageable; import org.springframework.data.web.PageableDefault; import org.springframework.http.HttpStatus; @@ -16,10 +14,11 @@ import org.springframework.web.bind.annotation.RestController; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import com.project.bumawiki.domain.docs.presentation.dto.response.DocsTypeResponseDto; -import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsNameAndEnrollResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.DocsTypeResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsDiffResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionResponseDto; import com.project.bumawiki.domain.docs.service.DocsInformationService; 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 c1dd616c..60638ee3 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,7 +8,7 @@ import com.project.bumawiki.domain.docs.domain.type.DocsType; import com.project.bumawiki.domain.docs.util.DocsUtil; -public record DocsNameAndEnrollResponseDto ( +public record DocsNameAndEnrollResponseDto( Long id, String title, int enroll, 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 0d2548ce..db0dffdc 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,7 +11,7 @@ import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.presentation.dto.SimpleUserDto; -public record DocsResponseDto ( +public record DocsResponseDto( Long id, String title, String contents, @@ -35,8 +35,8 @@ public DocsResponseDto(Docs docs, List contributors, VersionDocs versionDo docs.getEnroll(), true, contributors.stream() - .map(SimpleUserDto::new) - .toList(), + .map(SimpleUserDto::new) + .toList(), docs.getStatus(), versionDocs.getVersion(), DocsUtil.getThumbnail(versionDocs.getContents()) diff --git a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java index 4335dd71..19c5c178 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java +++ b/src/main/java/com/project/bumawiki/domain/docs/presentation/dto/response/TeacherResponseDto.java @@ -1,16 +1,16 @@ package com.project.bumawiki.domain.docs.presentation.dto.response; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonProperty; import com.project.bumawiki.domain.docs.domain.Docs; -import java.util.List; - public record TeacherResponseDto( @JsonProperty List teacher, @JsonProperty List majorTeacher, @JsonProperty List mentorTeacher ) { - public static TeacherResponseDto from( List teacher, List majorTeacher, List mentorTeacher) { + public static TeacherResponseDto from(List teacher, List majorTeacher, List mentorTeacher) { return new TeacherResponseDto( convertToDtoList(teacher), convertToDtoList(majorTeacher), diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java index 4d45f913..e48c5205 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsInformationService.java @@ -5,10 +5,6 @@ import java.util.List; import java.util.Optional; -import com.project.bumawiki.domain.docs.implementation.DocsReader; - -import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; - import org.bitbucket.cowwoc.diffmatchpatch.DiffMatchPatch; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -19,10 +15,12 @@ import com.project.bumawiki.domain.docs.domain.repository.DocsRepository; import com.project.bumawiki.domain.docs.domain.repository.VersionDocsRepository; import com.project.bumawiki.domain.docs.domain.type.DocsType; -import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; -import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsSummaryResponseDto; +import com.project.bumawiki.domain.docs.implementation.DocsReader; +import com.project.bumawiki.domain.docs.presentation.dto.response.ClubResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.DocsResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.TeacherResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsDiffResponseDto; +import com.project.bumawiki.domain.docs.presentation.dto.response.VersionDocsSummaryResponseDto; import com.project.bumawiki.domain.docs.presentation.dto.response.VersionResponseDto; import com.project.bumawiki.domain.docs.util.DocsUtil; import com.project.bumawiki.domain.user.domain.User; diff --git a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java index 9d72fa8f..0c2d94ff 100644 --- a/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java +++ b/src/main/java/com/project/bumawiki/domain/docs/service/DocsMergeConflictService.java @@ -3,23 +3,20 @@ import java.util.LinkedList; import java.util.List; -import com.project.bumawiki.domain.docs.implementation.DocsCreator; -import com.project.bumawiki.domain.docs.implementation.DocsReader; - -import com.project.bumawiki.domain.docs.implementation.DocsUpdater; -import com.project.bumawiki.domain.docs.implementation.DocsValidator; - -import com.project.bumawiki.domain.docs.util.DocsUtil; -import com.project.bumawiki.global.util.SecurityUtil; - import org.bitbucket.cowwoc.diffmatchpatch.DiffMatchPatch; import org.springframework.stereotype.Service; import com.project.bumawiki.domain.docs.domain.Docs; import com.project.bumawiki.domain.docs.domain.VersionDocs; import com.project.bumawiki.domain.docs.domain.type.Status; +import com.project.bumawiki.domain.docs.implementation.DocsCreator; +import com.project.bumawiki.domain.docs.implementation.DocsReader; +import com.project.bumawiki.domain.docs.implementation.DocsUpdater; +import com.project.bumawiki.domain.docs.implementation.DocsValidator; import com.project.bumawiki.domain.docs.presentation.dto.request.DocsConflictSolveRequestDto; import com.project.bumawiki.domain.docs.presentation.dto.response.MergeConflictDataResponseDto; +import com.project.bumawiki.domain.docs.util.DocsUtil; +import com.project.bumawiki.global.util.SecurityUtil; import lombok.RequiredArgsConstructor; @@ -56,7 +53,6 @@ public MergeConflictDataResponseDto getMergeConflict(String title) { ); } - public void solveConflict(String title, DocsConflictSolveRequestDto dto) { Docs docs = docsReader.findByTitle(title); diff --git a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java index afbcf3e5..5e397f08 100644 --- a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java +++ b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/ThumbsUpCheckController.java @@ -1,7 +1,5 @@ package com.project.bumawiki.domain.thumbsup.presentation; -import com.project.bumawiki.domain.thumbsup.service.ThumbsUpCheckService; - import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -9,6 +7,7 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import com.project.bumawiki.domain.thumbsup.service.ThumbsUpCheckService; import com.project.bumawiki.global.util.SecurityUtil; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpRequestDto.java b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpRequestDto.java index b0a31ff3..f2bbdda6 100644 --- a/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpRequestDto.java +++ b/src/main/java/com/project/bumawiki/domain/thumbsup/presentation/dto/ThumbsUpRequestDto.java @@ -1,7 +1,6 @@ package com.project.bumawiki.domain.thumbsup.presentation.dto; import jakarta.validation.constraints.NotNull; -import lombok.Getter; public record ThumbsUpRequestDto( @NotNull diff --git a/src/main/java/com/project/bumawiki/domain/user/UserFacade.java b/src/main/java/com/project/bumawiki/domain/user/UserFacade.java index 90fc32a9..d3673b5f 100644 --- a/src/main/java/com/project/bumawiki/domain/user/UserFacade.java +++ b/src/main/java/com/project/bumawiki/domain/user/UserFacade.java @@ -5,8 +5,6 @@ import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.domain.repository.UserRepository; import com.project.bumawiki.domain.user.exception.UserNotFoundException; -import com.project.bumawiki.domain.user.exception.UserNotLoginException; -import com.project.bumawiki.global.util.SecurityUtil; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java b/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java index 83593cac..ac61679d 100644 --- a/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java +++ b/src/main/java/com/project/bumawiki/domain/user/presentation/UserInfoController.java @@ -1,8 +1,5 @@ package com.project.bumawiki.domain.user.presentation; -import com.project.bumawiki.domain.docs.service.DocsInformationService; -import com.project.bumawiki.global.util.SecurityUtil; - import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -11,13 +8,14 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; +import com.project.bumawiki.domain.docs.service.DocsInformationService; import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.presentation.dto.UserResponseDto; import com.project.bumawiki.domain.user.service.UserInfoService; +import com.project.bumawiki.global.util.SecurityUtil; import lombok.RequiredArgsConstructor; - @RequiredArgsConstructor @RestController @RequestMapping("/api/user") @@ -36,7 +34,8 @@ public UserResponseDto findUserInfo() { @GetMapping("/{id}") public ResponseEntity findAnotherUserInFo(@PathVariable Long id) { User foundUser = userInfoService.findAnotherInfo(id); - UserResponseDto response = new UserResponseDto(foundUser, docsInformationService.findAllVersionDocsByUser(foundUser)); + UserResponseDto response = new UserResponseDto(foundUser, + docsInformationService.findAllVersionDocsByUser(foundUser)); return ResponseEntity.ok().body(response); } 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 e6861923..05de6a9c 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,8 +2,8 @@ import java.util.List; -import com.project.bumawiki.domain.docs.presentation.dto.response.ContributeDocsResponseDto; import com.project.bumawiki.domain.docs.domain.VersionDocs; +import com.project.bumawiki.domain.docs.presentation.dto.response.ContributeDocsResponseDto; import com.project.bumawiki.domain.user.domain.User; import com.project.bumawiki.domain.user.domain.authority.Authority; diff --git a/src/main/java/com/project/bumawiki/global/annotation/Implementation.java b/src/main/java/com/project/bumawiki/global/annotation/Implementation.java index 66ad0bf1..ed8bc4c0 100644 --- a/src/main/java/com/project/bumawiki/global/annotation/Implementation.java +++ b/src/main/java/com/project/bumawiki/global/annotation/Implementation.java @@ -1,12 +1,12 @@ package com.project.bumawiki.global.annotation; -import org.springframework.stereotype.Component; +import static java.lang.annotation.ElementType.*; +import static java.lang.annotation.RetentionPolicy.*; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import static java.lang.annotation.ElementType.*; -import static java.lang.annotation.RetentionPolicy.*; +import org.springframework.stereotype.Component; @Target(TYPE) @Retention(RUNTIME) diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml index 154ee5f2..713f1b4c 100644 --- a/src/test/resources/application.yml +++ b/src/test/resources/application.yml @@ -1,5 +1,5 @@ spring: - datasource : + datasource: url: jdbc:h2:mem:test driverClassName: org.h2.Driver username: sa