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
package com.talentcard.server.talentcard;
 
import java.time.LocalDate;
import java.time.LocalDateTime;
 
public record TalentCardResponse(
        Long id,
        Long talentId,
        String cardNo,
        String cardType,
        String cardLevel,
        LocalDate validStart,
        LocalDate validEnd,
        Byte status,
        LocalDateTime issueTime,
        LocalDateTime expireTime,
        Byte familyCardEnabled,
        Integer familyCardLimit,
        LocalDateTime createdAt,
        LocalDateTime updatedAt
) {
 
    public static TalentCardResponse from(TalentCard talentCard) {
        return new TalentCardResponse(
                talentCard.getId(),
                talentCard.getTalentId(),
                talentCard.getCardNo(),
                talentCard.getCardType(),
                talentCard.getCardLevel(),
                talentCard.getValidStart(),
                talentCard.getValidEnd(),
                talentCard.getStatus(),
                talentCard.getIssueTime(),
                talentCard.getExpireTime(),
                talentCard.getFamilyCardEnabled(),
                talentCard.getFamilyCardLimit(),
                talentCard.getCreatedAt(),
                talentCard.getUpdatedAt()
        );
    }
}