Skip to content

Commit 8fda352

Browse files
committed
merge(board): merge board-service branch
2 parents 9356e69 + 68ae6d0 commit 8fda352

12 files changed

+54
-45
lines changed

src/main/java/me/nettee/board/adapter/driving/web/mapper/BoardDtoMapper.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
@Mapper(componentModel = "spring")
1313
public interface BoardDtoMapper {
1414

15-
@BeanMapping(ignoreByDefault = true)
16-
@Mapping(target = "title", source = "title")
17-
@Mapping(target = "content", source = "content")
15+
// @BeanMapping(ignoreByDefault = true)
16+
// @Mapping(target = "title", source = "title")
17+
// @Mapping(target = "content", source = "content")
1818
Board toDomain(BoardCreateCommand command);
1919

20-
@BeanMapping(ignoreByDefault = true)
21-
@Mapping(target = "id", source = "id")
22-
@Mapping(target = "title", source = "command.title")
23-
@Mapping(target = "content", source = "command.content")
20+
// @BeanMapping(ignoreByDefault = true)
21+
// @Mapping(target = "id", source = "id")
22+
// @Mapping(target = "title", source = "command.title")
23+
// @Mapping(target = "content", source = "command.content")
2424
Board toDomain(Long id, BoardUpdateCommand command);
2525

2626
BoardDetailResponse toDtoDetail(BoardReadDetailModel board);
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package me.nettee.board.application.model;
22

3-
import me.nettee.board.application.domain.type.BoardStatus;
4-
53
import java.time.Instant;
4+
import me.nettee.board.application.domain.type.BoardStatus;
65

76
public record BoardReadDetailModel(
8-
Long id,
9-
String title,
10-
String content,
11-
BoardStatus status,
12-
Instant createdAt,
13-
Instant updatedAt
14-
) {
15-
}
7+
Long id,
8+
String title,
9+
String content,
10+
BoardStatus status,
11+
Instant createdAt,
12+
Instant updatedAt,
13+
Instant deletedAt
14+
) {}
Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package me.nettee.board.application.model;
22

3-
import me.nettee.board.application.domain.type.BoardStatus;
4-
53
import java.time.Instant;
64

75
public record BoardReadSummaryModel(
8-
Long id,
9-
String title,
10-
String content,
11-
BoardStatus status,
12-
Instant createdAt,
13-
Instant updatedAt
14-
) {
15-
}
6+
Long id,
7+
String title,
8+
String content,
9+
Instant createdAt,
10+
Instant updatedAt
11+
){}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package me.nettee.board.application.port;
22

3+
import java.util.Optional;
34
import me.nettee.board.application.domain.Board;
45

56
public interface BoardCommandPort {
67

8+
Optional<Board> findById(Long id);
9+
710
Board create(Board board);
811

912
Board update(Board board);
1013

11-
void delete(Long id);
12-
14+
void delete(Board id);
1315
}
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
package me.nettee.board.application.port;
22

3-
import java.util.List;
4-
import me.nettee.board.application.domain.Board;
3+
import java.util.Optional;
4+
import java.util.Set;
55
import me.nettee.board.application.domain.type.BoardStatus;
6+
import me.nettee.board.application.model.BoardReadDetailModel;
7+
import me.nettee.board.application.model.BoardReadSummaryModel;
68
import org.springframework.data.domain.Page;
79
import org.springframework.data.domain.Pageable;
810

9-
import java.util.Optional;
10-
1111
public interface BoardQueryPort {
1212

13-
Optional<Board> findById(Long id);
13+
Optional<BoardReadDetailModel> findById(Long id);
14+
15+
Page<BoardReadSummaryModel> findByStatusesList(Pageable pageable, Set<BoardStatus> statuses);
1416

15-
Page<Board> findByStatusesList(Pageable pageable, List<BoardStatus> statuses);
1617
}

