using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Lactose.Models;

/// <summary>
/// Represents a folder with an ID, base path, and active status.
/// </summary>
public class Folder {
    /// <summary>
    /// Gets or sets the unique identifier for the folder.
    /// </summary>
    [Key]
    public Guid Id { get; set; }
    
    /// <summary>
    /// Gets or sets the base path of the folder.
    /// </summary>
    [Required][Column(TypeName = "VARCHAR(2048)")]
    public string BasePath { get; set; } = string.Empty;
    
    /// <summary>
    /// Gets or sets a value indicating whether the folder is active.
    /// </summary>
    [Required]
    public bool Active { get; set; }

    #region Navigation Properties

    public List<Asset>? Assets { get; set; }

    #endregion
}
