Home/src/main/java/de/ph87/home/varying/VaryingValueService.java

46 lines
1.8 KiB
Java

package de.ph87.home.varying;
import de.ph87.home.point.PointRequest;
import de.ph87.home.series.SeriesDto;
import de.ph87.home.varying.day.VaryingDayRepository;
import de.ph87.home.varying.five.VaryingFiveRepository;
import de.ph87.home.varying.hour.VaryingHourRepository;
import de.ph87.home.varying.month.VaryingMonthRepository;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class VaryingValueService {
private final VaryingFiveRepository varyingFiveRepository;
private final VaryingHourRepository varyingHourRepository;
private final VaryingDayRepository varyingDayRepository;
private final de.ph87.home.varying.week.VaryingWeekRepository varyingWeekRepository;
private final VaryingMonthRepository varyingMonthRepository;
private final de.ph87.home.varying.year.VaryingYearRepository varyingYearRepository;
@NonNull
public List<VaryingPoint> points(@NonNull final SeriesDto series, @NonNull final PointRequest request) {
return switch (request.getInner()) {
case FIVE -> varyingFiveRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
case HOUR -> varyingHourRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
case DAY -> varyingDayRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
case WEEK -> varyingWeekRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
case MONTH -> varyingMonthRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
case YEAR -> varyingYearRepository.points(series.id, request.beginIncluding.date, request.endIncluding.date);
};
}
}