Data2025/src/main/java/de/ph87/data/series/SeriesService.java

39 lines
1.2 KiB
Java

package de.ph87.data.series;
import de.ph87.data.series.data.bool.BoolService;
import de.ph87.data.series.data.delta.DeltaService;
import de.ph87.data.series.data.varying.VaryingService;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.web.server.ResponseStatusException;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class SeriesService {
private final SeriesRepository seriesRepository;
private final BoolService boolService;
private final DeltaService deltaService;
private final VaryingService varyingService;
@NonNull
public List<? extends SeriesPoint> points(@NonNull final SeriesPointsRequest request) {
final Series series = seriesRepository.findById(request.id).orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));
return switch (series.getType()) {
case BOOL -> boolService.points(series, request);
case DELTA -> deltaService.points(series, request);
case VARYING -> varyingService.points(series, request);
};
}
}