namespace ScadaLink.Commons.Messages.RemoteQuery;

/// <summary>
/// A single event log entry returned from a site query.
/// </summary>
public record EventLogEntry(
    long Id,
    DateTimeOffset Timestamp,
    string EventType,
    string Severity,
    string? InstanceId,
    string Source,
    string Message,
    string? Details);

/// <summary>
/// Response containing paginated event log entries from a site.
/// Uses keyset pagination: ContinuationToken is the last event ID in the result set.
/// </summary>
public record EventLogQueryResponse(
    string CorrelationId,
    string SiteId,
    IReadOnlyList<EventLogEntry> Entries,
    long? ContinuationToken,
    bool HasMore,
    bool Success,
    string? ErrorMessage,
    DateTimeOffset Timestamp);
