From d50682847a597319f4d32a96c561c0bc5a1137e2 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Thu, 17 Jul 2025 16:36:28 +0900 Subject: [PATCH 1/7] =?UTF-8?q?Refactor:=20=EC=95=88=EC=93=B0=EB=8A=94=20?= =?UTF-8?q?=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20swagger=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=A0=9C=EC=99=B8=20(#162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SimplificationControllerV2.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/simplification/controller/SimplificationControllerV2.java b/src/main/java/com/adoonge/seedzip/simplification/controller/SimplificationControllerV2.java index 97870a9..ccc29df 100644 --- a/src/main/java/com/adoonge/seedzip/simplification/controller/SimplificationControllerV2.java +++ b/src/main/java/com/adoonge/seedzip/simplification/controller/SimplificationControllerV2.java @@ -23,10 +23,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -@RestController -@RequestMapping("/api/v2/simplification") +//@RestController +//@RequestMapping("/api/v2/simplification") @RequiredArgsConstructor -@Tag(name = "SimplificationController V2", description = "제목, 요약, 태그 간략화 관련 API V2") +//@Tag(name = "SimplificationController V2", description = "제목, 요약, 태그 간략화 관련 API V2") public class SimplificationControllerV2 { private final SimplificationService simplificationService; From 7d5bb5617c02d564a33a452d9a9e4d13854c4e96 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Thu, 17 Jul 2025 16:38:05 +0900 Subject: [PATCH 2/7] =?UTF-8?q?Refactor:=20swagger=20=EC=A0=95=EB=A0=AC=20?= =?UTF-8?q?(#162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 19daeb4..1256487 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -66,6 +66,9 @@ springdoc: show-login-endpoint: true swagger-ui: path: /swagger-ui.html + groups-order: desc + tags_sorter: alpha + operations_sorter: method # delete - get - patch - post - put 정렬 api-docs: path: /v1/api-docs From 6b97c701353bb29239cc2c5889cc2ec54f90f057 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Thu, 17 Jul 2025 16:47:06 +0900 Subject: [PATCH 3/7] =?UTF-8?q?Refactor:=20swagger=20=EC=84=9C=EB=B2=84=20?= =?UTF-8?q?=EC=97=B0=EA=B2=B0=20=EC=A0=95=EB=A6=AC=20(#162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adoonge/seedzip/global/config/SwaggerConfig.java | 12 ++++++++---- src/main/resources/application.yml | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/global/config/SwaggerConfig.java b/src/main/java/com/adoonge/seedzip/global/config/SwaggerConfig.java index caca5df..a36600c 100644 --- a/src/main/java/com/adoonge/seedzip/global/config/SwaggerConfig.java +++ b/src/main/java/com/adoonge/seedzip/global/config/SwaggerConfig.java @@ -14,8 +14,9 @@ @Configuration public class SwaggerConfig { - @Value("${server.url}") - private String serverUrl; + @Value("${swagger.server.url}") + private String swaggerServerUrl; + @Bean public OpenAPI openAPI() { String jwt = "JWT"; @@ -28,8 +29,11 @@ public OpenAPI openAPI() { ); ArrayList servers = new ArrayList<>(); - servers.add(new Server().url("https://"+serverUrl).description("AdoongE Server")); - servers.add(new Server().url("http://localhost:8080").description("Local Server")); + if(swaggerServerUrl.contains("localhost")){ + servers.add(new Server().url(swaggerServerUrl).description("Local Server")); + }else{ + servers.add(new Server().url("https://"+swaggerServerUrl).description("AdoongE Server")); + } return new OpenAPI() .components(new Components()) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1256487..8a31e94 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -72,6 +72,10 @@ springdoc: api-docs: path: /v1/api-docs +swagger: + server: + url: ${SWAGGER_URL} + kakao: api: key: ${KAKAO_API_KEY} From 298fb7228418285ad5e148909d16ba09d30b3679 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Thu, 17 Jul 2025 17:38:24 +0900 Subject: [PATCH 4/7] =?UTF-8?q?Refactor:=20seed=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EB=B3=80=EC=88=98=EB=AA=85=20=EC=A0=95=EB=A6=AC=20(#162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adoonge/seedzip/seed/dto/SeedDTO.java | 12 ++-- .../dto/request/SeedDeleteListRequest.java | 2 +- .../dto/request/SeedFilteringRequest.java | 2 +- .../seedzip/seed/dto/request/SeedRequest.java | 12 ++-- .../seed/dto/request/SeedUpdateRequest.java | 12 ++-- .../seed/dto/response/SeedResponse.java | 26 ++++---- .../seed/repository/SeedRepositoryImpl.java | 4 +- .../seedzip/seed/service/SeedService.java | 60 +++++++++---------- 8 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java b/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java index f38ee39..726a7ec 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java @@ -11,21 +11,21 @@ @Builder public record SeedDTO( - @NotNull SeedType seedType, - @NotNull String seedName, + @NotNull SeedType type, + @NotNull String name, Long thumbnailImage, // 없으면 null LocalDate dDay, // 없으면 null - String seedDetail, // 없으면 null + String detail, // 없으면 null Member member ) { public Seed toEntity() { return Seed.builder() - .seedName(seedName) + .seedName(name) .dDay(dDay) - .seedDetail(seedDetail) + .seedDetail(detail) .thumbnailIdx(thumbnailImage) - .seedType(seedType) + .seedType(type) .member(member) .build(); } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java index 47b8de5..b3e4dee 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java @@ -3,6 +3,6 @@ import java.util.List; public record SeedDeleteListRequest ( - List seedIdList + List ids ){ } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java index 9ded8d4..093ff94 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java @@ -3,7 +3,7 @@ import java.util.List; public record SeedFilteringRequest( - List tags, + List tagNames, String keyword ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java index c701e9f..c73960b 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java @@ -8,13 +8,13 @@ import jakarta.validation.constraints.Size; public record SeedRequest( - @NotNull SeedType seedType, - String seedName, // 없으면 null - String[] boardCategories, + @NotNull SeedType type, + String name, // 없으면 null + String[] categoryNames, // 없으면 null Long thumbnailImage, // 없으면 null - String seedLink, // link만 해당, 나머지 null - @NotNull @Size(min = 2, message = "태그는 2개 이상 선택해야합니다.") String[] tags, + String link, // link만 해당, 나머지 null + @NotNull @Size(min = 2, message = "태그는 2개 이상 선택해야합니다.") String[] tagNames, LocalDate dDay, // 없으면 null - String seedDetail // 없으면 null + String detail // 없으면 null ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java index f67eb80..d757d80 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java @@ -8,13 +8,13 @@ import jakarta.validation.constraints.Size; public record SeedUpdateRequest( - @NotNull SeedType seedType, - String seedName, // 없으면 null - @NotNull String[] boardCategories, + @NotNull SeedType type, + String name, // 없으면 null + @NotNull String[] categoryNames, // 없으면 null Long thumbnailImage, // 없으면 null - String seedLink, // link만 해당, 나머지 null - @NotNull @Size(min = 2, message = "태그는 최소 2개 이상 입력해야 합니다.") String[] tags, + String link, // link만 해당, 나머지 null + @NotNull @Size(min = 2, message = "태그는 최소 2개 이상 입력해야 합니다.") String[] tagNames, LocalDate dDay, // 없으면 null - String seedDetail // 없으면 null + String detail // 없으면 null ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java b/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java index 676d46c..6c2c514 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java @@ -11,34 +11,34 @@ public class SeedResponse { public record PageInfo(int page, int size, int totalPages, long totalElements, boolean isLast) {} @Builder - public record SeedInfo(Long seedId, String seedName, List categoryId, List categoryName, - SeedType seedType, String thumbnailImage, LocalDateTime updatedDt, - List tagId, List tagName, int dDay, Boolean isSaved) {} + public record SeedInfo(Long id, String name, List categoryIds, List categoryNames, + SeedType type, String thumbnailImage, LocalDateTime updatedDt, + List tagIds, List tagNames, int dDay, Boolean isSaved) {} @Builder public record GetAllSeeds(String nickname, List seedInfoList, PageInfo pageInfo) {} @Builder - public record SeedInfoSimple(Long seedId, String seedName){} + public record SeedInfoSimple(Long id, String name){} @Builder - public record SeedDetail(Long seedId, - SeedType seedType, - String seedName, - String seedLink, + public record SeedDetail(Long id, + SeedType type, + String name, + String link, List fileLinks, - List titles, + List fileTitles, Long thumbnailImage, List categoryNames, List tagNames, LocalDate dDay, - String seedDetail){} + String detail){} @Builder public record SeedInfoWithSeedDetail( - Long seedId, String seedName, List categoryId, List categoryName, - SeedType seedType, String thumbnailImage, LocalDateTime updatedDt, - List tagId, List tagName, int dDay, String seedDetail, Boolean isSaved + Long id, String name, List categoryIds, List categoryNames, + SeedType type, String thumbnailImage, LocalDateTime updatedDt, + List tagIds, List tagNames, int dDay, String detail, Boolean isSaved ){} @Builder diff --git a/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java b/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java index 1994dfb..73d8ad8 100644 --- a/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java +++ b/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java @@ -79,7 +79,7 @@ public SeedStatisticsDTO getSeedStatistics(Member member) { @Override public Page findSeedsByFiltering(Member member, Pageable pageable, SeedType seedType, SeedFilteringRequest request) { - List tagNames = request.tags(); + List tagNames = request.tagNames(); String keyword = request.keyword(); BooleanExpression condition = seed.member.eq(member); @@ -108,7 +108,7 @@ public Page findSeedsByFiltering(Member member, Pageable pageable, SeedTyp @Override public Page findCategorySeedsByFiltering(Member member, Pageable pageable, SeedType seedType, Long categoryId, SeedFilteringRequest request) { - List tagNames = request.tags(); + List tagNames = request.tagNames(); String keyword = request.keyword(); BooleanExpression condition = seed.member.eq(member); diff --git a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java index 12e0387..dcb7f7f 100644 --- a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java +++ b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java @@ -138,28 +138,28 @@ public SeedResponse.GetAllSeeds getCategorySeeds(Member member, int page, int si @Transactional public SeedResponse.SeedInfoSimple uploadSeed(SeedRequest seedRequest, Member member) { - if(seedRequest.seedType() == SeedType.LINK && seedRequest.seedLink() == null) { + if(seedRequest.type() == SeedType.LINK && seedRequest.link() == null) { throw SeedzipException.from(ErrorCode.EMPTY_LINK); } Seed seed = saveSeed(seedRequest, member); // 태그 및 카테고리 저장 - saveSeedTags(seedRequest.tags(), member, seed); - if(seedRequest.boardCategories() == null) { + saveSeedTags(seedRequest.tagNames(), member, seed); + if(seedRequest.categoryNames() == null) { saveSeedDefaultCategory(member, seed); } else { - saveSeedCategories(seedRequest.boardCategories(), member, seed); + saveSeedCategories(seedRequest.categoryNames(), member, seed); } - if (seedRequest.seedType() == SeedType.LINK) { - fileService.saveLink(seedRequest.seedLink(), seed); + if (seedRequest.type() == SeedType.LINK) { + fileService.saveLink(seedRequest.link(), seed); } return SeedResponse.SeedInfoSimple .builder() - .seedId(seed.getId()) - .seedName(seed.getSeedName()) + .id(seed.getId()) + .name(seed.getSeedName()) .build(); } @@ -208,17 +208,17 @@ public SeedResponse.SeedDetail getSeedDetail(Long seedId) { List tagNames = seedTagRepository.findTagNamesBySeed(seed); return SeedResponse.SeedDetail.builder() - .seedId(seed.getId()) - .seedType(seed.getSeedType()) - .seedName(seed.getSeedName()) - .seedLink(seedLink) + .id(seed.getId()) + .type(seed.getSeedType()) + .name(seed.getSeedName()) + .link(seedLink) .fileLinks(fileLinks) - .titles(titles) + .fileTitles(titles) .thumbnailImage(thumbnailImage) .categoryNames(categoryNames) .tagNames(tagNames) .dDay(seed.getDDay()) - .seedDetail(seed.getSeedDetail()) + .detail(seed.getSeedDetail()) .build(); } @@ -344,12 +344,12 @@ public void deleteSeed(Long id, Member member) { @Transactional public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, Long seedId, Member member) { - if(request.seedType() == SeedType.LINK && request.seedLink() == null) { + if(request.type() == SeedType.LINK && request.link() == null) { throw SeedzipException.from(ErrorCode.EMPTY_LINK); } Seed seed = getSeedOrThrow(seedId); - if(!request.seedType().equals(seed.getSeedType())) { + if(!request.type().equals(seed.getSeedType())) { throw SeedzipException.from(ErrorCode.SEED_TYPE_NOT_SUPPORTED); } @@ -359,14 +359,14 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, } // 기본 필드 수정 - if (!Objects.equals(seed.getSeedName(), request.seedName())) { - seed.updateSeedName(request.seedName()); + if (!Objects.equals(seed.getSeedName(), request.name())) { + seed.updateSeedName(request.name()); } if (!Objects.equals(seed.getDDay(), request.dDay())) { seed.updateDDay(request.dDay()); } - if (!Objects.equals(seed.getSeedDetail(), request.seedDetail())) { - seed.updateSeedDetail(request.seedDetail()); + if (!Objects.equals(seed.getSeedDetail(), request.detail())) { + seed.updateSeedDetail(request.detail()); } if (!Objects.equals(seed.getThumbnailIdx(), request.thumbnailImage())) { seed.updateThumbnailIdx(request.thumbnailImage()); @@ -374,18 +374,18 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, // 태그 seedTagRepository.deleteAllBySeedId(seedId); - saveSeedTags(request.tags(), member, seed); + saveSeedTags(request.tagNames(), member, seed); // 카테고리 categorySeedRepository.deleteAllBySeedId(seedId); - saveSeedCategories(request.boardCategories(), member, seed); + saveSeedCategories(request.categoryNames(), member, seed); if (seed.getSeedType().equals(SeedType.LINK)) { File file = fileRepository.findBySeed(seed).orElseThrow( () -> SeedzipException.from(ErrorCode.FILE_NOT_FOUND) ); - if (!Objects.equals(file.getLink(), request.seedLink())) { - file.updateLink(request.seedLink()); + if (!Objects.equals(file.getLink(), request.link())) { + file.updateLink(request.link()); } } else { // 이미지, PDF deleteFileFromS3(seedId, seed); @@ -394,8 +394,8 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, Seed updatedSeed = seedRepository.save(seed); return SeedResponse.SeedInfoSimple.builder() - .seedId(updatedSeed.getId()) - .seedName(updatedSeed.getSeedName()) + .id(updatedSeed.getId()) + .name(updatedSeed.getSeedName()) .build(); } @@ -450,7 +450,7 @@ public SeedResponse.GetAllSeeds getUnreadSeeds(Member member, int page, int size @Transactional public void deleteSeedList(SeedDeleteListRequest request, Member member) { - List seedIds = request.seedIdList(); + List seedIds = request.ids(); if (seedIds.isEmpty()) return; List seeds = seedRepository.findAllByIdIn(seedIds); @@ -554,11 +554,11 @@ private SeedProjectionResult getSeedProjectionResult(List seedIds) { private Seed saveSeed(SeedRequest seedRequest, Member member) { SeedDTO seedDTO = SeedDTO.builder() - .seedName(seedRequest.seedName() == null ? LocalDate.now().toString() : seedRequest.seedName()) - .seedDetail(seedRequest.seedDetail()) + .name(seedRequest.name() == null ? LocalDate.now().toString() : seedRequest.name()) + .detail(seedRequest.detail()) .thumbnailImage(seedRequest.thumbnailImage() == null ? 0 : seedRequest.thumbnailImage()) .dDay(seedRequest.dDay()) - .seedType(seedRequest.seedType()) + .type(seedRequest.type()) .member(member) .build(); From 9ee3be32c06a08524629e11bc91cd0316a92c467 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Sun, 20 Jul 2025 00:56:34 +0900 Subject: [PATCH 5/7] =?UTF-8?q?Refactor:=20tag,=20category=EB=A7=8C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95(#162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adoonge/seedzip/seed/dto/SeedDTO.java | 12 +-- .../dto/request/SeedDeleteListRequest.java | 2 +- .../seedzip/seed/dto/request/SeedRequest.java | 8 +- .../seed/dto/request/SeedUpdateRequest.java | 8 +- .../seed/dto/response/SeedResponse.java | 81 ++++++++++--------- .../seedzip/seed/service/SeedService.java | 54 ++++++------- 6 files changed, 87 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java b/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java index 726a7ec..f38ee39 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/SeedDTO.java @@ -11,21 +11,21 @@ @Builder public record SeedDTO( - @NotNull SeedType type, - @NotNull String name, + @NotNull SeedType seedType, + @NotNull String seedName, Long thumbnailImage, // 없으면 null LocalDate dDay, // 없으면 null - String detail, // 없으면 null + String seedDetail, // 없으면 null Member member ) { public Seed toEntity() { return Seed.builder() - .seedName(name) + .seedName(seedName) .dDay(dDay) - .seedDetail(detail) + .seedDetail(seedDetail) .thumbnailIdx(thumbnailImage) - .seedType(type) + .seedType(seedType) .member(member) .build(); } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java index b3e4dee..47b8de5 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedDeleteListRequest.java @@ -3,6 +3,6 @@ import java.util.List; public record SeedDeleteListRequest ( - List ids + List seedIdList ){ } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java index c73960b..224de32 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java @@ -8,13 +8,13 @@ import jakarta.validation.constraints.Size; public record SeedRequest( - @NotNull SeedType type, - String name, // 없으면 null + @NotNull SeedType seedType, + String seedName, // 없으면 null String[] categoryNames, // 없으면 null Long thumbnailImage, // 없으면 null - String link, // link만 해당, 나머지 null + String seedLink, // link만 해당, 나머지 null @NotNull @Size(min = 2, message = "태그는 2개 이상 선택해야합니다.") String[] tagNames, LocalDate dDay, // 없으면 null - String detail // 없으면 null + String seedDetail // 없으면 null ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java index d757d80..d534240 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java @@ -8,13 +8,13 @@ import jakarta.validation.constraints.Size; public record SeedUpdateRequest( - @NotNull SeedType type, - String name, // 없으면 null + @NotNull SeedType seedType, + String seedName, // 없으면 null @NotNull String[] categoryNames, // 없으면 null Long thumbnailImage, // 없으면 null - String link, // link만 해당, 나머지 null + String seedLink, // link만 해당, 나머지 null @NotNull @Size(min = 2, message = "태그는 최소 2개 이상 입력해야 합니다.") String[] tagNames, LocalDate dDay, // 없으면 null - String detail // 없으면 null + String seedDetail // 없으면 null ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java b/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java index 6c2c514..fe6df76 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/response/SeedResponse.java @@ -1,46 +1,55 @@ package com.adoonge.seedzip.seed.dto.response; + import com.adoonge.seedzip.seed.domain.SeedType; + import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; + import lombok.Builder; public class SeedResponse { - @Builder - public record PageInfo(int page, int size, int totalPages, long totalElements, boolean isLast) {} - - @Builder - public record SeedInfo(Long id, String name, List categoryIds, List categoryNames, - SeedType type, String thumbnailImage, LocalDateTime updatedDt, - List tagIds, List tagNames, int dDay, Boolean isSaved) {} - - @Builder - public record GetAllSeeds(String nickname, List seedInfoList, PageInfo pageInfo) {} - - @Builder - public record SeedInfoSimple(Long id, String name){} - - @Builder - public record SeedDetail(Long id, - SeedType type, - String name, - String link, - List fileLinks, - List fileTitles, - Long thumbnailImage, - List categoryNames, - List tagNames, - LocalDate dDay, - String detail){} - - @Builder - public record SeedInfoWithSeedDetail( - Long id, String name, List categoryIds, List categoryNames, - SeedType type, String thumbnailImage, LocalDateTime updatedDt, - List tagIds, List tagNames, int dDay, String detail, Boolean isSaved - ){} - - @Builder - public record GetFilteredSeeds(String nickname, List seedInfoList, PageInfo pageInfo){} + @Builder + public record PageInfo(int page, int size, int totalPages, long totalElements, boolean isLast) { + } + + @Builder + public record SeedInfo(Long seedId, String seedName, List categoryId, List categoryName, + SeedType seedType, String thumbnailImage, LocalDateTime updatedDt, + List tagId, List tagName, int dDay, Boolean isSaved) { + } + + @Builder + public record GetAllSeeds(String nickname, List seedInfoList, PageInfo pageInfo) { + } + + @Builder + public record SeedInfoSimple(Long seedId, String seedName) { + } + + @Builder + public record SeedDetail(Long seedId, + SeedType seedType, + String seedName, + String seedLink, + List fileLinks, + List titles, + Long thumbnailImage, + List categoryName, + List tagName, + LocalDate dDay, + String seedDetail) { + } + + @Builder + public record SeedInfoWithSeedDetail( + Long seedId, String seedName, List categoryId, List categoryName, + SeedType seedType, String thumbnailImage, LocalDateTime updatedDt, + List tagId, List tagName, int dDay, String seedDetail, Boolean isSaved) { + } + + @Builder + public record GetFilteredSeeds(String nickname, List seedInfoList, PageInfo pageInfo) { + } } diff --git a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java index dcb7f7f..aeed5a4 100644 --- a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java +++ b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java @@ -138,7 +138,7 @@ public SeedResponse.GetAllSeeds getCategorySeeds(Member member, int page, int si @Transactional public SeedResponse.SeedInfoSimple uploadSeed(SeedRequest seedRequest, Member member) { - if(seedRequest.type() == SeedType.LINK && seedRequest.link() == null) { + if(seedRequest.seedType() == SeedType.LINK && seedRequest.seedLink() == null) { throw SeedzipException.from(ErrorCode.EMPTY_LINK); } @@ -152,14 +152,14 @@ public SeedResponse.SeedInfoSimple uploadSeed(SeedRequest seedRequest, Member me saveSeedCategories(seedRequest.categoryNames(), member, seed); } - if (seedRequest.type() == SeedType.LINK) { - fileService.saveLink(seedRequest.link(), seed); + if (seedRequest.seedType() == SeedType.LINK) { + fileService.saveLink(seedRequest.seedLink(), seed); } return SeedResponse.SeedInfoSimple .builder() - .id(seed.getId()) - .name(seed.getSeedName()) + .seedId(seed.getId()) + .seedName(seed.getSeedName()) .build(); } @@ -208,17 +208,17 @@ public SeedResponse.SeedDetail getSeedDetail(Long seedId) { List tagNames = seedTagRepository.findTagNamesBySeed(seed); return SeedResponse.SeedDetail.builder() - .id(seed.getId()) - .type(seed.getSeedType()) - .name(seed.getSeedName()) - .link(seedLink) + .seedId(seed.getId()) + .seedType(seed.getSeedType()) + .seedName(seed.getSeedName()) + .seedLink(seedLink) .fileLinks(fileLinks) - .fileTitles(titles) + .titles(titles) .thumbnailImage(thumbnailImage) - .categoryNames(categoryNames) - .tagNames(tagNames) + .categoryName(categoryNames) + .tagName(tagNames) .dDay(seed.getDDay()) - .detail(seed.getSeedDetail()) + .seedDetail(seed.getSeedDetail()) .build(); } @@ -344,12 +344,12 @@ public void deleteSeed(Long id, Member member) { @Transactional public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, Long seedId, Member member) { - if(request.type() == SeedType.LINK && request.link() == null) { + if(request.seedType() == SeedType.LINK && request.seedLink() == null) { throw SeedzipException.from(ErrorCode.EMPTY_LINK); } Seed seed = getSeedOrThrow(seedId); - if(!request.type().equals(seed.getSeedType())) { + if(!request.seedType().equals(seed.getSeedType())) { throw SeedzipException.from(ErrorCode.SEED_TYPE_NOT_SUPPORTED); } @@ -359,14 +359,14 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, } // 기본 필드 수정 - if (!Objects.equals(seed.getSeedName(), request.name())) { - seed.updateSeedName(request.name()); + if (!Objects.equals(seed.getSeedName(), request.seedName())) { + seed.updateSeedName(request.seedName()); } if (!Objects.equals(seed.getDDay(), request.dDay())) { seed.updateDDay(request.dDay()); } - if (!Objects.equals(seed.getSeedDetail(), request.detail())) { - seed.updateSeedDetail(request.detail()); + if (!Objects.equals(seed.getSeedDetail(), request.seedDetail())) { + seed.updateSeedDetail(request.seedDetail()); } if (!Objects.equals(seed.getThumbnailIdx(), request.thumbnailImage())) { seed.updateThumbnailIdx(request.thumbnailImage()); @@ -384,8 +384,8 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, File file = fileRepository.findBySeed(seed).orElseThrow( () -> SeedzipException.from(ErrorCode.FILE_NOT_FOUND) ); - if (!Objects.equals(file.getLink(), request.link())) { - file.updateLink(request.link()); + if (!Objects.equals(file.getLink(), request.seedLink())) { + file.updateLink(request.seedLink()); } } else { // 이미지, PDF deleteFileFromS3(seedId, seed); @@ -394,8 +394,8 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, Seed updatedSeed = seedRepository.save(seed); return SeedResponse.SeedInfoSimple.builder() - .id(updatedSeed.getId()) - .name(updatedSeed.getSeedName()) + .seedId(updatedSeed.getId()) + .seedName(updatedSeed.getSeedName()) .build(); } @@ -450,7 +450,7 @@ public SeedResponse.GetAllSeeds getUnreadSeeds(Member member, int page, int size @Transactional public void deleteSeedList(SeedDeleteListRequest request, Member member) { - List seedIds = request.ids(); + List seedIds = request.seedIdList(); if (seedIds.isEmpty()) return; List seeds = seedRepository.findAllByIdIn(seedIds); @@ -554,11 +554,11 @@ private SeedProjectionResult getSeedProjectionResult(List seedIds) { private Seed saveSeed(SeedRequest seedRequest, Member member) { SeedDTO seedDTO = SeedDTO.builder() - .name(seedRequest.name() == null ? LocalDate.now().toString() : seedRequest.name()) - .detail(seedRequest.detail()) + .seedName(seedRequest.seedName() == null ? LocalDate.now().toString() : seedRequest.seedName()) + .seedDetail(seedRequest.seedDetail()) .thumbnailImage(seedRequest.thumbnailImage() == null ? 0 : seedRequest.thumbnailImage()) .dDay(seedRequest.dDay()) - .type(seedRequest.type()) + .seedType(seedRequest.seedType()) .member(member) .build(); From 5f42866b974e8facb8fad4ce26c5369a23696e56 Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Sun, 20 Jul 2025 01:08:07 +0900 Subject: [PATCH 6/7] =?UTF-8?q?Refactor:=20request=EC=88=98=EC=A0=95=20(#1?= =?UTF-8?q?62)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adoonge/seedzip/seed/dto/request/SeedRequest.java | 4 ++-- .../seedzip/seed/dto/request/SeedUpdateRequest.java | 4 ++-- .../com/adoonge/seedzip/seed/service/SeedService.java | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java index 224de32..9188d64 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedRequest.java @@ -10,10 +10,10 @@ public record SeedRequest( @NotNull SeedType seedType, String seedName, // 없으면 null - String[] categoryNames, // 없으면 null + String[] categoryName, // 없으면 null Long thumbnailImage, // 없으면 null String seedLink, // link만 해당, 나머지 null - @NotNull @Size(min = 2, message = "태그는 2개 이상 선택해야합니다.") String[] tagNames, + @NotNull @Size(min = 2, message = "태그는 2개 이상 선택해야합니다.") String[] tagName, LocalDate dDay, // 없으면 null String seedDetail // 없으면 null ) { diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java index d534240..c25bea5 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedUpdateRequest.java @@ -10,10 +10,10 @@ public record SeedUpdateRequest( @NotNull SeedType seedType, String seedName, // 없으면 null - @NotNull String[] categoryNames, // 없으면 null + @NotNull String[] categoryName, // 없으면 null Long thumbnailImage, // 없으면 null String seedLink, // link만 해당, 나머지 null - @NotNull @Size(min = 2, message = "태그는 최소 2개 이상 입력해야 합니다.") String[] tagNames, + @NotNull @Size(min = 2, message = "태그는 최소 2개 이상 입력해야 합니다.") String[] tagName, LocalDate dDay, // 없으면 null String seedDetail // 없으면 null ) { diff --git a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java index aeed5a4..cc31763 100644 --- a/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java +++ b/src/main/java/com/adoonge/seedzip/seed/service/SeedService.java @@ -145,11 +145,11 @@ public SeedResponse.SeedInfoSimple uploadSeed(SeedRequest seedRequest, Member me Seed seed = saveSeed(seedRequest, member); // 태그 및 카테고리 저장 - saveSeedTags(seedRequest.tagNames(), member, seed); - if(seedRequest.categoryNames() == null) { + saveSeedTags(seedRequest.tagName(), member, seed); + if(seedRequest.categoryName() == null) { saveSeedDefaultCategory(member, seed); } else { - saveSeedCategories(seedRequest.categoryNames(), member, seed); + saveSeedCategories(seedRequest.categoryName(), member, seed); } if (seedRequest.seedType() == SeedType.LINK) { @@ -374,11 +374,11 @@ public SeedResponse.SeedInfoSimple updateSeed(SeedUpdateRequest request, // 태그 seedTagRepository.deleteAllBySeedId(seedId); - saveSeedTags(request.tagNames(), member, seed); + saveSeedTags(request.tagName(), member, seed); // 카테고리 categorySeedRepository.deleteAllBySeedId(seedId); - saveSeedCategories(request.categoryNames(), member, seed); + saveSeedCategories(request.categoryName(), member, seed); if (seed.getSeedType().equals(SeedType.LINK)) { File file = fileRepository.findBySeed(seed).orElseThrow( From 8a218c9b1cf86bddc070ea09bf5806fd033e318f Mon Sep 17 00:00:00 2001 From: chaen-ing Date: Sun, 20 Jul 2025 01:09:59 +0900 Subject: [PATCH 7/7] Refactor: rename tagNames to tags in SeedFilteringRequest (#162) --- .../seedzip/seed/dto/request/SeedFilteringRequest.java | 2 +- .../adoonge/seedzip/seed/repository/SeedRepositoryImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java index 093ff94..9ded8d4 100644 --- a/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java +++ b/src/main/java/com/adoonge/seedzip/seed/dto/request/SeedFilteringRequest.java @@ -3,7 +3,7 @@ import java.util.List; public record SeedFilteringRequest( - List tagNames, + List tags, String keyword ) { } diff --git a/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java b/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java index 73d8ad8..1994dfb 100644 --- a/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java +++ b/src/main/java/com/adoonge/seedzip/seed/repository/SeedRepositoryImpl.java @@ -79,7 +79,7 @@ public SeedStatisticsDTO getSeedStatistics(Member member) { @Override public Page findSeedsByFiltering(Member member, Pageable pageable, SeedType seedType, SeedFilteringRequest request) { - List tagNames = request.tagNames(); + List tagNames = request.tags(); String keyword = request.keyword(); BooleanExpression condition = seed.member.eq(member); @@ -108,7 +108,7 @@ public Page findSeedsByFiltering(Member member, Pageable pageable, SeedTyp @Override public Page findCategorySeedsByFiltering(Member member, Pageable pageable, SeedType seedType, Long categoryId, SeedFilteringRequest request) { - List tagNames = request.tagNames(); + List tagNames = request.tags(); String keyword = request.keyword(); BooleanExpression condition = seed.member.eq(member);