Skip to content

Commit

Permalink
Merge pull request #20 from Team-Lecue/chore/#19-service_naming_change
Browse files Browse the repository at this point in the history
[CHORE] 서비스 용어집에 따른 네이밍 변경
  • Loading branch information
ddongseop authored Jan 3, 2024
2 parents c9e0282 + fa54021 commit e0395a5
Show file tree
Hide file tree
Showing 10 changed files with 80 additions and 80 deletions.
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

0 comments on commit e0395a5

Please sign in to comment.