namespace MarketAlly.GitCommitEditor.Models; public sealed class RewriteOperation { public string Id { get; init; } = Guid.NewGuid().ToString("N")[..12]; public required string RepoId { get; init; } public required string RepoPath { get; init; } public required string CommitHash { get; init; } public required string OriginalMessage { get; init; } public required string NewMessage { get; init; } public string? NewCommitHash { get; set; } public DateTimeOffset CreatedAt { get; init; } = DateTimeOffset.UtcNow; public DateTimeOffset? AppliedAt { get; set; } public OperationStatus Status { get; set; } = OperationStatus.Pending; public string? ErrorMessage { get; set; } public bool IsLatestCommit { get; init; } }