Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CHORE] 서비스 용어집에 따른 네이밍 변경 #20

Merged
merged 1 commit into from
Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;

Expand All @@ -42,22 +42,22 @@ public class RollingPaper extends BaseTimeEntity {
@JoinColumn(name = "user_id")
private User user;

@OneToMany(mappedBy = "rollingPaper")
private final List<Postit> postits = new ArrayList<>();
@OneToMany(mappedBy = "book")
private final List<Note> 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<PostedSticker> postedStickers = new ArrayList<>();

public void addPostedSticker(PostedSticker postedSticker) {
postedStickers.add(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;
Expand All @@ -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;
Expand All @@ -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);
}
}
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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);
}
}
16 changes: 8 additions & 8 deletions src/main/java/org/sopt/lequuServer/domain/user/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -25,17 +25,17 @@ public class User extends BaseTimeEntity {
private String nickname;

@OneToMany(mappedBy = "user")
private final List<RollingPaper> rollingPapers = new ArrayList<>();
private final List<Book> 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<Postit> postits = new ArrayList<>();
private final List<Note> notes = new ArrayList<>();

public void addPostit(Postit postit) {
postits.add(postit);
public void addNote(Note note) {
notes.add(note);
}

@OneToMany(mappedBy = "user")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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들
Expand All @@ -24,13 +24,13 @@ public class S3Controller {

private final S3Service s3Service;

@GetMapping("/rolling_paper")
public ApiResponse<PreSignedUrlResponse> getPreSignedUrlRollingPaper() {
return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(ROLLING_PAPER_FAVORITE_IMAGE_FOLDER_NAME.getValue()));
@GetMapping("/book")
public ApiResponse<PreSignedUrlResponse> getPreSignedUrlBook() {
return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(BOOK_FAVORITE_IMAGE_FOLDER_NAME.getValue()));
}

@GetMapping("/postit")
public ApiResponse<PreSignedUrlResponse> getPreSignedUrlPostit() {
return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(POSTIT_BACKGROUND_IMAGE_FOLDER_NAME.getValue()));
@GetMapping("/note")
public ApiResponse<PreSignedUrlResponse> getPreSignedUrlNote() {
return ApiResponse.success(PRESIGNED_URL_SUCCESS, s3Service.getUploadPreSignedUrl(NOTE_BACKGROUND_IMAGE_FOLDER_NAME.getValue()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@
@RequiredArgsConstructor
public class TestController {

private final TestService rollingPaperService;
private final TestService bookService;

// MultipartFile 기반 이미지 업로드 (서버에 직접 이미지를 전송하는 경우 사용)
@PostMapping
public ResponseEntity<Void> 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<Void> 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<Void> deletePost(@PathVariable Long rolling_paper_id) {
rollingPaperService.deleteById(rolling_paper_id);
@DeleteMapping("/{book_id}")
public ResponseEntity<Void> deletePost(@PathVariable Long book_id) {
bookService.deleteById(book_id);
return ResponseEntity.noContent().build();
}
}
Original file line number Diff line number Diff line change
@@ -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<RollingPaper, Long> {
public interface TestJpaRepository extends JpaRepository<Book, Long> {

}
26 changes: 13 additions & 13 deletions src/main/java/org/sopt/lequuServer/global/s3/test/TestService.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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());
Expand All @@ -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());
Expand All @@ -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());
Expand Down
Loading