-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Feat: User 도메인 생성 * Feat: Member 도메인 생성 * Feat: Team 도메인 생성 * Feat: Scrum 도메인 생성 * Feat: 도메인 상태 관리
- Loading branch information
Showing
14 changed files
with
378 additions
and
0 deletions.
There are no files selected for viewing
28 changes: 28 additions & 0 deletions
28
src/main/java/goormthon/team28/startup_valley/domain/Answer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
import java.time.LocalDateTime; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "answers") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Answer { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "question_id") | ||
private Question question; | ||
@Column(name = "content", nullable = false) | ||
private String content; | ||
@Column(name = "created_at", nullable = false) | ||
private LocalDateTime createdAt; | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/goormthon/team28/startup_valley/domain/Member.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import goormthon.team28.startup_valley.dto.type.EPart; | ||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "members") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Member { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "team_id") | ||
private Team team; | ||
@Column(name = "part") | ||
@Enumerated(EnumType.STRING) | ||
private EPart part; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "user_id") | ||
private User user; | ||
@Column(name = "total_minute") | ||
private Long totalMinute; | ||
@Column(name = "retrospection") | ||
private String retrospection; | ||
|
||
|
||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/goormthon/team28/startup_valley/domain/Question.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import goormthon.team28.startup_valley.dto.type.EQuestionStatus; | ||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
import java.time.LocalDateTime; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "questions") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Question { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "sender_id") | ||
private Member sender; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "receiver_id") | ||
private Member receiver; | ||
@Column(name = "content", nullable = false) | ||
private String content; | ||
@Column(name = "created_at", nullable = false) | ||
private LocalDateTime createdAt; | ||
@Column(name = "question_status", nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private EQuestionStatus status; | ||
} |
30 changes: 30 additions & 0 deletions
30
src/main/java/goormthon/team28/startup_valley/domain/Review.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "reviews") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Review { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "team_id") | ||
private Team team; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "sender_id") | ||
private Member sender; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "receiver_id") | ||
private Member receiver; | ||
@Column(name = "content") | ||
private String content; | ||
} |
36 changes: 36 additions & 0 deletions
36
src/main/java/goormthon/team28/startup_valley/domain/Scrum.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import goormthon.team28.startup_valley.dto.type.EScrumStatus; | ||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
import java.time.LocalDate; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "scrums") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Scrum { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(name = "summary") | ||
private String summary; | ||
@Column(name = "start_at", nullable = false) | ||
private LocalDate startAt; | ||
@Column(name = "end_at") | ||
private LocalDate endAt; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "worker_id") | ||
private Member worker; | ||
@Column(name = "status") | ||
@Enumerated(EnumType.STRING) | ||
private EScrumStatus status; | ||
|
||
|
||
} |
39 changes: 39 additions & 0 deletions
39
src/main/java/goormthon/team28/startup_valley/domain/Team.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import goormthon.team28.startup_valley.dto.type.EProjectStatus; | ||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; | ||
|
||
import java.time.LocalDate; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "teams") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Team { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(name = "name", nullable = false) | ||
private String name; | ||
@Column(name = "team_image") | ||
private String teamImage; | ||
@OneToOne | ||
@JoinColumn(name = "id", nullable = false) | ||
private Member leader; | ||
@Column(name = "start_at", nullable = false) | ||
private LocalDate startAt; | ||
@Column(name = "end_at") | ||
private LocalDate endAt; | ||
@Column(name = "status") | ||
@Enumerated(EnumType.STRING) | ||
private EProjectStatus status; | ||
@Column(name = "is_public", nullable = false) | ||
private Boolean isPublic; | ||
} |
55 changes: 55 additions & 0 deletions
55
src/main/java/goormthon/team28/startup_valley/domain/User.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import goormthon.team28.startup_valley.dto.type.EProfileImage; | ||
import goormthon.team28.startup_valley.dto.type.ERole; | ||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
import org.springframework.transaction.annotation.Transactional; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "users") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class User { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "id") | ||
private Long id; | ||
|
||
/* 사용자 인증 및 권한 정보 */ | ||
@Column(name = "serial_id", nullable = false, unique = true) | ||
private String serialId; // discord serial id | ||
@Column(name = "password", nullable = false) | ||
private String password; | ||
@Column(name = "discord_id", nullable = true) | ||
private Long discordId; | ||
@Column(name = "role", nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private ERole role; | ||
|
||
/* 사용자 이용 정보 */ | ||
@Column(name = "nickname", nullable = false) | ||
private String nickname; | ||
@Column(name = "profile_image", nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private EProfileImage profileImage; | ||
@Column(name = "refresh_Token") | ||
private String refreshToken; | ||
@Builder | ||
public User(String serialId, String password, ERole role, String nickname, EProfileImage profileImage, String refreshToken) { | ||
this.serialId = serialId; | ||
this.password = password; | ||
this.role = role; | ||
this.nickname = nickname; | ||
this.profileImage = profileImage; | ||
this.refreshToken = refreshToken; | ||
} | ||
public void doubleCheck(Long discordId){ | ||
this.discordId = discordId; | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
src/main/java/goormthon/team28/startup_valley/domain/Work.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package goormthon.team28.startup_valley.domain; | ||
|
||
import jakarta.persistence.*; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import org.hibernate.annotations.DynamicUpdate; | ||
|
||
import java.time.LocalDateTime; | ||
|
||
@Entity | ||
@Getter | ||
@DynamicUpdate | ||
@Table(name = "works") | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Work { | ||
@Id | ||
@Column(name = "id") | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "scrum_id") | ||
private Scrum scrum; | ||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "member_id") | ||
private Member owner; | ||
@Column(name = "content", nullable = false) | ||
private String content; | ||
@Column(name = "start_at", nullable = false) | ||
private LocalDateTime startAt; | ||
@Column(name = "end_at") | ||
private LocalDateTime endAt; | ||
|
||
} |
15 changes: 15 additions & 0 deletions
15
src/main/java/goormthon/team28/startup_valley/dto/type/EPart.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum EPart { | ||
BACKEND("BACKEND"), | ||
FRONTEND("FRONTEND"), | ||
FULLSTACK("FULLSTACK"), | ||
PM("PM"), | ||
DESIGN("DESIGN"); | ||
private final String name; | ||
} |
20 changes: 20 additions & 0 deletions
20
src/main/java/goormthon/team28/startup_valley/dto/type/EProfileImage.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum EProfileImage { | ||
BLUEBERRY("BLUEBERRY"), | ||
CABBAGE("CABBAGE"), | ||
CARROT("CARROT"), | ||
CLOCK("CLOCK"), | ||
CUCUMBER("CUCUMBER"), | ||
LOADER("LOADER"), | ||
STRAWBERRY("STRAWBERRY"), | ||
TOMATO("TOMATO"); | ||
private final String name; | ||
// blueberry, cabbage, carrot, clock, cucumber, loader, strawberry, tomato | ||
|
||
} |
13 changes: 13 additions & 0 deletions
13
src/main/java/goormthon/team28/startup_valley/dto/type/EProjectStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum EProjectStatus { | ||
IN_PROGRESS("IN_PROGRESS"), | ||
PEER_REVIEW("PEER_REVIEW"), | ||
FINISH("FINISH"); | ||
private final String status; | ||
} |
12 changes: 12 additions & 0 deletions
12
src/main/java/goormthon/team28/startup_valley/dto/type/EQuestionStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum EQuestionStatus { | ||
WAITING_ANSWER("WAITING_ANSWER"), | ||
FINISH("FINISH"); | ||
private final String status; | ||
} |
14 changes: 14 additions & 0 deletions
14
src/main/java/goormthon/team28/startup_valley/dto/type/ERole.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum ERole { | ||
GUEST("GUEST", "ROLE_GUEST"), | ||
USER("USER", "ROLE_USER"), | ||
ADMIN("ADMIN", "ROLE_ADMIN"); | ||
private final String role; | ||
private final String securityRole; | ||
} |
12 changes: 12 additions & 0 deletions
12
src/main/java/goormthon/team28/startup_valley/dto/type/EScrumStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package goormthon.team28.startup_valley.dto.type; | ||
|
||
import lombok.Getter; | ||
import lombok.RequiredArgsConstructor; | ||
|
||
@Getter | ||
@RequiredArgsConstructor | ||
public enum EScrumStatus { | ||
IN_PROGRESS("IN_PROGRESS"), | ||
FINISH("FINISH"); | ||
private final String status; | ||
} |