using System.Diagnostics.CodeAnalysis;

namespace ErsatzTV.Core.Domain;

[SuppressMessage("Naming", "CA1711:Identifiers should not have incorrect suffix")]
public class SmartCollection
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Query { get; set; }
    public List<MultiCollection> MultiCollections { get; set; }
    public List<MultiCollectionSmartItem> MultiCollectionSmartItems { get; set; }

    /// <summary>
    ///     When non-null, this is a system-owned artifact created for an auto-tune weighted channel (#425):
    ///     one per-content-source SmartCollection (or the catch-all remainder) inside that channel's
    ///     MultiCollection. Hidden from the user-facing collection lists and deleted when the channel is
    ///     deleted. Null for every user-created smart collection.
    /// </summary>
    public int? OwnedByChannelId { get; set; }
}
