Fixed some stuff
This commit is contained in:
@@ -9,6 +9,7 @@ import com.rit.canteen.sales.repository.ProductRepository;
|
||||
import com.rit.canteen.sales.repository.StallRepository;
|
||||
import com.rit.canteen.sales.repository.SystemUserRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
@@ -39,6 +40,12 @@ public class DatabaseSeeder implements CommandLineRunner {
|
||||
@Autowired
|
||||
private JdbcTemplate jdbcTemplate;
|
||||
|
||||
@Value("${app.master.username:admin}")
|
||||
private String masterUsername;
|
||||
|
||||
@Value("${app.master.password:admin}")
|
||||
private String masterPassword;
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
repairStallsSchema();
|
||||
@@ -294,19 +301,29 @@ public class DatabaseSeeder implements CommandLineRunner {
|
||||
}
|
||||
|
||||
private void seedMasterUser() {
|
||||
Optional<SystemUser> existingAdmin = systemUserRepository.findByEmail("admin");
|
||||
String targetUsername = (masterUsername != null && !masterUsername.isBlank()) ? masterUsername : "admin";
|
||||
String targetPassword = (masterPassword != null && !masterPassword.isBlank()) ? masterPassword : "admin";
|
||||
|
||||
Optional<SystemUser> existingAdmin = systemUserRepository.findByEmail(targetUsername);
|
||||
if (existingAdmin.isEmpty()) {
|
||||
SystemUser admin = new SystemUser();
|
||||
admin.setName("Admin Master");
|
||||
admin.setEmail("admin");
|
||||
admin.setPassword(passwordEncoder.encode("admin"));
|
||||
admin.setEmail(targetUsername);
|
||||
admin.setPassword(passwordEncoder.encode(targetPassword));
|
||||
admin.setRole("MASTER");
|
||||
admin.setPermissions(List.of("dashboard", "sale", "customers", "purchases", "inventory", "expense", "reports", "stores", "table", "wallet", "promotions", "feedback"));
|
||||
admin.setViewOnly(false);
|
||||
systemUserRepository.save(admin);
|
||||
System.out.println(">>> SEEDED ADMIN MASTER USER (username: admin, password: admin)");
|
||||
System.out.println(">>> SEEDED ADMIN MASTER USER (username: " + targetUsername + ")");
|
||||
} else {
|
||||
System.out.println(">>> ADMIN MASTER USER EXISTS. Skipping admin user creation.");
|
||||
SystemUser admin = existingAdmin.get();
|
||||
admin.setPassword(passwordEncoder.encode(targetPassword));
|
||||
admin.setRole("MASTER");
|
||||
if (admin.getPermissions() == null || admin.getPermissions().isEmpty()) {
|
||||
admin.setPermissions(List.of("dashboard", "sale", "customers", "purchases", "inventory", "expense", "reports", "stores", "table", "wallet", "promotions", "feedback"));
|
||||
}
|
||||
systemUserRepository.save(admin);
|
||||
System.out.println(">>> VERIFIED & UPDATED ADMIN MASTER USER credentials for: " + targetUsername);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user