src/main/java/me/nettee/board/application/service/BoardCommandService.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import lombok.RequiredArgsConstructor;
44
import me.nettee.board.application.domain.Board;
5+
import me.nettee.board.application.model.BoardReadDetailModel;
56
import me.nettee.board.application.port.BoardCommandPort;
7+
import me.nettee.board.application.port.BoardQueryPort;
68
import me.nettee.board.application.usecase.BoardCreateUseCase;
79
import me.nettee.board.application.usecase.BoardDeleteUseCase;
810
import me.nettee.board.application.usecase.BoardUpdateUseCase;
@@ -23,6 +25,11 @@ public Board updateBoard(Board board) {
2325
}
2426

2527
public void deleteBoard(Long id) {
26-
boardCommandPort.delete(id);
28+
Board board = boardCommandPort.findById(id).orElseThrow(
29+
() -> new IllegalArgumentException("게시글을 찾을 수 없습니다."));
30+
31+
board.softDelete();
32+
33+
boardCommandPort.delete(board);
2734
}
2835
}

src/main/java/me/nettee/board/application/service/BoardQueryService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package me.nettee.board.application.service;
22

3-
import java.util.List;
3+
import java.util.Set;
44
import lombok.RequiredArgsConstructor;
5-
import me.nettee.board.application.domain.Board;
65
import me.nettee.board.application.domain.type.BoardStatus;
6+
import me.nettee.board.application.model.BoardReadDetailModel;
7+
import me.nettee.board.application.model.BoardReadSummaryModel;
78
import me.nettee.board.application.port.BoardQueryPort;
89
import me.nettee.board.application.usecase.BoardReadByStatusesUseCase;
910
import me.nettee.board.application.usecase.BoardReadUseCase;
@@ -18,13 +19,13 @@ public class BoardQueryService implements BoardReadUseCase, BoardReadByStatusesU
1819
private final BoardQueryPort boardQueryPort;
1920

2021
@Override
21-
public Board getBoard(Long id) {
22+
public BoardReadDetailModel getBoard(Long id) {
2223
return boardQueryPort.findById(id).orElseThrow(
2324
() -> new IllegalArgumentException("게시글을 찾을 수 없습니다."));
2425
}
2526

2627
@Override
27-
public Page<Board> findByStatuses(Pageable pageable, List<BoardStatus> statuses) {
28+
public Page<BoardReadSummaryModel> findByStatuses(Set<BoardStatus> statuses, Pageable pageable) {
2829
return boardQueryPort.findByStatusesList(pageable, statuses);
2930
}
3031
}

src/main/java/me/nettee/board/application/usecase/BoardCreateUseCase.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
public interface BoardCreateUseCase {
66

77
Board createBoard(Board board);
8+
89
}

src/main/java/me/nettee/board/application/usecase/BoardDeleteUseCase.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
public interface BoardDeleteUseCase {
44

55
void deleteBoard(Long id);
6+
67
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package me.nettee.board.application.usecase;
22

3+
import java.util.Set;
34
import me.nettee.board.application.domain.type.BoardStatus;
45
import me.nettee.board.application.model.BoardReadSummaryModel;
56
import org.springframework.data.domain.Page;
67
import org.springframework.data.domain.Pageable;
7-
import java.util.Set;
88

99
public interface BoardReadByStatusesUseCase {
1010

1111
Page<BoardReadSummaryModel> findByStatuses(Set<BoardStatus> statuses, Pageable pageable);
12+
1213
}
14+
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package me.nettee.board.application.usecase;
22

3-
import me.nettee.board.application.domain.Board;
43
import me.nettee.board.application.model.BoardReadDetailModel;
5-
import org.springframework.data.domain.Page;
6-
import org.springframework.data.domain.Pageable;
74

85
public interface BoardReadUseCase {
96

10-
BoardReadDetailModel getBoard(Long id);
7+
BoardReadDetailModel getBoard(Long id);
8+
119
}

src/main/java/me/nettee/board/application/usecase/BoardUpdateUseCase.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
public interface BoardUpdateUseCase {
55

66
Board updateBoard(Board board);
7+
78
}

0 commit comments

Comments
 (0)