From fa54021afcbbb383776ac5c72f4b5814bb8495b7 Mon Sep 17 00:00:00 2001 From: ddongseop Date: Wed, 3 Jan 2024 16:43:04 +0900 Subject: [PATCH] =?UTF-8?q?:package:=20[CHORE]=20=EC=84=9C=EB=B9=84?= =?UTF-8?q?=EC=8A=A4=20=EC=9A=A9=EC=96=B4=EC=A7=91=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=A5=B8=20=EB=84=A4=EC=9D=B4=EB=B0=8D=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?#19?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/Book.java} | 32 +++++++++---------- .../Postit.java => note/model/Note.java} | 22 ++++++------- .../domain/sticker/model/PostedSticker.java | 14 ++++---- .../domain/sticker/model/Sticker.java | 14 ++++---- .../lequuServer/domain/user/model/User.java | 16 +++++----- .../global/s3/controller/S3Controller.java | 16 +++++----- .../global/s3/enums/ImageFolderName.java | 4 +-- .../global/s3/test/TestController.java | 12 +++---- .../global/s3/test/TestJpaRepository.java | 4 +-- .../global/s3/test/TestService.java | 26 +++++++-------- 10 files changed, 80 insertions(+), 80 deletions(-) rename src/main/java/org/sopt/lequuServer/domain/{rollingpaper/model/RollingPaper.java => book/model/Book.java} (59%) rename src/main/java/org/sopt/lequuServer/domain/{postit/model/Postit.java => note/model/Note.java} (54%) diff --git a/src/main/java/org/sopt/lequuServer/domain/rollingpaper/model/RollingPaper.java b/src/main/java/org/sopt/lequuServer/domain/book/model/Book.java similarity index 59% rename from src/main/java/org/sopt/lequuServer/domain/rollingpaper/model/RollingPaper.java rename to src/main/java/org/sopt/lequuServer/domain/book/model/Book.java index 21feee4..1fb0070 100644 --- a/src/main/java/org/sopt/lequuServer/domain/rollingpaper/model/RollingPaper.java +++ b/src/main/java/org/sopt/lequuServer/domain/book/model/Book.java @@ -1,8 +1,8 @@ -package org.sopt.lequuServer.domain.rollingpaper.model; +package org.sopt.lequuServer.domain.book.model; import jakarta.persistence.*; import lombok.*; -import org.sopt.lequuServer.domain.postit.model.Postit; +import org.sopt.lequuServer.domain.note.model.Note; import org.sopt.lequuServer.domain.sticker.model.PostedSticker; import org.sopt.lequuServer.domain.user.model.User; import org.sopt.lequuServer.global.common.model.BaseTimeEntity; @@ -13,11 +13,11 @@ @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) -@Table(name = "rolling_paper") -public class RollingPaper extends BaseTimeEntity { +@Table(name = "book") +public class Book extends BaseTimeEntity { @Id - @Column(name = "rolling_paper_id") + @Column(name = "book_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @@ -42,14 +42,14 @@ public class RollingPaper extends BaseTimeEntity { @JoinColumn(name = "user_id") private User user; - @OneToMany(mappedBy = "rollingPaper") - private final List postits = new ArrayList<>(); + @OneToMany(mappedBy = "book") + private final List notes = new ArrayList<>(); - public void addPostit(Postit postit) { - postits.add(postit); + public void addNote(Note note) { + notes.add(note); } - @OneToMany(mappedBy = "rollingPaper") + @OneToMany(mappedBy = "book") private final List postedStickers = new ArrayList<>(); public void addPostedSticker(PostedSticker postedSticker) { @@ -57,7 +57,7 @@ public void addPostedSticker(PostedSticker postedSticker) { } @Builder - public RollingPaper(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor, User user) { + public Book(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor, User user) { this.uuid = uuid; this.favoriteName = favoriteName; this.favoriteImage = favoriteImage; @@ -67,12 +67,12 @@ public RollingPaper(String uuid, String favoriteName, String favoriteImage, Stri this.user = user; } - public static RollingPaper of(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor, User user) { - return new RollingPaper(uuid, favoriteName, favoriteImage, title, description, backgroundColor, user); + public static Book of(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor, User user) { + return new Book(uuid, favoriteName, favoriteImage, title, description, backgroundColor, user); } // TODO S3 테스트용, 추후 삭제 - public RollingPaper(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor) { + public Book(String uuid, String favoriteName, String favoriteImage, String title, String description, int backgroundColor) { this.uuid = uuid; this.favoriteName = favoriteName; this.favoriteImage = favoriteImage; @@ -82,7 +82,7 @@ public RollingPaper(String uuid, String favoriteName, String favoriteImage, Stri } // TODO S3 테스트용, 추후 삭제 - public static RollingPaper test(String favoriteImage, String title) { - return new RollingPaper("test", "test", favoriteImage, title, "test", 1); + public static Book test(String favoriteImage, String title) { + return new Book("test", "test", favoriteImage, title, "test", 1); } } diff --git a/src/main/java/org/sopt/lequuServer/domain/postit/model/Postit.java b/src/main/java/org/sopt/lequuServer/domain/note/model/Note.java similarity index 54% rename from src/main/java/org/sopt/lequuServer/domain/postit/model/Postit.java rename to src/main/java/org/sopt/lequuServer/domain/note/model/Note.java index a4add56..646878a 100644 --- a/src/main/java/org/sopt/lequuServer/domain/postit/model/Postit.java +++ b/src/main/java/org/sopt/lequuServer/domain/note/model/Note.java @@ -1,19 +1,19 @@ -package org.sopt.lequuServer.domain.postit.model; +package org.sopt.lequuServer.domain.note.model; import jakarta.persistence.*; import lombok.*; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.user.model.User; import org.sopt.lequuServer.global.common.model.BaseTimeEntity; @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) -@Table(name = "postit") -public class Postit extends BaseTimeEntity { +@Table(name = "note") +public class Note extends BaseTimeEntity { @Id - @Column(name = "postit_id") + @Column(name = "note_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @@ -30,19 +30,19 @@ public class Postit extends BaseTimeEntity { private User user; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "rolling_paper_id") - private RollingPaper rollingPaper; + @JoinColumn(name = "book_id") + private Book book; @Builder - public Postit(String content, String background, int textColor, User user, RollingPaper rollingPaper) { + public Note(String content, String background, int textColor, User user, Book book) { this.content = content; this.background = background; this.textColor = textColor; this.user = user; - this.rollingPaper = rollingPaper; + this.book = book; } - public static Postit of(String content, String background, int textColor, User user, RollingPaper rollingPaper) { - return new Postit(content, background, textColor, user, rollingPaper); + public static Note of(String content, String background, int textColor, User user, Book book) { + return new Note(content, background, textColor, user, book); } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/sticker/model/PostedSticker.java b/src/main/java/org/sopt/lequuServer/domain/sticker/model/PostedSticker.java index e5a388b..9f20372 100644 --- a/src/main/java/org/sopt/lequuServer/domain/sticker/model/PostedSticker.java +++ b/src/main/java/org/sopt/lequuServer/domain/sticker/model/PostedSticker.java @@ -2,7 +2,7 @@ import jakarta.persistence.*; import lombok.*; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.user.model.User; import org.sopt.lequuServer.global.common.model.BaseTimeEntity; @@ -26,22 +26,22 @@ public class PostedSticker extends BaseTimeEntity { private User user; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "rolling_paper_id") - private RollingPaper rollingPaper; + @JoinColumn(name = "book_id") + private Book book; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "sticker_id") private Sticker sticker; @Builder - public PostedSticker(int positionX, int positionY, RollingPaper rollingPaper, Sticker sticker) { + public PostedSticker(int positionX, int positionY, Book book, Sticker sticker) { this.positionX = positionX; this.positionY = positionY; - this.rollingPaper = rollingPaper; + this.book = book; this.sticker = sticker; } - public static PostedSticker of(int positionX, int positionY, RollingPaper rollingPaper, Sticker sticker) { - return new PostedSticker(positionX, positionY, rollingPaper, sticker); + public static PostedSticker of(int positionX, int positionY, Book book, Sticker sticker) { + return new PostedSticker(positionX, positionY, book, sticker); } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/sticker/model/Sticker.java b/src/main/java/org/sopt/lequuServer/domain/sticker/model/Sticker.java index a2a5bfe..20fe6d4 100644 --- a/src/main/java/org/sopt/lequuServer/domain/sticker/model/Sticker.java +++ b/src/main/java/org/sopt/lequuServer/domain/sticker/model/Sticker.java @@ -2,7 +2,7 @@ import jakarta.persistence.*; import lombok.*; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.global.common.model.BaseTimeEntity; @Entity @@ -24,16 +24,16 @@ public class Sticker extends BaseTimeEntity { private StickerCategory category; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "rolling_paper_id") - private RollingPaper rollingPaper; + @JoinColumn(name = "book_id") + private Book book; - public Sticker(String stickerImage, StickerCategory category, RollingPaper rollingPaper) { + public Sticker(String stickerImage, StickerCategory category, Book book) { this.stickerImage = stickerImage; this.category = category; - this.rollingPaper = rollingPaper; + this.book = book; } - public static Sticker of(String stickerImage, StickerCategory category, RollingPaper rollingPaper) { - return new Sticker(stickerImage, category, rollingPaper); + public static Sticker of(String stickerImage, StickerCategory category, Book book) { + return new Sticker(stickerImage, category, book); } } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/domain/user/model/User.java b/src/main/java/org/sopt/lequuServer/domain/user/model/User.java index d4f8010..302e12f 100644 --- a/src/main/java/org/sopt/lequuServer/domain/user/model/User.java +++ b/src/main/java/org/sopt/lequuServer/domain/user/model/User.java @@ -2,8 +2,8 @@ import jakarta.persistence.*; import lombok.*; -import org.sopt.lequuServer.domain.postit.model.Postit; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.note.model.Note; +import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.domain.sticker.model.PostedSticker; import org.sopt.lequuServer.global.common.model.BaseTimeEntity; @@ -25,17 +25,17 @@ public class User extends BaseTimeEntity { private String nickname; @OneToMany(mappedBy = "user") - private final List rollingPapers = new ArrayList<>(); + private final List books = new ArrayList<>(); - public void addRollingPaper(RollingPaper rollingPaper) { - rollingPapers.add(rollingPaper); + public void addBook(Book book) { + books.add(book); } @OneToMany(mappedBy = "user") - private final List postits = new ArrayList<>(); + private final List notes = new ArrayList<>(); - public void addPostit(Postit postit) { - postits.add(postit); + public void addNote(Note note) { + notes.add(note); } @OneToMany(mappedBy = "user") diff --git a/src/main/java/org/sopt/lequuServer/global/s3/controller/S3Controller.java b/src/main/java/org/sopt/lequuServer/global/s3/controller/S3Controller.java index 5d1be82..63d8180 100644 --- a/src/main/java/org/sopt/lequuServer/global/s3/controller/S3Controller.java +++ b/src/main/java/org/sopt/lequuServer/global/s3/controller/S3Controller.java @@ -9,8 +9,8 @@ import org.springframework.web.bind.annotation.RestController; import static org.sopt.lequuServer.global.exception.enums.SuccessType.*; -import static org.sopt.lequuServer.global.s3.enums.ImageFolderName.POSTIT_BACKGROUND_IMAGE_FOLDER_NAME; -import static org.sopt.lequuServer.global.s3.enums.ImageFolderName.ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME; +import static org.sopt.lequuServer.global.s3.enums.ImageFolderName.BOOK_FAVORITE_IMAGE_FOLDER_NAME; +import static org.sopt.lequuServer.global.s3.enums.ImageFolderName.NOTE_BACKGROUND_IMAGE_FOLDER_NAME; /** * Presigned URL을 얻기 위한 API들 @@ -24,13 +24,13 @@ public class S3Controller { private final S3Service s3Service; - @GetMapping("/rolling_paper") - public ApiResponse getPreSignedUrlRollingPaper() { - return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME.getValue())); + @GetMapping("/book") + public ApiResponse getPreSignedUrlBook() { + return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(BOOK_FAVORITE_IMAGE_FOLDER_NAME.getValue())); } - @GetMapping("/postit") - public ApiResponse getPreSignedUrlPostit() { - return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(POSTIT_BACKGROUND_IMAGE_FOLDER_NAME.getValue())); + @GetMapping("/note") + public ApiResponse getPreSignedUrlNote() { + return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(NOTE_BACKGROUND_IMAGE_FOLDER_NAME.getValue())); } } diff --git a/src/main/java/org/sopt/lequuServer/global/s3/enums/ImageFolderName.java b/src/main/java/org/sopt/lequuServer/global/s3/enums/ImageFolderName.java index 618470c..850ec8c 100644 --- a/src/main/java/org/sopt/lequuServer/global/s3/enums/ImageFolderName.java +++ b/src/main/java/org/sopt/lequuServer/global/s3/enums/ImageFolderName.java @@ -8,8 +8,8 @@ @RequiredArgsConstructor(access = AccessLevel.PRIVATE) public enum ImageFolderName { - ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME("rolling_papers/favorite_image/"), - POSTIT_BACKGROUND_IMAGE_FOLDER_NAME("postits/background_image/"); + BOOK_FAVORITE_IMAGE_FOLDER_NAME("books/favorite_image/"), + NOTE_BACKGROUND_IMAGE_FOLDER_NAME("notes/background_image/"); private final String value; diff --git a/src/main/java/org/sopt/lequuServer/global/s3/test/TestController.java b/src/main/java/org/sopt/lequuServer/global/s3/test/TestController.java index 28f75f8..e935c91 100644 --- a/src/main/java/org/sopt/lequuServer/global/s3/test/TestController.java +++ b/src/main/java/org/sopt/lequuServer/global/s3/test/TestController.java @@ -12,26 +12,26 @@ @RequiredArgsConstructor public class TestController { - private final TestService rollingPaperService; + private final TestService bookService; // MultipartFile 기반 이미지 업로드 (서버에 직접 이미지를 전송하는 경우 사용) @PostMapping public ResponseEntity createPost(@RequestPart MultipartFile image, TestCreateRequest request) { - URI location = URI.create("/test/s3" + rollingPaperService.create(request, image)); + URI location = URI.create("/test/s3" + bookService.create(request, image)); return ResponseEntity.created(location).build(); } // Presigned URL 기반 이미지 업로드 (서버에는 이미지명 String만 넘어옴) @PostMapping("/pre_signed") public ResponseEntity createPostWithPreSignedUrl(@RequestBody TestCreateImageRequest request) { - URI location = URI.create("/test/s3/pre_signed" + rollingPaperService.createV2(request)); + URI location = URI.create("/test/s3/pre_signed" + bookService.createV2(request)); return ResponseEntity.created(location).build(); } // 롤링페이퍼 삭제시 업로드된 이미지도 함께 삭제 - @DeleteMapping("/{rolling_paper_id}") - public ResponseEntity deletePost(@PathVariable Long rolling_paper_id) { - rollingPaperService.deleteById(rolling_paper_id); + @DeleteMapping("/{book_id}") + public ResponseEntity deletePost(@PathVariable Long book_id) { + bookService.deleteById(book_id); return ResponseEntity.noContent().build(); } } diff --git a/src/main/java/org/sopt/lequuServer/global/s3/test/TestJpaRepository.java b/src/main/java/org/sopt/lequuServer/global/s3/test/TestJpaRepository.java index 2b639ed..c0cdee2 100644 --- a/src/main/java/org/sopt/lequuServer/global/s3/test/TestJpaRepository.java +++ b/src/main/java/org/sopt/lequuServer/global/s3/test/TestJpaRepository.java @@ -1,8 +1,8 @@ package org.sopt.lequuServer.global.s3.test; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.book.model.Book; import org.springframework.data.jpa.repository.JpaRepository; -public interface TestJpaRepository extends JpaRepository { +public interface TestJpaRepository extends JpaRepository { } \ No newline at end of file diff --git a/src/main/java/org/sopt/lequuServer/global/s3/test/TestService.java b/src/main/java/org/sopt/lequuServer/global/s3/test/TestService.java index ca4e9af..9b174e9 100644 --- a/src/main/java/org/sopt/lequuServer/global/s3/test/TestService.java +++ b/src/main/java/org/sopt/lequuServer/global/s3/test/TestService.java @@ -1,7 +1,7 @@ package org.sopt.lequuServer.global.s3.test; import lombok.RequiredArgsConstructor; -import org.sopt.lequuServer.domain.rollingpaper.model.RollingPaper; +import org.sopt.lequuServer.domain.book.model.Book; import org.sopt.lequuServer.global.s3.service.S3Service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,18 +16,18 @@ @Transactional(readOnly = true) public class TestService { - private final TestJpaRepository rollingPaperJpaRepository; + private final TestJpaRepository bookJpaRepository; private final S3Service s3Service; // MultipartFile 기반 이미지 업로드 (서버에 직접 이미지를 전송하는 경우 사용) @Transactional public String create(TestCreateRequest request, MultipartFile image) { try { - final String imageUrl = s3Service.uploadImage(ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME.getValue(), image); + final String imageUrl = s3Service.uploadImage(BOOK_FAVORITE_IMAGE_FOLDER_NAME.getValue(), image); - RollingPaper rollingPaper = rollingPaperJpaRepository.save(RollingPaper.test(imageUrl, request.title())); + Book book = bookJpaRepository.save(Book.test(imageUrl, request.title())); - return rollingPaper.getId().toString(); + return book.getId().toString(); } catch (RuntimeException | IOException e) { throw new RuntimeException(e.getMessage()); @@ -38,16 +38,16 @@ public String create(TestCreateRequest request, MultipartFile image) { @Transactional public String createV2(TestCreateImageRequest request) { try { - String imageUrl = s3Service.getURL(ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME.getValue() + request.fileName()); + String imageUrl = s3Service.getURL(BOOK_FAVORITE_IMAGE_FOLDER_NAME.getValue() + request.fileName()); - RollingPaper rollingPaper = rollingPaperJpaRepository.save(RollingPaper.test(imageUrl, request.title())); + Book book = bookJpaRepository.save(Book.test(imageUrl, request.title())); - return rollingPaper.getId().toString(); + return book.getId().toString(); } catch (RuntimeException e) { // 게시글 저장에 실패 할 시 S3에 미리 업로드 되어 있던 이미지를 삭제 try { - s3Service.deleteImage(ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME.getValue() + "/" + request.fileName()); + s3Service.deleteImage(BOOK_FAVORITE_IMAGE_FOLDER_NAME.getValue() + "/" + request.fileName()); } catch (IOException io) { // 이미지 삭제 과정에서 에러가 발생할 경우 throw new RuntimeException("S3에서 이미지를 삭제하는 데에 실패했습니다: " + io.getMessage()); @@ -58,13 +58,13 @@ public String createV2(TestCreateImageRequest request) { // 롤링페이퍼 삭제시 업로드된 이미지도 함께 삭제 @Transactional - public void deleteById(Long rolling_paper_id) { + public void deleteById(Long book_id) { try { - RollingPaper rollingPaper = rollingPaperJpaRepository.findById(rolling_paper_id) + Book book = bookJpaRepository.findById(book_id) .orElseThrow(() -> new RuntimeException("해당하는 롤링페이퍼가 없습니다.")); - s3Service.deleteImage(rollingPaper.getFavoriteImage()); - rollingPaperJpaRepository.deleteById(rolling_paper_id); + s3Service.deleteImage(book.getFavoriteImage()); + bookJpaRepository.deleteById(book_id); } catch (IOException | RuntimeException e) { throw new RuntimeException(e.getMessage());