-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathTaskHistory.java
More file actions
56 lines (50 loc) · 1.86 KB
/
TaskHistory.java
File metadata and controls
56 lines (50 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package clap.server.domain.model.task;
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskHistoryType;
import clap.server.domain.model.common.BaseTime;
import clap.server.domain.model.member.Member;
import lombok.*;
import lombok.experimental.SuperBuilder;
@Getter
@SuperBuilder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class TaskHistory extends BaseTime {
private Long taskHistoryId;
private TaskHistoryType type;
private TaskModificationInfo taskModificationInfo;
private Member modifiedMember;
private Comment comment;
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public static class TaskModificationInfo {
private Task task;
private String modifiedStatus;
}
public static TaskHistory createTaskHistory(TaskHistoryType type, Task task, String statusDescription, Member member) {
return TaskHistory.builder()
.type(type)
.modifiedMember(member)
.taskModificationInfo(
TaskModificationInfo.builder()
.task(task)
.modifiedStatus(statusDescription)
.build()
)
.comment(null)
.build();
}
public static TaskHistory createCommentTaskHistory(TaskHistoryType type, Member member, Comment comment) {
return TaskHistory.builder()
.type(type)
.modifiedMember(member)
.taskModificationInfo(
TaskModificationInfo.builder()
.task(null)
.modifiedStatus(null)
.build()
)
.comment(comment)
.build();
}
}