-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGroupVo.java
More file actions
54 lines (49 loc) · 2.04 KB
/
GroupVo.java
File metadata and controls
54 lines (49 loc) · 2.04 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
package com.ggang.be.domain.group.dto;
import com.ggang.be.domain.constant.Category;
import com.ggang.be.domain.constant.GroupType;
import com.ggang.be.domain.constant.Status;
import com.ggang.be.domain.constant.WeekDay;
import com.ggang.be.domain.group.everyGroup.dto.EveryGroupVo;
import com.ggang.be.domain.group.onceGroup.dto.OnceGroupVo;
import java.time.LocalDate;
import java.time.LocalDateTime;
public record GroupVo(long groupId, Status status, Category category, int coverImg, int profileImg, String nickname,
GroupType groupType,
String groupTitle, WeekDay weekDay, LocalDate weekDate, double startTime, double endTime, String location, LocalDateTime createdAt) {
public static GroupVo fromEveryGroup(EveryGroupVo everyGroupVo) {
return new GroupVo(
everyGroupVo.groupId(),
everyGroupVo.status(),
everyGroupVo.category(),
everyGroupVo.coverImg(),
everyGroupVo.profileImg(),
everyGroupVo.nickname(),
GroupType.WEEKLY,
everyGroupVo.groupTitle(),
everyGroupVo.weekDay(),
null,
everyGroupVo.startTime(),
everyGroupVo.endTime(),
everyGroupVo.location(),
everyGroupVo.createdAt()
);
}
public static GroupVo fromOnceGroup(OnceGroupVo onceGroupVo) {
return new GroupVo(
onceGroupVo.groupId(),
onceGroupVo.status(),
onceGroupVo.category(),
onceGroupVo.coverImg(),
onceGroupVo.profileImg(),
onceGroupVo.nickname(),
GroupType.ONCE,
onceGroupVo.groupTitle(),
WeekDay.fromDayOfWeek(onceGroupVo.dateTime().getDayOfWeek()),
onceGroupVo.dateTime(),
onceGroupVo.startTime(),
onceGroupVo.endTime(),
onceGroupVo.location(),
onceGroupVo.createdAt()
);
}
}