36 lines
1.0 KiB
Java
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()));
|
|
}
|
|
}
|
|
}
|