Skip to content

Commit 78912bb

Browse files
committed
feat: Font 도메인 추가
1 parent 8e4c39e commit 78912bb

File tree

3 files changed

+126
-0
lines changed

3 files changed

+126
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package org.fontory.fontorybe.font.domain;
2+
3+
import java.time.LocalDateTime;
4+
import lombok.AccessLevel;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Getter;
8+
import lombok.NoArgsConstructor;
9+
import org.fontory.fontorybe.font.infrastructure.entity.FontStatus;
10+
11+
@Getter
12+
@Builder
13+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
14+
@AllArgsConstructor(access = AccessLevel.PRIVATE)
15+
public class Font {
16+
17+
private Long id;
18+
19+
private String name;
20+
21+
private FontStatus status;
22+
23+
private Long downloadCount;
24+
25+
private Long bookmarkCount;
26+
27+
private String ttf;
28+
29+
private String woff;
30+
31+
private Long memberId;
32+
33+
private LocalDateTime createdAt;
34+
35+
private LocalDateTime updatedAt;
36+
37+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package org.fontory.fontorybe.font.infrastructure.entity;
2+
3+
import jakarta.persistence.Column;
4+
import jakarta.persistence.Entity;
5+
import jakarta.persistence.EnumType;
6+
import jakarta.persistence.Enumerated;
7+
import jakarta.persistence.GeneratedValue;
8+
import jakarta.persistence.GenerationType;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.Table;
11+
import lombok.AccessLevel;
12+
import lombok.AllArgsConstructor;
13+
import lombok.Getter;
14+
import lombok.NoArgsConstructor;
15+
import lombok.experimental.SuperBuilder;
16+
import org.fontory.fontorybe.common.domain.BaseEntity;
17+
import org.fontory.fontorybe.font.domain.Font;
18+
19+
@Entity
20+
@Getter
21+
@Table(name = "font")
22+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
23+
@AllArgsConstructor(access = AccessLevel.PRIVATE)
24+
@SuperBuilder
25+
public class FontEntity extends BaseEntity {
26+
27+
@Id
28+
@GeneratedValue(strategy = GenerationType.IDENTITY)
29+
@Column(name = "font_id")
30+
private Long id;
31+
32+
private String name;
33+
34+
@Enumerated(EnumType.STRING)
35+
private FontStatus status;
36+
37+
private Long downloadCount;
38+
39+
private Long bookmarkCount;
40+
41+
private String ttf;
42+
43+
private String woff;
44+
45+
private Long memberId;
46+
47+
public Font toModel() {
48+
return Font.builder()
49+
.id(id)
50+
.name(name)
51+
.status(status)
52+
.downloadCount(downloadCount)
53+
.bookmarkCount(bookmarkCount)
54+
.ttf(ttf)
55+
.woff(woff)
56+
.memberId(memberId)
57+
.createdAt(getCreatedAt())
58+
.updatedAt(getUpdatedAt())
59+
.build();
60+
}
61+
62+
public static FontEntity from(Font font) {
63+
return FontEntity.builder()
64+
.id(font.getId())
65+
.name(font.getName())
66+
.status(font.getStatus())
67+
.downloadCount(font.getDownloadCount())
68+
.bookmarkCount(font.getBookmarkCount())
69+
.ttf(font.getTtf())
70+
.woff(font.getWoff())
71+
.memberId(font.getMemberId())
72+
.createdAt(font.getCreatedAt())
73+
.updatedAt(font.getUpdatedAt())
74+
.build();
75+
}
76+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.fontory.fontorybe.font.infrastructure.entity;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
6+
@Getter
7+
@AllArgsConstructor
8+
public enum FontStatus {
9+
PROGRESS("제작 중"),
10+
DONE("제작 완료");
11+
12+
private final String key;
13+
}

0 commit comments

Comments
 (0)