using System;
using System.Collections.Generic;
using API.Entities.Enums;
namespace API.DTOs;
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;
}