using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using API.Entities;
using API.Entities.Enums;
namespace API.DTOs;
public sealed record UpdateLibraryDto
{
[Required]
public int Id { get; init; }
///
[Required]
public required string Name { get; init; }
///
[Required]
public LibraryType Type { get; set; }
///
[Required]
public required IEnumerable Folders { get; init; }
///
[Required]
public bool FolderWatching { get; init; }
///
[Required]
public bool IncludeInDashboard { get; init; }
///
[Required]
public bool IncludeInSearch { get; init; }
///
[Required]
public bool ManageCollections { get; init; }
///
[Required]
public bool ManageReadingLists { get; init; }
///
[Required]
public bool AllowScrobbling { get; init; }
///
[Required]
public bool AllowMetadataMatching { get; init; }
///
[Required]
public bool EnableMetadata { get; init; }
///
[Required]
public bool RemovePrefixForSortName { get; init; }
///
[Required]
public bool InheritWebLinksFromFirstChapter { get; init; }
///
public string DefaultLanguage { get; init; }
///
/// What types of files to allow the scanner to pickup
///
[Required]
public ICollection FileGroupTypes { get; init; }
///
/// A set of Glob patterns that the scanner will exclude processing
///
[Required]
public ICollection ExcludePatterns { get; init; }
}