Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit df19c24

Browse files
Added roles
1 parent 089843c commit df19c24

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

‎src/main/java/com/naturalprogrammer/spring5tutorial/domain/User.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
package com.naturalprogrammer.spring5tutorial.domain;
22

3+
import java.util.Collection;
4+
import java.util.HashSet;
5+
36
import javax.persistence.Column;
7+
import javax.persistence.ElementCollection;
48
import javax.persistence.Entity;
9+
import javax.persistence.EnumType;
10+
import javax.persistence.Enumerated;
11+
import javax.persistence.FetchType;
512
import javax.persistence.GeneratedValue;
613
import javax.persistence.Id;
714
import javax.persistence.Table;
@@ -10,6 +17,10 @@
1017
@Table(name="usr")
1118
public class User {
1219

20+
public static enum Role {
21+
UNVERIFIED, ADMIN, BLOCKED
22+
}
23+
1324
@Id
1425
@GeneratedValue
1526
private Long id;
@@ -22,6 +33,10 @@ public class User {
2233

2334
@Column(nullable=false)
2435
private String password;
36+
37+
@ElementCollection(fetch = FetchType.EAGER)
38+
@Enumerated(EnumType.STRING)
39+
private Collection<Role> roles = new HashSet<Role>();
2540

2641
public Long getId() {
2742
return id;
@@ -54,4 +69,12 @@ public String getPassword() {
5469
public void setPassword(String password) {
5570
this.password = password;
5671
}
72+
73+
public Collection<Role> getRoles() {
74+
return roles;
75+
}
76+
77+
public void setRoles(Collection<Role> roles) {
78+
this.roles = roles;
79+
}
5780
}

‎src/main/java/com/naturalprogrammer/spring5tutorial/services/UserServiceImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import org.springframework.stereotype.Service;
44

55
import com.naturalprogrammer.spring5tutorial.commands.UserCommand;
6+
import com.naturalprogrammer.spring5tutorial.domain.User;
7+
import com.naturalprogrammer.spring5tutorial.domain.User.Role;
68
import com.naturalprogrammer.spring5tutorial.repositories.UserRepository;
79

810
@Service("userService")
@@ -20,6 +22,9 @@ public UserServiceImpl(UserRepository userRepository) {
2022
@Override
2123
public void signup(UserCommand userCommand) {
2224

23-
userRepository.save(userCommand.toUser());
25+
User user = userCommand.toUser();
26+
user.getRoles().add(Role.UNVERIFIED);
27+
28+
userRepository.save(user);
2429
}
2530
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /