namespace ColaFlow.Modules.Mcp.Application.DTOs;

/// <summary>
/// DTO for Diff Preview response
/// </summary>
public sealed class DiffPreviewDto
{
    public string Operation { get; set; } = null!;
    public string EntityType { get; set; } = null!;
    public Guid? EntityId { get; set; }
    public string? EntityKey { get; set; }
    public string? BeforeData { get; set; }
    public string? AfterData { get; set; }
    public List<DiffFieldDto> ChangedFields { get; set; } = new();
}

/// <summary>
/// DTO for a single field difference
/// </summary>
public sealed class DiffFieldDto
{
    public string FieldName { get; set; } = null!;
    public string DisplayName { get; set; } = null!;
    public object? OldValue { get; set; }
    public object? NewValue { get; set; }
    public string? DiffHtml { get; set; }
}
