package at.procon.eventhub.processing.dto;

import at.procon.eventhub.processing.model.UnifiedDiscoveredVehicleRef;
import at.procon.eventhub.processing.model.UnifiedRuntimeProcessingRequest;
import at.procon.eventhub.tachographfilesession.dto.TachographEsperDriverProcessingResultDto;
import java.util.List;

public record UnifiedRuntimeDerivedProjectionResultDto(
        UnifiedRuntimeProcessingRequest request,
        int driverSeedEventCount,
        int discoveredVehicleCount,
        int expandedVehicleEventCount,
        int mergedEventCount,
        List<UnifiedDiscoveredVehicleRef> discoveredVehicles,
        TachographEsperDriverProcessingResultDto projection,
        List<String> notes
) {
    public UnifiedRuntimeDerivedProjectionResultDto {
        discoveredVehicles = discoveredVehicles == null ? List.of() : List.copyOf(discoveredVehicles);
        notes = notes == null ? List.of() : List.copyOf(notes);
    }
}
