using CMSMicroservice.Application.Common.Models;

namespace CMSMicroservice.Application.CommissionCQ.Queries.GetWorkerExecutionLogs;

public class GetWorkerExecutionLogsResponseDto
{
    public MetaData? MetaData { get; set; }
    public List<WorkerExecutionLogModel> Models { get; set; } = new();
}

public class WorkerExecutionLogModel
{
    public string ExecutionId { get; set; } = string.Empty;
    public long WeekDefinitionId { get; set; } 
    public string WeekDisplayName { get; set; } = string.Empty;
    public string Step { get; set; } = string.Empty; // "Balances" | "Pool" | "Payouts" | "Full"
    public bool Success { get; set; }
    public string? ErrorMessage { get; set; }
    public DateTime StartedAt { get; set; }
    public DateTime? CompletedAt { get; set; }
    public long DurationMs { get; set; }
    public int RecordsProcessed { get; set; }
    public string? Details { get; set; }
}
