TraceServiceConfig.java
package fr.avenirsesr.portfolio.trace.infrastructure.adapter.service;
import fr.avenirsesr.portfolio.configuration.domain.port.input.ConfigurationService;
import fr.avenirsesr.portfolio.student.progress.infrastructure.adapter.repository.StudentProgressDatabaseRepository;
import fr.avenirsesr.portfolio.trace.domain.port.input.TraceService;
import fr.avenirsesr.portfolio.trace.domain.service.TraceServiceImpl;
import fr.avenirsesr.portfolio.trace.infrastructure.adapter.repository.TraceDatabaseRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TraceServiceConfig {
private final TraceDatabaseRepository traceRepository;
private final StudentProgressDatabaseRepository studentProgressRepository;
private final ConfigurationService configurationService;
public TraceServiceConfig(
TraceDatabaseRepository traceRepository,
StudentProgressDatabaseRepository studentProgressRepository,
ConfigurationService configurationService) {
this.traceRepository = traceRepository;
this.studentProgressRepository = studentProgressRepository;
this.configurationService = configurationService;
}
@Bean
public TraceService traceService() {
return new TraceServiceImpl(traceRepository, studentProgressRepository, configurationService);
}
}