namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.Instance;

/// <summary>
/// Batch request to get multiple attribute values from an Instance Actor.
/// Used by Route.To().GetAttributes() in Inbound API.
/// </summary>
public record GetAttributesBatchRequest(
    string CorrelationId,
    string InstanceUniqueName,
    IReadOnlyList<string> AttributeNames,
    DateTimeOffset Timestamp);

/// <summary>
/// Batch response containing multiple attribute values.
/// </summary>
public record GetAttributesBatchResponse(
    string CorrelationId,
    string InstanceUniqueName,
    IReadOnlyDictionary<string, object?> Values,
    bool Success,
    string? ErrorMessage,
    DateTimeOffset Timestamp);
