39 lines
1.2 KiB
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);
|
|
};
|
|
}
|
|
|
|
}
|