FrontiersStartup.java
package edu.ucsb.cs156.frontiers.startup;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import edu.ucsb.cs156.frontiers.entities.Admin;
import edu.ucsb.cs156.frontiers.repositories.AdminRepository;
@Slf4j
@Component
public class FrontiersStartup {
// Repository for admins
@Autowired
private AdminRepository adminRepository;
@Value("${app.admin.emails}")
private String adminEmails;
public void alwaysRunOnStartup() {
log.info("AdminStartup.alwaysRunOnStartup called");
// Split the comma-separated emails and add them to the database if they don't exist
if (adminEmails != null && !adminEmails.isEmpty()) {
String[] emails = adminEmails.split(",");
for (String email : emails) {
email = email.trim();
log.info("Adding admin: {}", email);
// Check if admin already exists
if (!adminRepository.findByEmail(email).isPresent()) {
Admin admin = new Admin();
admin.setEmail(email);
adminRepository.save(admin);
log.info("Admin added: {}", email);
} else {
log.info("Admin already exists: {}", email);
}
}
}
}
}