65 lines
1.8 KiB
Java
65 lines
1.8 KiB
Java
package zw.qantra.tm.seeders;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import jakarta.annotation.PostConstruct;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
/**
|
|
* Orchestrates all seeders in the correct priority order matching
|
|
* ConfigController.seedLiveConfig() execution sequence:
|
|
* <p>
|
|
* 1. PaymentProcessorSeeder
|
|
* 2. IntegrationProcessorSeeder
|
|
* 3. CategorySeeder
|
|
* 4. ProviderSeeder
|
|
* 5. ChargeConditionSeeder
|
|
* 6. ChargeSeeder
|
|
* 7. SettingSeeder
|
|
*/
|
|
@Slf4j
|
|
@Configuration
|
|
@RequiredArgsConstructor
|
|
public class LiveConfigSeeder {
|
|
|
|
private final PaymentProcessorSeeder paymentProcessorSeeder;
|
|
private final IntegrationProcessorSeeder integrationProcessorSeeder;
|
|
private final CategorySeeder categorySeeder;
|
|
private final ProviderSeeder providerSeeder;
|
|
private final ChargeConditionSeeder chargeConditionSeeder;
|
|
private final ChargeSeeder chargeSeeder;
|
|
private final SettingSeeder settingSeeder;
|
|
|
|
/**
|
|
* Runs all seeders in the correct priority order.
|
|
* This method is idempotent and can be called multiple times.
|
|
*/
|
|
@PostConstruct
|
|
public void seedAll() {
|
|
log.info("Starting live configuration seeding...");
|
|
|
|
log.info("Seeding Payment Processors...");
|
|
paymentProcessorSeeder.seed();
|
|
|
|
log.info("Seeding Integration Processors...");
|
|
integrationProcessorSeeder.seed();
|
|
|
|
log.info("Seeding Categories...");
|
|
categorySeeder.seed();
|
|
|
|
log.info("Seeding Providers...");
|
|
providerSeeder.seed();
|
|
|
|
log.info("Seeding Charge Conditions...");
|
|
chargeConditionSeeder.seed();
|
|
|
|
log.info("Seeding Charges...");
|
|
chargeSeeder.seed();
|
|
|
|
log.info("Seeding Settings...");
|
|
settingSeeder.seed();
|
|
|
|
log.info("Live configuration seeding complete.");
|
|
}
|
|
} |