From 69749f1acad20332d06a94826027b2a8b1fd873e Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Tue, 13 Aug 2024 21:42:20 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EA=B4=80=EB=A0=A8=20Entity=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/generation/entity/Project.java | 46 +++++++++++++++++++ .../generation/entity/ProjectImage.java | 44 ++++++++++++++++++ .../generation/entity/ProjectMember.java | 42 +++++++++++++++++ .../generation/enums/ProjectImageType.java | 12 +++++ 4 files changed, 144 insertions(+) create mode 100644 src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java create mode 100644 src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java create mode 100644 src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java create mode 100644 src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java new file mode 100644 index 00000000..4142a670 --- /dev/null +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java @@ -0,0 +1,46 @@ +package org.cotato.csquiz.domain.generation.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Project { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "project_id") + private Long id; + + @Column(name = "project_name") + private String name; + + @Column(name = "project_introduction") + private String introduction; + + @Column(name = "github_url") + private String githubUrl; + + @Column(name = "behance_url") + private String behanceUrl; + + @Column(name = "generation_id", nullable = false, unique = true) + private Long generationId; + + @Builder + public Project(String name, String introduction, String githubUrl, String behanceUrl, Long generationId) { + this.name = name; + this.introduction = introduction; + this.githubUrl = githubUrl; + this.behanceUrl = behanceUrl; + this.generationId = generationId; + } +} \ No newline at end of file diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java new file mode 100644 index 00000000..d533345f --- /dev/null +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java @@ -0,0 +1,44 @@ +package org.cotato.csquiz.domain.generation.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.cotato.csquiz.common.entity.S3Info; +import org.cotato.csquiz.domain.generation.enums.ProjectImageType; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class ProjectImage { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "project_image_id") + private Long id; + + @Enumerated(EnumType.STRING) + @Column(name = "project_image_type") + private ProjectImageType projectImageType; + + @Embedded + private S3Info s3Info; + + @Column(name = "project_id", nullable = false, unique = true) + private Long projectId; + + @Builder + public ProjectImage(ProjectImageType projectImageType, S3Info s3Info, Long projectId) { + this.projectImageType = projectImageType; + this.s3Info = s3Info; + this.projectId = projectId; + } +} \ No newline at end of file diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java new file mode 100644 index 00000000..074aaaff --- /dev/null +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java @@ -0,0 +1,42 @@ +package org.cotato.csquiz.domain.generation.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.cotato.csquiz.domain.auth.enums.MemberPosition; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class ProjectMember { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "project_member_id") + private Long id; + + @Enumerated(EnumType.STRING) + @Column(name = "position") + private MemberPosition memberPosition; + + @Column(name = "name") + private String name; + + @Column(name = "project_id", nullable = false, unique = true) + private Long projectId; + + @Builder + public ProjectMember(MemberPosition memberPosition, String name, Long projectId) { + this.memberPosition = memberPosition; + this.name = name; + this.projectId = projectId; + } +} \ No newline at end of file diff --git a/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java b/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java new file mode 100644 index 00000000..d56b8697 --- /dev/null +++ b/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java @@ -0,0 +1,12 @@ +package org.cotato.csquiz.domain.generation.enums; + +import lombok.AllArgsConstructor; + +@AllArgsConstructor +public enum ProjectImageType { + LOGO("로고"), + THUMBNAIL("썸네일"), + DETAIL("상세"); + + private final String description; +} \ No newline at end of file From a131f3f7c76a5d909f126ef2387b5ec0d6cdcdee Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 14 Aug 2024 12:04:42 +0900 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EA=B4=80=EB=A0=A8=20=EC=97=94=ED=8B=B0=ED=8B=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 프로젝트 서비스 url 칼럼 추가 - unique 제약 조건 삭제 --- .../org/cotato/csquiz/domain/generation/entity/Project.java | 5 ++++- .../cotato/csquiz/domain/generation/entity/ProjectImage.java | 2 +- .../csquiz/domain/generation/entity/ProjectMember.java | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java index 4142a670..11368f00 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java @@ -32,7 +32,10 @@ public class Project { @Column(name = "behance_url") private String behanceUrl; - @Column(name = "generation_id", nullable = false, unique = true) + @Column(name = "project_url") + private String projectUrl; + + @Column(name = "generation_id", nullable = false) private Long generationId; @Builder diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java index d533345f..a8582212 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java @@ -32,7 +32,7 @@ public class ProjectImage { @Embedded private S3Info s3Info; - @Column(name = "project_id", nullable = false, unique = true) + @Column(name = "project_id", nullable = false) private Long projectId; @Builder diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java index 074aaaff..e5369180 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java @@ -30,7 +30,7 @@ public class ProjectMember { @Column(name = "name") private String name; - @Column(name = "project_id", nullable = false, unique = true) + @Column(name = "project_id", nullable = false) private Long projectId; @Builder From 55992b2b2aec815f43e890c4c814ed2e25081867 Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 14 Aug 2024 12:39:25 +0900 Subject: [PATCH 3/4] =?UTF-8?q?refactor:=20builder=EC=97=90=20project=5Fur?= =?UTF-8?q?l=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cotato/csquiz/domain/generation/entity/Project.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java index 11368f00..ab47c85e 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java @@ -39,11 +39,13 @@ public class Project { private Long generationId; @Builder - public Project(String name, String introduction, String githubUrl, String behanceUrl, Long generationId) { + public Project(String name, String introduction, String githubUrl, String behanceUrl, String projectUrl, + Long generationId) { this.name = name; this.introduction = introduction; this.githubUrl = githubUrl; this.behanceUrl = behanceUrl; + this.projectUrl = projectUrl; this.generationId = generationId; } } \ No newline at end of file From 46129e06e39d5b1157d226e5cf300b0b2b7131fa Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 14 Aug 2024 12:39:48 +0900 Subject: [PATCH 4/4] =?UTF-8?q?style:=20=EC=BD=94=EB=93=9C=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cotato/csquiz/domain/generation/entity/Project.java | 2 +- .../cotato/csquiz/domain/generation/entity/ProjectImage.java | 2 +- .../cotato/csquiz/domain/generation/entity/ProjectMember.java | 2 +- .../cotato/csquiz/domain/generation/enums/ProjectImageType.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java index ab47c85e..c3cf118c 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/Project.java @@ -48,4 +48,4 @@ public Project(String name, String introduction, String githubUrl, String behanc this.projectUrl = projectUrl; this.generationId = generationId; } -} \ No newline at end of file +} diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java index a8582212..d8ea0c61 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectImage.java @@ -41,4 +41,4 @@ public ProjectImage(ProjectImageType projectImageType, S3Info s3Info, Long proje this.s3Info = s3Info; this.projectId = projectId; } -} \ No newline at end of file +} diff --git a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java index e5369180..73fa0aad 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/entity/ProjectMember.java @@ -39,4 +39,4 @@ public ProjectMember(MemberPosition memberPosition, String name, Long projectId) this.name = name; this.projectId = projectId; } -} \ No newline at end of file +} diff --git a/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java b/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java index d56b8697..1f222caa 100644 --- a/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java +++ b/src/main/java/org/cotato/csquiz/domain/generation/enums/ProjectImageType.java @@ -9,4 +9,4 @@ public enum ProjectImageType { DETAIL("상세"); private final String description; -} \ No newline at end of file +}