Skip to content

Commit d4f8064

Browse files
committed
username => email
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent c4fb10b commit d4f8064

File tree

7 files changed

+22
-20
lines changed

7 files changed

+22
-20
lines changed

src/main/java/io/hexlet/blog/component/DataInitializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ public class DataInitializer implements ApplicationRunner {
3232
public void run(ApplicationArguments args) throws Exception {
3333
var email = "[email protected]";
3434
var userData = new User();
35-
userData.setUsername(email);
35+
userData.setEmail(email);
3636
userData.setPassword("qwerty");
3737
userService.createUser(userData);
3838

39-
var user = userRepository.findByUsername(email).get();
39+
var user = userRepository.findByEmail(email).get();
4040

4141
var faker = new Faker();
4242
IntStream.range(1, 10).forEach(i -> {

src/main/java/io/hexlet/blog/mapper/UserMapper.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,21 @@
77
import org.mapstruct.MappingConstants;
88
import org.mapstruct.MappingTarget;
99
import org.mapstruct.NullValuePropertyMappingStrategy;
10+
import org.mapstruct.ReportingPolicy;
1011

1112
import io.hexlet.blog.dto.UserDTO;
1213
import io.hexlet.blog.model.User;
1314

1415
@Mapper(
1516
uses = { JsonNullableMapper.class, ReferenceMapper.class },
1617
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
17-
componentModel = MappingConstants.ComponentModel.SPRING
18+
componentModel = MappingConstants.ComponentModel.SPRING,
19+
unmappedTargetPolicy = ReportingPolicy.IGNORE
1820
)
1921
public abstract class UserMapper {
20-
@Mapping(target = "id", ignore = true)
21-
@Mapping(target = "createdAt", ignore = true)
22-
@Mapping(target = "updatedAt", ignore = true)
23-
@Mapping(target = "password", ignore = true)
24-
@Mapping(target = "authorities", ignore = true)
25-
@Mapping(target = "posts", ignore = true)
2622
public abstract User map(UserDTO model);
2723

28-
@InheritInverseConfiguration(name = "map")
29-
3024
public abstract UserDTO map(User model);
3125

32-
@InheritConfiguration
3326
public abstract void update(UserDTO update, @MappingTarget User destination);
3427
}
35-

src/main/java/io/hexlet/blog/model/User.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import jakarta.persistence.Id;
2020
import jakarta.persistence.OneToMany;
2121
import jakarta.persistence.Table;
22+
import jakarta.validation.constraints.Email;
2223
import jakarta.validation.constraints.NotBlank;
2324
import lombok.EqualsAndHashCode;
2425
import lombok.Getter;
@@ -43,8 +44,9 @@ public class User implements UserDetails, BaseEntity {
4344

4445
// EMAIL
4546
@Column(unique = true)
47+
@Email
4648
@ToString.Include
47-
private String username;
49+
private String email;
4850

4951
// @NotBlank
5052
@ToString.Include
@@ -70,7 +72,7 @@ public String getPassword() {
7072

7173
@Override
7274
public String getUsername() {
73-
return username;
75+
return email;
7476
}
7577

7678
@Override

src/main/java/io/hexlet/blog/repository/UserRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99

1010
@Repository
1111
public interface UserRepository extends JpaRepository<User, Long> {
12-
Optional<User> findByUsername(String email);
12+
Optional<User> findByEmail(String email);
1313
}

src/main/java/io/hexlet/blog/service/CustomUserDetailsService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ public class CustomUserDetailsService implements UserDetailsManager {
2121

2222
@Override
2323
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
24-
var user = userRepository.findByUsername(email)
24+
var user = userRepository.findByEmail(email)
2525
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
2626
return user;
2727
}
2828

2929
@Override
3030
public void createUser(UserDetails userData) {
3131
var user = new User();
32-
user.setUsername(userData.getUsername());
32+
user.setEmail(userData.getUsername());
3333
String hashedPassword = passwordEncoder.encode(userData.getPassword());
3434
user.setPassword(hashedPassword);
3535
userRepository.save(user);

src/main/java/io/hexlet/blog/util/UserUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public User getCurrentUser() {
2020
return null;
2121
}
2222
var email = authentication.getName();
23-
return userRepository.findByUsername(email).get();
23+
return userRepository.findByEmail(email).get();
2424
}
2525

2626
public User getTestUser() {
27-
return userRepository.findByUsername("[email protected]").get();
27+
return userRepository.findByEmail("[email protected]").get();
2828
}
2929
}

src/test/java/io/hexlet/blog/util/ModelGenerator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.springframework.stereotype.Component;
88

99
import io.hexlet.blog.model.Post;
10+
import io.hexlet.blog.model.User;
1011
import jakarta.annotation.PostConstruct;
1112
import lombok.Getter;
1213
import net.datafaker.Faker;
@@ -15,6 +16,7 @@
1516
@Component
1617
public class ModelGenerator {
1718
private Model<Post> postModel;
19+
private Model<User> userModel;
1820

1921
@Autowired
2022
private Faker faker;
@@ -26,6 +28,12 @@ private void init() {
2628
.supply(Select.field(Post::getName), () -> faker.gameOfThrones().house())
2729
.supply(Select.field(Post::getBody), () -> faker.gameOfThrones().quote())
2830
.toModel();
31+
32+
userModel = Instancio.of(User.class)
33+
.ignore(Select.field(Post::getId))
34+
.supply(Select.field(Post::getName), () -> faker.gameOfThrones().house())
35+
.supply(Select.field(Post::getBody), () -> faker.gameOfThrones().quote())
36+
.toModel();
2937
}
3038
}
3139

0 commit comments

Comments
 (0)