* add ability to deep scan just a single tv show for Plex, Emby, and Jellyfin
Including "/api/libraries/{id:int}/scan-show" REST API endpoint to
trigger.
* restrict plex search results to the intended library
* restrict scanning to media server libraries that are marked to sync with etv
* fix previous commit
* also guard library scan api
* add scan buttons to show ui
* scan single plex show by id
* scan jellyfin and emby single shows by id
* update changelog
---------
Co-authored-by: Jeff Slutter <MrMustard@gmail.com>
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
85 lines
2.1 KiB
C#
85 lines
2.1 KiB
C#
using System.Xml.Serialization;
|
|
|
|
namespace ErsatzTV.Infrastructure.Plex.Models;
|
|
|
|
public class PlexMetadataResponse
|
|
{
|
|
[XmlAttribute("key")]
|
|
public string Key { get; set; }
|
|
|
|
[XmlAttribute("librarySectionKey")]
|
|
public string LibrarySectionKey { get; set; }
|
|
|
|
[XmlAttribute("title")]
|
|
public string Title { get; set; }
|
|
|
|
[XmlAttribute("contentRating")]
|
|
public string ContentRating { get; set; }
|
|
|
|
[XmlAttribute("summary")]
|
|
public string Summary { get; set; }
|
|
|
|
[XmlAttribute("year")]
|
|
public int Year { get; set; }
|
|
|
|
[XmlAttribute("tagline")]
|
|
public string Tagline { get; set; }
|
|
|
|
[XmlAttribute("thumb")]
|
|
public string Thumb { get; set; }
|
|
|
|
[XmlAttribute("art")]
|
|
public string Art { get; set; }
|
|
|
|
[XmlAttribute("originallyAvailableAt")]
|
|
public string OriginallyAvailableAt { get; set; }
|
|
|
|
[XmlAttribute("addedAt")]
|
|
public long AddedAt { get; set; }
|
|
|
|
[XmlAttribute("updatedAt")]
|
|
public long UpdatedAt { get; set; }
|
|
|
|
[XmlAttribute("index")]
|
|
public int Index { get; set; }
|
|
|
|
[XmlAttribute("studio")]
|
|
public string Studio { get; set; }
|
|
|
|
[XmlAttribute("rating")]
|
|
public double Rating { get; set; }
|
|
|
|
[XmlAttribute("audienceRating")]
|
|
public double AudienceRating { get; set; }
|
|
|
|
[XmlAttribute("audienceRatingImage")]
|
|
public string AudienceRatingImage { get; set; }
|
|
|
|
[XmlAttribute("ratingImage")]
|
|
public string RatingImage { get; set; }
|
|
|
|
[XmlIgnore]
|
|
public virtual List<PlexMediaResponse<PlexPartResponse>> Media { get; set; }
|
|
|
|
[XmlElement("Genre")]
|
|
public List<PlexGenreResponse> Genre { get; set; }
|
|
|
|
[XmlElement("Label")]
|
|
public List<PlexLabelResponse> Label { get; set; }
|
|
|
|
[XmlElement("Role")]
|
|
public List<PlexRoleResponse> Role { get; set; }
|
|
|
|
[XmlElement("Director")]
|
|
public List<PlexDirectorResponse> Director { get; set; }
|
|
|
|
[XmlElement("Writer")]
|
|
public List<PlexWriterResponse> Writer { get; set; }
|
|
|
|
[XmlElement("Collection")]
|
|
public List<PlexCollectionResponse> Collection { get; set; }
|
|
|
|
[XmlElement("Chapter")]
|
|
public List<PlexChapterResponse> Chapters { get; set; }
|
|
}
|