diff --git a/src/main/java/com/example/oauthspringsecurity/domain/Member.java b/src/main/java/com/example/oauthspringsecurity/domain/Member.java index b5a8fb5..065d65f 100644 --- a/src/main/java/com/example/oauthspringsecurity/domain/Member.java +++ b/src/main/java/com/example/oauthspringsecurity/domain/Member.java @@ -1,33 +1,59 @@ package com.example.oauthspringsecurity.domain; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; +import javax.persistence.*; @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + + private String oauthId; + private String name; + private String email; + private String imageUrl; + @Enumerated(EnumType.STRING) + private Role role; + protected Member() { } - public Member(Long id, String name, String email, String imageUrl) { + public Member(String oauthId, String name, String email, String imageUrl, Role role) { + this(null, oauthId, name, email, imageUrl, role); + } + + public Member(Long id, String oauthId, String name, String email, String imageUrl, Role role) { this.id = id; + this.oauthId = oauthId; this.name = name; this.email = email; this.imageUrl = imageUrl; + this.role = role; + } + + public Member update(String name, String email, String imageUrl) { + this.name = name; + this.email = email; + this.imageUrl = imageUrl; + return this; + } + + public String getRoleKey() { + return this.role.getKey(); } public Long getId() { return id; } + public String getOauthId() { + return oauthId; + } + public String getName() { return name; } @@ -39,4 +65,8 @@ public class Member { public String getImageUrl() { return imageUrl; } + + public Role getRole() { + return role; + } } diff --git a/src/main/java/com/example/oauthspringsecurity/domain/Role.java b/src/main/java/com/example/oauthspringsecurity/domain/Role.java new file mode 100644 index 0000000..18150c6 --- /dev/null +++ b/src/main/java/com/example/oauthspringsecurity/domain/Role.java @@ -0,0 +1,16 @@ +package com.example.oauthspringsecurity.domain; + +public enum Role { + GUEST("ROLE_GUEST"), + USER("ROLE_USER"); + + private final String key; + + Role(String key) { + this.key = key; + } + + public String getKey() { + return key; + } +}