namespace ColaFlow.Modules.Mcp.Application.DTOs.Notifications;

/// <summary>
/// Notification sent when a PendingChange is approved and executed
/// </summary>
public sealed record PendingChangeApprovedNotification : PendingChangeNotification
{
    /// <summary>
    /// Type of entity that was changed
    /// </summary>
    public required string EntityType { get; init; }

    /// <summary>
    /// Operation that was performed
    /// </summary>
    public required string Operation { get; init; }

    /// <summary>
    /// ID of the entity that was created/updated (if applicable)
    /// </summary>
    public Guid? EntityId { get; init; }

    /// <summary>
    /// ID of the user who approved the change
    /// </summary>
    public required Guid ApprovedBy { get; init; }

    /// <summary>
    /// Result of executing the change (e.g., "Epic created: {id} - {name}")
    /// </summary>
    public string? ExecutionResult { get; init; }
}
