namespace ErsatzTV.Core.Domain;
public class LibraryFolder
{
public int Id { get; set; }
public string Path { get; set; }
///
/// SHA-256 hex of (), the
/// indexable stand-in for the unbounded column that backs the unique
/// (LibraryPathId, PathHash) constraint — the same shape as MediaFile.PathHash.
/// Nullable: rows created before ersatztv#491 carry null until a scan heals them, and a
/// unique index treats nulls as distinct so those legacy rows never collide.
///
public string PathHash { get; set; }
public int LibraryPathId { get; set; }
public LibraryPath LibraryPath { get; set; }
public int? ParentId { get; set; }
public LibraryFolder Parent { get; set; }
public ICollection Children { get; set; }
public ICollection MediaFiles { get; set; }
public ImageFolderDuration ImageFolderDuration { get; set; }
public string Etag { get; set; }
}