ef9dace1df
CI / build (push) Failing after 12m4s
- 작성자 아바타: post/comment 조회 시 member JOIN(google_picture/profile_image),
목록·상세·댓글 응답에 노출
- 추천/비추천: post_vote/comment_vote 테이블 + 토글 API
(POST /board/posts|comments/{id}/vote), 게시글/댓글 응답에 up/down/myVote
- 추천자 목록: GET /board/posts/{id}/recommenders + PostDetail.recommenders
- 포인트: member.points + point_history. 글/댓글 작성 시 10P, 하루 3회 한도(합산).
PointService, GET /auth/points, MemberResponse.points 노출
- @MapperScan 에 point.mapper 추가, AuthController WebMvc 테스트 MockBean 보강
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
35 lines
980 B
Java
35 lines
980 B
Java
package com.sb.web.board.domain;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.io.Serializable;
|
|
import java.time.LocalDateTime;
|
|
|
|
/**
|
|
* 게시글 도메인. post 테이블과 매핑.
|
|
*/
|
|
@Data
|
|
@Builder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
public class Post implements Serializable {
|
|
|
|
private Long id;
|
|
private String title;
|
|
private String content;
|
|
private Long authorId;
|
|
private String authorName;
|
|
private String authorGooglePicture; // 조회 시 member JOIN (저장 안 함)
|
|
private String authorProfileImage; // 조회 시 member JOIN (저장 안 함)
|
|
private Integer viewCount;
|
|
private Boolean blocked;
|
|
private String blockReason;
|
|
private Boolean notice; // 공지(상단 고정) — 관리자만 설정
|
|
private String category; // 게시판 구분: community/saving/tips
|
|
private LocalDateTime createdAt;
|
|
private LocalDateTime updatedAt;
|
|
}
|