Skip to content

파생 포스트 기능 구현 #154

@yooooonshine

Description

@yooooonshine

Description

다단계 기능을 위해 파생 포스트 기능을 추가한다.

Todo

파생 포스트 생성

@Table(name = "post")
@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class PostEntity extends BaseEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "user_id", nullable = false)
    private Long userId;

    @Column(name = "title", nullable = false)
    private String title;

    @Column(name = "description", columnDefinition = "TEXT", nullable = false)
    private String description;

    @Column(name = "commercial_price", nullable = false)
    private Long commercialPrice;

    @Column(name = "non_commercial_price", nullable = false)
    private Long nonCommercialPrice;

    @Column(name = "ticket_price", nullable = false)
    private Long ticketPrice;

기존 Post를 수정

  • isAiDerivedPost 필드를 추가
  • 기존 Post 로직 및 테스트코드에는 모두 기본적으로 false가 저장되도록 함.
  • 기존 Post 조회 및 목록 조회에는 isAiDerivedPost가 추가됨

기존 CreatedAiImageEntity 수정

  • postId, userId를 받도록 함
  • AiImageCreatedListener 에서 CreatedAiImageEntity 저장 시 postId, userId도 저장하게 함.
  • 이에 따라 테스트 코드 변경

AiDerivedPostController 추가

  • 파생 포스터 생성 기능
  • CreatedAiImageEntity의 id를 받고, @CustomUser를 통해 유저정보를 받아옴’
  • 그 외에 Post 생성 시 필요한 정보를 body로 받아옴.
  • 파생 포스터 생성할 때 CreatedAiImageEntity의 userId가 현재 요청을 보낸 유저와 일치하는 지 체크 후 아니면 예외

파생 포스트 삭제

  • 파생 포스트 삭제하기(생성자만 삭제할 수 있음)

파생 포스트 조회

파생 포스트 조회 및 목록 조회는 기존 post 조회 및 목록 조회 사용

목록 조회에는 쿼리 파라미터를 추가하여 파생포스트만 조회할 것인지, 모두 조회할 것인지, 포스트만 조회할것인지 필터링 추가.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions