package org.github.tess1o.geopulse.weather.dto;

import lombok.*;
import org.github.tess1o.geopulse.integration.dto.ExternalIntegrationHealthDto;

import java.time.Instant;
import java.util.Map;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WeatherStatusResponse {
    private boolean enabled;
    private boolean configured;
    private String provider;
    private int dailyRequestLimit;
    private int ongoingReserve;
    private long requestsUsedToday;
    private long requestsRemainingToday;
    private Map<String, Long> targetsByStatus;
    private long claimablePendingTargets;
    private String fetchBlockedReason;
    private Instant oldestPendingTargetAt;
    private Instant newestPendingTargetAt;
    private WeatherReconciliationStatus reconciliation;
    private WeatherProcessingStatus processing;
    private Instant lastCompletedAt;
    private ExternalIntegrationHealthDto providerHealth;
}
