Fixed some stuff

This commit is contained in:
Sidharth Prabhu
2026-08-03 10:57:17 +05:30
parent 6b3714f2bc
commit 9f419a2503

View File

@@ -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);
}
}
}