From 9f65d92e685e428502937e3d250c9e98dbb59037 Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 29 Jul 2022 15:44:42 +0900 Subject: [PATCH 1/5] :memo: :: User Entity --- .../com/msg/gauth/domain/enums/Gender.java | 5 +++ .../com/msg/gauth/domain/enums/UserRole.java | 5 +++ .../com/msg/gauth/domain/enums/UserState.java | 5 +++ .../java/com/msg/gauth/domain/user/User.java | 38 +++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 src/main/java/com/msg/gauth/domain/enums/Gender.java create mode 100644 src/main/java/com/msg/gauth/domain/enums/UserRole.java create mode 100644 src/main/java/com/msg/gauth/domain/enums/UserState.java create mode 100644 src/main/java/com/msg/gauth/domain/user/User.java diff --git a/src/main/java/com/msg/gauth/domain/enums/Gender.java b/src/main/java/com/msg/gauth/domain/enums/Gender.java new file mode 100644 index 00000000..c57469df --- /dev/null +++ b/src/main/java/com/msg/gauth/domain/enums/Gender.java @@ -0,0 +1,5 @@ +package com.msg.gauth.domain.enums; + +public enum Gender { + MALE, FEMALE +} diff --git a/src/main/java/com/msg/gauth/domain/enums/UserRole.java b/src/main/java/com/msg/gauth/domain/enums/UserRole.java new file mode 100644 index 00000000..462fc3d4 --- /dev/null +++ b/src/main/java/com/msg/gauth/domain/enums/UserRole.java @@ -0,0 +1,5 @@ +package com.msg.gauth.domain.enums; + +public enum UserRole { + STUDENT, TEACHER, ADMIN +} diff --git a/src/main/java/com/msg/gauth/domain/enums/UserState.java b/src/main/java/com/msg/gauth/domain/enums/UserState.java new file mode 100644 index 00000000..303b4fc7 --- /dev/null +++ b/src/main/java/com/msg/gauth/domain/enums/UserState.java @@ -0,0 +1,5 @@ +package com.msg.gauth.domain.enums; + +public enum UserState { + PENDING, CREATED +} diff --git a/src/main/java/com/msg/gauth/domain/user/User.java b/src/main/java/com/msg/gauth/domain/user/User.java new file mode 100644 index 00000000..d35d4aaf --- /dev/null +++ b/src/main/java/com/msg/gauth/domain/user/User.java @@ -0,0 +1,38 @@ +package com.msg.gauth.domain.user; + +import com.msg.gauth.domain.enums.Gender; +import com.msg.gauth.domain.enums.UserRole; +import com.msg.gauth.domain.enums.UserState; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@AllArgsConstructor +@NoArgsConstructor +@Getter +public class User { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private Integer grade; + + private Integer classNum; + + private Integer num; + + @Column(unique = true) + private String email; + + @Enumerated(EnumType.STRING) + private UserRole role; + + @Enumerated(EnumType.STRING) + private UserState state; + + @Enumerated(EnumType.STRING) + private Gender gender; +} From 6113cc6a3dca933ec089f89e8ff77a51bdcc861e Mon Sep 17 00:00:00 2001 From: baegteun Date: Sat, 30 Jul 2022 11:58:36 +0900 Subject: [PATCH 2/5] :art: :: UserRole GrantedAuthority --- .../java/com/msg/gauth/domain/enums/UserRole.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/msg/gauth/domain/enums/UserRole.java b/src/main/java/com/msg/gauth/domain/enums/UserRole.java index 462fc3d4..cb43b191 100644 --- a/src/main/java/com/msg/gauth/domain/enums/UserRole.java +++ b/src/main/java/com/msg/gauth/domain/enums/UserRole.java @@ -1,5 +1,12 @@ package com.msg.gauth.domain.enums; -public enum UserRole { - STUDENT, TEACHER, ADMIN +import org.springframework.security.core.GrantedAuthority; + +public enum UserRole implements GrantedAuthority { + ROLE_STUDENT, ROLE_TEACHER, ROLE_ADMIN; + + @Override + public String getAuthority() { + return name(); + } } From d370f1e0a1cfcf2876a9b0e687cd536656196cbf Mon Sep 17 00:00:00 2001 From: baegteun <74440939+baekteun@users.noreply.github.com> Date: Sat, 30 Jul 2022 18:10:56 +0900 Subject: [PATCH 3/5] Update src/main/java/com/msg/gauth/domain/user/User.java --- src/main/java/com/msg/gauth/domain/user/User.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/msg/gauth/domain/user/User.java b/src/main/java/com/msg/gauth/domain/user/User.java index d35d4aaf..15fcb80c 100644 --- a/src/main/java/com/msg/gauth/domain/user/User.java +++ b/src/main/java/com/msg/gauth/domain/user/User.java @@ -28,7 +28,9 @@ public class User { private String email; @Enumerated(EnumType.STRING) - private UserRole role; + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "Role", joinColumns = @JoinColumn(name = "id")) + private List roles = new ArrayList<>(); @Enumerated(EnumType.STRING) private UserState state; From f9ad997ea1c3316c6eb22550830a40895e5665eb Mon Sep 17 00:00:00 2001 From: baegteun <74440939+baekteun@users.noreply.github.com> Date: Sat, 30 Jul 2022 18:11:45 +0900 Subject: [PATCH 4/5] Update src/main/java/com/msg/gauth/domain/user/User.java --- src/main/java/com/msg/gauth/domain/user/User.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/msg/gauth/domain/user/User.java b/src/main/java/com/msg/gauth/domain/user/User.java index 15fcb80c..416ccbd8 100644 --- a/src/main/java/com/msg/gauth/domain/user/User.java +++ b/src/main/java/com/msg/gauth/domain/user/User.java @@ -30,7 +30,7 @@ public class User { @Enumerated(EnumType.STRING) @ElementCollection(fetch = FetchType.EAGER) @CollectionTable(name = "Role", joinColumns = @JoinColumn(name = "id")) - private List roles = new ArrayList<>(); + private List roles = new ArrayList<>(); @Enumerated(EnumType.STRING) private UserState state; From 523b22c1629b1cbc592ed2dff3c37cd7b765bc4a Mon Sep 17 00:00:00 2001 From: baegteun <74440939+baekteun@users.noreply.github.com> Date: Sat, 30 Jul 2022 18:11:50 +0900 Subject: [PATCH 5/5] Update src/main/java/com/msg/gauth/domain/user/User.java --- src/main/java/com/msg/gauth/domain/user/User.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/msg/gauth/domain/user/User.java b/src/main/java/com/msg/gauth/domain/user/User.java index 416ccbd8..ca6de7ca 100644 --- a/src/main/java/com/msg/gauth/domain/user/User.java +++ b/src/main/java/com/msg/gauth/domain/user/User.java @@ -29,7 +29,7 @@ public class User { @Enumerated(EnumType.STRING) @ElementCollection(fetch = FetchType.EAGER) - @CollectionTable(name = "Role", joinColumns = @JoinColumn(name = "id")) + @CollectionTable(name = "UserRole", joinColumns = @JoinColumn(name = "id")) private List roles = new ArrayList<>(); @Enumerated(EnumType.STRING)