using System.Text.Json.Serialization; namespace StabilityMatrix.Core.Models; public class InstalledPackageVersion { public string? InstalledReleaseVersion { get; set; } public string? InstalledBranch { get; set; } public string? InstalledCommitSha { get; set; } public bool IsPrerelease { get; set; } [JsonIgnore] public bool IsReleaseMode => string.IsNullOrWhiteSpace(InstalledBranch); [JsonIgnore] public string DisplayVersion => ( IsReleaseMode ? InstalledReleaseVersion : string.IsNullOrWhiteSpace(InstalledCommitSha) ? InstalledBranch : $"{InstalledBranch}@{InstalledCommitSha[..7]}" ) ?? string.Empty; }