Skip to content

Commit bd1be84

Browse files
committed
UserServiceImp postOneUser
1 parent 1be8a11 commit bd1be84

File tree

5 files changed

+23
-69
lines changed

5 files changed

+23
-69
lines changed

day-14/api/src/main/java/com/bookstore/api/entities/Role.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,25 @@
22

33
import javax.persistence.Column;
44
import javax.persistence.Entity;
5+
import javax.persistence.GeneratedValue;
6+
import javax.persistence.GenerationType;
57
import javax.persistence.Id;
68
import javax.persistence.Table;
79

8-
import lombok.AllArgsConstructor;
910
import lombok.Data;
10-
import lombok.NoArgsConstructor;
11-
12-
import javax.persistence.GeneratedValue;
1311

14-
@Data
1512
@Entity
16-
@Table(name="roles")
17-
@NoArgsConstructor
18-
@AllArgsConstructor
13+
@Data
14+
@Table(name = "roles")
1915
public class Role {
2016
@Id
21-
@GeneratedValue
17+
@GeneratedValue(strategy = GenerationType.IDENTITY)
2218
@Column(name = "role_id")
2319
private int id;
24-
20+
2521
@Column(name = "name")
2622
private String name;
27-
23+
2824
@Column(name = "description")
2925
private String description;
3026
}
Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.bookstore.api.entities;
22

3+
import java.util.HashSet;
34
import java.util.Set;
45

56
import javax.persistence.CascadeType;
@@ -14,35 +15,31 @@
1415
import javax.persistence.ManyToMany;
1516
import javax.persistence.Table;
1617

17-
import lombok.AllArgsConstructor;
1818
import lombok.Data;
19-
import lombok.NoArgsConstructor;
2019

21-
@Data
2220
@Entity
21+
@Data
2322
@Table(name = "users")
24-
@NoArgsConstructor
25-
@AllArgsConstructor
2623
public class User {
24+
2725
@Id
28-
@GeneratedValue(strategy = GenerationType.IDENTITY)
29-
@Column(name = "user_id")
30-
private int id;
26+
@GeneratedValue(strategy = GenerationType.AUTO)
27+
@Column(name = "id")
28+
int id;
3129

3230
@Column(name = "user_name")
33-
private String userName;
31+
String userName;
3432

3533
@Column(name = "password")
36-
private String password;
34+
String password;
3735

3836
@Column(name = "first_name")
39-
private String firstName;
37+
String firstName;
4038

4139
@Column(name = "last_name")
42-
private String lastName;
40+
String lastName;
4341

4442
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
45-
@JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
46-
private Set<Role> roles;
47-
43+
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
44+
private Set<Role> roles = new HashSet<>();
4845
}

day-14/api/src/main/java/com/bookstore/api/entities/UserRole.java

Lines changed: 0 additions & 30 deletions
This file was deleted.

day-14/api/src/main/java/com/bookstore/api/repositories/UserRoleRepository.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

day-14/api/src/main/java/com/bookstore/api/services/UserServiceImp.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ public ApiResponse<User> getOneUser(int id) {
8888

8989
@Override
9090
public ApiResponse<User> postOneUser(User user) {
91-
// passwordEncode
92-
user.setPassword(passwordEncoder.encode(user.getPassword()));
93-
94-
// Role: varsayılan olarak USER role atayalım.
9591
Set<Role> roles = new HashSet<>();
9692
Role role = roleRepository.findByName("USER");
93+
if (role == null) {
94+
throw new RuntimeException("USER role is not defined.");
95+
}
9796
roles.add(role);
9897
user.setRoles(roles);
98+
user.setPassword(passwordEncoder.encode(user.getPassword()));
9999
userRepository.save(user);
100100
return ApiResponse.default_CREATED(user);
101101
}

0 commit comments

Comments
 (0)