Files
isdojp-lab/src/main/java/ru/lionarius/isdojplab/rest/UserEventHandler.java
2024-12-09 13:39:53 +03:00

36 lines
1.0 KiB
Java

package ru.lionarius.isdojplab.rest;
import org.springframework.data.rest.core.annotation.HandleBeforeCreate;
import org.springframework.data.rest.core.annotation.HandleBeforeSave;
import org.springframework.data.rest.core.annotation.RepositoryEventHandler;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
import ru.lionarius.isdojplab.model.User;
@Component
@RepositoryEventHandler
public class UserEventHandler {
private final PasswordEncoder passwordEncoder;
public UserEventHandler(PasswordEncoder passwordEncoder) {
this.passwordEncoder = passwordEncoder;
}
@HandleBeforeCreate
public void handleBeforeCreate(User user) {
encodePassword(user);
}
@HandleBeforeSave
public void handleBeforeSave(User user) {
encodePassword(user);
}
private void encodePassword(User user) {
if (user.getPassword() != null) {
user.setPassword(passwordEncoder.encode(user.getPassword()));
}
}
}