ConfigurationDatabaseRepository.java
package fr.avenirsesr.portfolio.api.infrastructure.adapter.repository;
import fr.avenirsesr.portfolio.api.domain.model.Configuration;
import fr.avenirsesr.portfolio.api.domain.model.enums.EConfiguration;
import fr.avenirsesr.portfolio.api.domain.port.output.repository.ConfigurationRepository;
import fr.avenirsesr.portfolio.api.infrastructure.adapter.mapper.ConfigurationMapper;
import fr.avenirsesr.portfolio.api.infrastructure.adapter.model.ConfigurationEntity;
import fr.avenirsesr.portfolio.api.infrastructure.adapter.specification.ConfigurationSpecification;
import java.util.Arrays;
import java.util.List;
import org.springframework.stereotype.Component;
@Component
public class ConfigurationDatabaseRepository
extends GenericJpaRepositoryAdapter<Configuration, ConfigurationEntity>
implements ConfigurationRepository {
public ConfigurationDatabaseRepository(ConfigurationJpaRepository jpaRepository) {
super(
jpaRepository,
jpaRepository,
ConfigurationMapper::fromDomain,
ConfigurationMapper::toDomain);
}
@Override
public List<ConfigurationEntity> getTraceConfiguration() {
return jpaSpecificationExecutor.findAll(
ConfigurationSpecification.byAnyName(Arrays.stream(EConfiguration.values()).toList()));
}
}