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; }
}
}