// Kyoo - A portable and vast media library solution. // Copyright (c) Kyoo. // // See AUTHORS.md and LICENSE file in the project root for full license information. // // Kyoo is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // Kyoo is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Kyoo. If not, see . using System; using System.Collections.Generic; using Kyoo.Abstractions.Models.Attributes; namespace Kyoo.Abstractions.Models { /// /// A class representing collections of . /// A collection can also be stored in a . /// public class Collection : IResource, IMetadata, IThumbnails { /// public int ID { get; set; } /// public string Slug { get; set; } /// /// The name of this collection. /// public string Name { get; set; } /// public Dictionary Images { get; set; } /// /// The path of this poster. /// By default, the http path for this poster is returned from the public API. /// This can be disabled using the internal query flag. /// [SerializeAs("{HOST}/api/collection/{Slug}/poster")] [Obsolete("Use Images instead of this, this is only kept for the API response.")] public string Poster => Images?.GetValueOrDefault(Models.Images.Poster); /// /// The description of this collection. /// public string Overview { get; set; } /// /// The list of shows contained in this collection. /// [LoadableRelation] public ICollection Shows { get; set; } /// /// The list of libraries that contains this collection. /// [LoadableRelation] public ICollection Libraries { get; set; } /// [EditableRelation] [LoadableRelation] public ICollection ExternalIDs { get; set; } } }