23 lines
1.1 KiB
C#
23 lines
1.1 KiB
C#
namespace ControlPlane.Core.Models;
|
|
|
|
public enum PromotionStatus { Pending, Running, Succeeded, Failed }
|
|
|
|
/// <summary>
|
|
/// Represents a request to promote (merge) one environment branch into the next.
|
|
/// e.g. develop → staging, staging → uat, uat → main
|
|
/// </summary>
|
|
public class PromotionRequest
|
|
{
|
|
public string Id { get; set; } = Guid.NewGuid().ToString("N")[..8];
|
|
public string FromBranch { get; set; } = string.Empty;
|
|
public string ToBranch { get; set; } = string.Empty;
|
|
public string RequestedBy { get; set; } = "system";
|
|
public string? Note { get; set; }
|
|
public PromotionStatus Status { get; set; } = PromotionStatus.Pending;
|
|
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
|
public DateTimeOffset? CompletedAt { get; set; }
|
|
public List<string> Log { get; set; } = [];
|
|
public int CommitCount { get; set; } // commits in from that are not in to
|
|
public string[] CommitLines { get; set; } = []; // oneline summary of those commits
|
|
}
|