DataLoader.java
package com.flogin.backend.config;
import com.flogin.backend.entity.Role;
import com.flogin.backend.entity.User;
import com.flogin.backend.repository.UserRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.password.PasswordEncoder;
import java.util.Optional;
@Configuration
@Slf4j
public class DataLoader {
@Bean
CommandLineRunner initUsers(UserRepository userRepository, PasswordEncoder passwordEncoder) {
return args -> {
// Kiểm tra nếu user test chưa tồn tại
if (userRepository.findByUsername("testuser").isEmpty()) {
User testUser = User.builder()
.username("testuser")
.password(passwordEncoder.encode("Test123"))
.email("testuser@example.com")
.active(true)
.role(Role.ADMIN)
.build();
userRepository.save(testUser);
log.info("Test user created: testuser / Test123");
}
Optional<User> useropt = userRepository.findByUsername("testuser");
User user = useropt.get();
if (user.getRole() == null) {
user.setRole(Role.ADMIN);
userRepository.save(user);
}
};
}
}