using System; using System.Collections; using System.Collections.Generic; using API.Entities.Enums; namespace API.DTOs; #nullable enable public class LibraryDto { public int Id { get; init; } public string? Name { get; init; } /// /// Last time Library was scanned /// public DateTime LastScanned { get; init; } public LibraryType Type { get; init; } /// /// An optional Cover Image or null /// public string? CoverImage { get; init; } /// /// If Folder Watching is enabled for this library /// public bool FolderWatching { get; set; } = true; /// /// Include Library series on Dashboard Streams /// public bool IncludeInDashboard { get; set; } = true; /// /// Include Library series on Recommended Streams /// public bool IncludeInRecommended { get; set; } = true; /// /// Should this library create and manage collections from Metadata /// public bool ManageCollections { get; set; } = true; /// /// Should this library create and manage reading lists from Metadata /// public bool ManageReadingLists { get; set; } = true; /// /// Include library series in Search /// public bool IncludeInSearch { get; set; } = true; /// /// Should this library allow Scrobble events to emit from it /// /// Scrobbling requires a valid LicenseKey public bool AllowScrobbling { get; set; } = true; public ICollection Folders { get; init; } = new List(); /// /// When showing series, only parent series or series with no relationships will be returned /// public bool CollapseSeriesRelationships { get; set; } = false; /// /// The types of file type groups the library will scan for /// public ICollection LibraryFileTypes { get; set; } /// /// A set of globs that will exclude matching content from being scanned /// public ICollection ExcludePatterns { get; set; } }