mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-06-03 04:24:42 +00:00
35 lines
1.1 KiB
Java
35 lines
1.1 KiB
Java
package com.openisle.config;
|
|
|
|
import com.openisle.model.Role;
|
|
import com.openisle.model.User;
|
|
import com.openisle.repository.UserRepository;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.boot.CommandLineRunner;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
/**
|
|
* Ensure a dedicated "system" user exists for internal operations.
|
|
*/
|
|
@Component
|
|
@RequiredArgsConstructor
|
|
public class SystemUserInitializer implements CommandLineRunner {
|
|
private final UserRepository userRepository;
|
|
private final PasswordEncoder passwordEncoder;
|
|
|
|
@Override
|
|
public void run(String... args) {
|
|
userRepository.findByUsername("system").orElseGet(() -> {
|
|
User system = new User();
|
|
system.setUsername("system");
|
|
system.setEmail("system@openisle.local");
|
|
system.setPassword(passwordEncoder.encode("system"));
|
|
system.setRole(Role.ADMIN);
|
|
system.setVerified(true);
|
|
system.setApproved(true);
|
|
return userRepository.save(system);
|
|
});
|
|
}
|
|
}
|
|
|