package com.sshmanager.config; import com.sshmanager.entity.User; import com.sshmanager.repository.UserRepository; import org.springframework.boot.CommandLineRunner; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Component; import java.time.Instant; @Component public class DataInitializer implements CommandLineRunner { private final UserRepository userRepository; private final PasswordEncoder passwordEncoder; public DataInitializer(UserRepository userRepository, PasswordEncoder passwordEncoder) { this.userRepository = userRepository; this.passwordEncoder = passwordEncoder; } @Override public void run(String... args) { if (userRepository.count() == 0) { User admin = new User(); admin.setUsername("admin"); admin.setPasswordHash(passwordEncoder.encode("admin123")); admin.setDisplayName("Administrator"); admin.setPasswordChangedAt(Instant.now()); userRepository.save(admin); } } }