namespace Forge.Core.Models;

/// <summary>
/// Represents a git repository stored in the forge
/// </summary>
public class Repository
{
    public Guid Id { get; set; }
    public required string Name { get; set; }
    public string? Description { get; set; }
    public required string Owner { get; set; }
    public string DefaultBranch { get; set; } = "main";
    public bool IsPrivate { get; set; } = false;
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
    
    /// <summary>
    /// Relative path within the repositories root directory
    /// </summary>
    public required string Path { get; set; }
}
An unhandled error has occurred. Reload 🗙