Files
gitcommiteditor/Models/CommitAnalysis.cs

24 lines
1.1 KiB
C#

namespace MarketAlly.GitCommitEditor.Models;
public sealed class CommitAnalysis
{
public required string RepoId { get; init; }
public required string RepoName { get; init; }
public required string RepoPath { get; init; }
public required string CommitHash { get; init; }
public string ShortHash => CommitHash.Length >= 7 ? CommitHash[..7] : CommitHash;
public required string OriginalMessage { get; init; }
public string? SuggestedMessage { get; set; }
public required DateTimeOffset CommitDate { get; init; }
public required string Author { get; init; }
public required string AuthorEmail { get; init; }
public required MessageQualityScore Quality { get; init; }
public IReadOnlyList<string> FilesChanged { get; init; } = [];
public string? DiffSummary { get; init; }
public IReadOnlyDictionary<string, string> FileDiffs { get; init; } = new Dictionary<string, string>();
public int LinesAdded { get; init; }
public int LinesDeleted { get; init; }
public AnalysisStatus Status { get; set; } = AnalysisStatus.Pending;
public bool IsLatestCommit { get; init; }
}