44 lines
1.4 KiB
Java

package com.magamochi.ingestion.service;
import static java.util.Objects.nonNull;
import com.magamochi.ingestion.model.dto.ProviderListDTO;
import com.magamochi.ingestion.model.entity.Provider;
import com.magamochi.ingestion.model.enumeration.ProviderStatus;
import com.magamochi.ingestion.model.repository.ProviderRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class ProviderService {
private final ProviderRepository providerRepository;
public ProviderListDTO getProviders(Boolean manualImport) {
var providers = providerRepository.findAll();
if (nonNull(manualImport) && manualImport) {
providers = providers.stream().filter(Provider::getManualImport).toList();
}
return ProviderListDTO.from(providers);
}
public Provider getOrCreateProvider(String providerName) {
return getOrCreateProvider(providerName, true);
}
public Provider getOrCreateProvider(String providerName, Boolean supportsChapterFetch) {
return providerRepository
.findByNameIgnoreCase(providerName)
.orElseGet(
() ->
providerRepository.save(
Provider.builder()
.name(providerName)
.status(ProviderStatus.ACTIVE)
.supportsChapterFetch(supportsChapterFetch)
.build()));
}
}