From dcadaf84a539be1a8c6ff542cc5b77bed8c4319b Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 01:36:42 +0900 Subject: [PATCH 1/7] =?UTF-8?q?fix(FolderRepository):=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=20=EC=A1=B0=ED=9A=8C=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=EA=B0=84?= =?UTF-8?q?=20=EB=82=B4=EB=A6=BC=EC=B0=A8=EC=88=9C=20=EC=A0=95=EB=A0=AC=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/tiki/server/folder/adapter/FolderFinder.java | 4 ++-- .../com/tiki/server/folder/repository/FolderRepository.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/tiki/server/folder/adapter/FolderFinder.java b/src/main/java/com/tiki/server/folder/adapter/FolderFinder.java index eb4111e1..d74576ae 100644 --- a/src/main/java/com/tiki/server/folder/adapter/FolderFinder.java +++ b/src/main/java/com/tiki/server/folder/adapter/FolderFinder.java @@ -25,8 +25,8 @@ public Folder findById(long id) { public List findByTeamIdAndPath(final long teamId, final String path) { if (path.equals(ROOT_PATH)) { - return folderRepository.findAllByTeamIdAndPath(teamId, path); + return folderRepository.findAllByTeamIdAndPathOrderByCreatedAtDesc(teamId, path); } - return folderRepository.findAllByPath(path); + return folderRepository.findAllByPathOrderByCreatedAtDesc(path); } } diff --git a/src/main/java/com/tiki/server/folder/repository/FolderRepository.java b/src/main/java/com/tiki/server/folder/repository/FolderRepository.java index 5406a145..34a11781 100644 --- a/src/main/java/com/tiki/server/folder/repository/FolderRepository.java +++ b/src/main/java/com/tiki/server/folder/repository/FolderRepository.java @@ -7,6 +7,6 @@ import com.tiki.server.folder.entity.Folder; public interface FolderRepository extends JpaRepository { - List findAllByTeamIdAndPath(long teamId, String path); - List findAllByPath(String path); + List findAllByTeamIdAndPathOrderByCreatedAtDesc(long teamId, String path); + List findAllByPathOrderByCreatedAtDesc(String path); } From c39dc2e9d1943f864d61c7d305650deed24a410f Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 17:00:49 +0900 Subject: [PATCH 2/7] =?UTF-8?q?chore(DocumentController):=20RequestMapping?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/document/controller/DocumentController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/tiki/server/document/controller/DocumentController.java b/src/main/java/com/tiki/server/document/controller/DocumentController.java index bc452dfe..1d9e8861 100644 --- a/src/main/java/com/tiki/server/document/controller/DocumentController.java +++ b/src/main/java/com/tiki/server/document/controller/DocumentController.java @@ -28,13 +28,13 @@ @RestController @RequiredArgsConstructor -@RequestMapping("api/v1/documents") +@RequestMapping("api/v1") public class DocumentController implements DocumentControllerDocs { private final DocumentService documentService; @Override - @GetMapping("/team/{teamId}/timeline") + @GetMapping("/documents/team/{teamId}/timeline") public ResponseEntity> getAllDocuments( Principal principal, @PathVariable long teamId, @@ -46,7 +46,7 @@ public ResponseEntity> getAllDocuments( } @Override - @DeleteMapping("/team/{teamId}/document/{documentId}") + @DeleteMapping("/documents/team/{teamId}/document/{documentId}") public ResponseEntity deleteDocument( Principal principal, @PathVariable long teamId, @@ -57,7 +57,7 @@ public ResponseEntity deleteDocument( return ResponseEntity.noContent().build(); } - @PostMapping + @PostMapping("/documents") public ResponseEntity> createDocuments( Principal principal, @RequestHeader("team-id") long teamId, From 9477232bda9d0ed1747c4408a86249d8c6e73af6 Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 20:15:45 +0900 Subject: [PATCH 3/7] =?UTF-8?q?feat(DocumentsGetResponse):=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20dto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존 문서 조회 api dto 재활용 --- .../dto/response/DocumentsGetResponse.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/tiki/server/document/dto/response/DocumentsGetResponse.java b/src/main/java/com/tiki/server/document/dto/response/DocumentsGetResponse.java index 3ef03743..6ae8be32 100644 --- a/src/main/java/com/tiki/server/document/dto/response/DocumentsGetResponse.java +++ b/src/main/java/com/tiki/server/document/dto/response/DocumentsGetResponse.java @@ -2,6 +2,7 @@ import static lombok.AccessLevel.PRIVATE; +import java.time.LocalDateTime; import java.util.List; import com.tiki.server.document.entity.Document; @@ -14,29 +15,29 @@ public record DocumentsGetResponse( List documents ) { - public static DocumentsGetResponse from(List documents) { + public static DocumentsGetResponse from(final List documents) { return DocumentsGetResponse.builder() - .documents(documents.stream().map(DocumentGetResponse::from).toList()) - .build(); + .documents(documents.stream().map(DocumentGetResponse::from).toList()) + .build(); } @Builder(access = PRIVATE) private record DocumentGetResponse( long documentId, - @NonNull String fileName, - @NonNull String fileUrl, - @NonNull String blockName, - @NonNull String color + @NonNull String name, + @NonNull String url, + double capacity, + @NonNull LocalDateTime createdTime ) { - public static DocumentGetResponse from(Document document) { + public static DocumentGetResponse from(final Document document) { return DocumentGetResponse.builder() - .documentId(document.getId()) - .fileName(document.getFileName()) - .fileUrl(document.getFileUrl()) - .blockName(document.getTimeBlock().getName()) - .color(document.getTimeBlock().getColor()) - .build(); + .documentId(document.getId()) + .name(document.getFileName()) + .url(document.getFileUrl()) + .capacity(document.getCapacity()) + .createdTime(document.getCreatedAt()) + .build(); } } } From 03875980371aeec3f567e0973f98a75fdaeda17f Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 20:16:27 +0900 Subject: [PATCH 4/7] =?UTF-8?q?feat(DocumentRepository):=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=B0=BE=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 팀 id와 폴더 id로 찾기 --- .../com/tiki/server/document/repository/DocumentRepository.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/tiki/server/document/repository/DocumentRepository.java b/src/main/java/com/tiki/server/document/repository/DocumentRepository.java index d3ac52b2..9704be04 100644 --- a/src/main/java/com/tiki/server/document/repository/DocumentRepository.java +++ b/src/main/java/com/tiki/server/document/repository/DocumentRepository.java @@ -22,4 +22,6 @@ public interface DocumentRepository extends JpaRepository { Document findByIdWithTimeBlock(long documentId); void deleteAllByTimeBlockId(long timeBlockId); + + List findAllByTeamIdAndFolderIdOrderByCreatedAtDesc(long teamId, Long folderId); } From 0081408be6ad272cf3bd88463d07b63c97f33783 Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 20:16:40 +0900 Subject: [PATCH 5/7] =?UTF-8?q?feat(DocumentFinder):=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=20=EC=B0=BE=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/tiki/server/document/adapter/DocumentFinder.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/tiki/server/document/adapter/DocumentFinder.java b/src/main/java/com/tiki/server/document/adapter/DocumentFinder.java index 55f7cbb3..451155dd 100644 --- a/src/main/java/com/tiki/server/document/adapter/DocumentFinder.java +++ b/src/main/java/com/tiki/server/document/adapter/DocumentFinder.java @@ -1,6 +1,7 @@ package com.tiki.server.document.adapter; import static com.tiki.server.document.message.ErrorCode.INVALID_DOCUMENT; +import static com.tiki.server.folder.constant.Constant.ROOT_PATH; import java.util.List; import java.util.Objects; @@ -47,4 +48,8 @@ public List findAllByTeamId(long teamId) { public boolean existsById(Long timeBlockId) { return documentRepository.existsById(timeBlockId); } + + public List findByTeamIdAndFolderId(final long teamId, final Long folderId) { + return documentRepository.findAllByTeamIdAndFolderIdOrderByCreatedAtDesc(teamId, folderId); + } } From 2ddd8ad61873faf2ecdbd2ec74ebec8555b074a1 Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 20:17:07 +0900 Subject: [PATCH 6/7] =?UTF-8?q?feat(DocumentService):=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/tiki/server/document/service/DocumentService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/tiki/server/document/service/DocumentService.java b/src/main/java/com/tiki/server/document/service/DocumentService.java index 18017734..e42b51dd 100644 --- a/src/main/java/com/tiki/server/document/service/DocumentService.java +++ b/src/main/java/com/tiki/server/document/service/DocumentService.java @@ -56,6 +56,12 @@ public DocumentsCreateResponse createDocuments(long memberId, long teamId, Docum return DocumentsCreateResponse.from(documentIds); } + public DocumentsGetResponse get(final long memberId, final long teamId, final Long folderId) { + memberTeamManagerFinder.findByMemberIdAndTeamId(memberId, teamId); + List documents = documentFinder.findByTeamIdAndFolderId(teamId, folderId); + return DocumentsGetResponse.from(documents); + } + private DocumentsGetResponse getAllDocumentsByType(long teamId, Position accessiblePosition) { List documents = documentFinder.findAllByTeamIdAndAccessiblePosition(teamId, accessiblePosition); return DocumentsGetResponse.from(documents); From affbea122de7f29a0401983db848386b4fd8e924 Mon Sep 17 00:00:00 2001 From: Chan531 Date: Thu, 14 Nov 2024 20:17:42 +0900 Subject: [PATCH 7/7] =?UTF-8?q?feat(DocumentController):=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../document/controller/DocumentController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/tiki/server/document/controller/DocumentController.java b/src/main/java/com/tiki/server/document/controller/DocumentController.java index 1d9e8861..47be9c77 100644 --- a/src/main/java/com/tiki/server/document/controller/DocumentController.java +++ b/src/main/java/com/tiki/server/document/controller/DocumentController.java @@ -68,4 +68,15 @@ public ResponseEntity> createDocuments( return ResponseEntity.created(UriGenerator.getUri("api/v1/documents")) .body(SuccessResponse.success(SUCCESS_CREATE_DOCUMENTS.getMessage(), response)); } + + @GetMapping("/teams/{teamId}/documents") + public ResponseEntity> getDocuments( + final Principal principal, + @PathVariable long teamId, + @RequestParam(required = false) Long folderId + ) { + long memberId = Long.parseLong(principal.getName()); + DocumentsGetResponse response = documentService.get(memberId, teamId, folderId); + return ResponseEntity.ok(SuccessResponse.success(SUCCESS_GET_DOCUMENTS.getMessage(), response)); + } }