mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-27 11:14:47 +03:00
Fix Json serialization error
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
@@ -25,7 +26,6 @@ using MediaBrowser.Model.Library;
|
||||
using MediaBrowser.Model.LiveTv;
|
||||
using MediaBrowser.Model.MediaInfo;
|
||||
using MediaBrowser.Model.Providers;
|
||||
using MediaBrowser.Model.Serialization;
|
||||
using MediaBrowser.Model.Users;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// The supported image extensions
|
||||
/// </summary>
|
||||
public static readonly string[] SupportedImageExtensions
|
||||
= new [] { ".png", ".jpg", ".jpeg", ".tbn", ".gif" };
|
||||
= new[] { ".png", ".jpg", ".jpeg", ".tbn", ".gif" };
|
||||
|
||||
private static readonly List<string> _supportedExtensions = new List<string>(SupportedImageExtensions)
|
||||
{
|
||||
@@ -98,62 +98,62 @@ namespace MediaBrowser.Controller.Entities
|
||||
SampleFolderName
|
||||
};
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid[] ThemeSongIds { get; set; }
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid[] ThemeVideoIds { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string PreferredMetadataCountryCode { get; set; }
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string PreferredMetadataLanguage { get; set; }
|
||||
|
||||
public long? Size { get; set; }
|
||||
public string Container { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string Tagline { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual ItemImageInfo[] ImageInfos { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsVirtualItem { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the album.
|
||||
/// </summary>
|
||||
/// <value>The album.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string Album { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the channel identifier.
|
||||
/// </summary>
|
||||
/// <value>The channel identifier.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid ChannelId { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsAddingToPlaylist => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool AlwaysScanInternalMetadataPath => false;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether this instance is in mixed folder.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if this instance is in mixed folder; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsInMixedFolder { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsPlayedStatus => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsPositionTicksResume => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsRemoteImageDownloading => true;
|
||||
|
||||
private string _name;
|
||||
@@ -161,7 +161,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the name.
|
||||
/// </summary>
|
||||
/// <value>The name.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string Name
|
||||
{
|
||||
get => _name;
|
||||
@@ -174,35 +174,35 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsUnaired => PremiereDate.HasValue && PremiereDate.Value.ToLocalTime().Date >= DateTime.Now.Date;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public int? TotalBitrate { get; set; }
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public ExtraType? ExtraType { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsThemeMedia => ExtraType.HasValue && (ExtraType.Value == Model.Entities.ExtraType.ThemeSong || ExtraType.Value == Model.Entities.ExtraType.ThemeVideo);
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string OriginalTitle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the id.
|
||||
/// </summary>
|
||||
/// <value>The id.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid OwnerId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the audio.
|
||||
/// </summary>
|
||||
/// <value>The audio.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public ProgramAudio? Audio { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -210,7 +210,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Default is based on the type for everything except actual generic folders.
|
||||
/// </summary>
|
||||
/// <value>The display prefs id.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual Guid DisplayPreferencesId
|
||||
{
|
||||
get
|
||||
@@ -224,10 +224,10 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the path.
|
||||
/// </summary>
|
||||
/// <value>The path.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string Path { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual SourceType SourceType
|
||||
{
|
||||
get
|
||||
@@ -245,7 +245,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Returns the folder containing the item.
|
||||
/// If the item is a folder, it returns the folder itself
|
||||
/// </summary>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string ContainingFolderPath
|
||||
{
|
||||
get
|
||||
@@ -263,26 +263,26 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the name of the service.
|
||||
/// </summary>
|
||||
/// <value>The name of the service.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string ServiceName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If this content came from an external service, the id of the content on that service
|
||||
/// </summary>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string ExternalId { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string ExternalSeriesId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the etag.
|
||||
/// </summary>
|
||||
/// <value>The etag.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string ExternalEtag { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool IsHidden => false;
|
||||
|
||||
public BaseItem GetOwner()
|
||||
@@ -295,7 +295,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the type of the location.
|
||||
/// </summary>
|
||||
/// <value>The type of the location.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual LocationType LocationType
|
||||
{
|
||||
get
|
||||
@@ -320,7 +320,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public MediaProtocol? PathProtocol
|
||||
{
|
||||
get
|
||||
@@ -343,13 +343,13 @@ namespace MediaBrowser.Controller.Entities
|
||||
return current.HasValue && current.Value == protocol;
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsFileProtocol => IsPathProtocol(MediaProtocol.File);
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool HasPathProtocol => PathProtocol.HasValue;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsLocalMetadata
|
||||
{
|
||||
get
|
||||
@@ -363,7 +363,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string FileNameWithoutExtension
|
||||
{
|
||||
get
|
||||
@@ -377,7 +377,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool EnableAlphaNumericSorting => true;
|
||||
|
||||
private List<Tuple<StringBuilder, bool>> GetSortChunks(string s1)
|
||||
@@ -418,7 +418,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// This is just a helper for convenience
|
||||
/// </summary>
|
||||
/// <value>The primary image path.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string PrimaryImagePath => this.GetImagePath(ImageType.Primary);
|
||||
|
||||
public bool IsMetadataFetcherEnabled(LibraryOptions libraryOptions, string name)
|
||||
@@ -544,20 +544,20 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the date created.
|
||||
/// </summary>
|
||||
/// <value>The date created.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime DateCreated { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the date modified.
|
||||
/// </summary>
|
||||
/// <value>The date modified.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime DateModified { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime DateLastSaved { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime DateLastRefreshed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -583,24 +583,24 @@ namespace MediaBrowser.Controller.Entities
|
||||
return Name;
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool IsLocked { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the locked fields.
|
||||
/// </summary>
|
||||
/// <value>The locked fields.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public MetadataFields[] LockedFields { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of the media.
|
||||
/// </summary>
|
||||
/// <value>The type of the media.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string MediaType => null;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual string[] PhysicalLocations
|
||||
{
|
||||
get
|
||||
@@ -619,7 +619,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the name of the forced sort.
|
||||
/// </summary>
|
||||
/// <value>The name of the forced sort.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string ForcedSortName
|
||||
{
|
||||
get => _forcedSortName;
|
||||
@@ -631,7 +631,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets the name of the sort.
|
||||
/// </summary>
|
||||
/// <value>The name of the sort.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string SortName
|
||||
{
|
||||
get
|
||||
@@ -744,7 +744,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return builder.ToString().RemoveDiacritics();
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public bool EnableMediaSourceDisplay
|
||||
{
|
||||
get
|
||||
@@ -758,14 +758,14 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Guid ParentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the parent.
|
||||
/// </summary>
|
||||
/// <value>The parent.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Folder Parent
|
||||
{
|
||||
get => GetParent() as Folder;
|
||||
@@ -822,7 +822,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual Guid DisplayParentId
|
||||
{
|
||||
get
|
||||
@@ -832,7 +832,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public BaseItem DisplayParent
|
||||
{
|
||||
get
|
||||
@@ -850,97 +850,97 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// When the item first debuted. For movies this could be premiere date, episodes would be first aired
|
||||
/// </summary>
|
||||
/// <value>The premiere date.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime? PremiereDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the end date.
|
||||
/// </summary>
|
||||
/// <value>The end date.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public DateTime? EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the official rating.
|
||||
/// </summary>
|
||||
/// <value>The official rating.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string OfficialRating { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public int InheritedParentalRatingValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the critic rating.
|
||||
/// </summary>
|
||||
/// <value>The critic rating.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public float? CriticRating { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the custom rating.
|
||||
/// </summary>
|
||||
/// <value>The custom rating.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string CustomRating { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the overview.
|
||||
/// </summary>
|
||||
/// <value>The overview.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string Overview { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the studios.
|
||||
/// </summary>
|
||||
/// <value>The studios.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string[] Studios { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the genres.
|
||||
/// </summary>
|
||||
/// <value>The genres.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string[] Genres { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the tags.
|
||||
/// </summary>
|
||||
/// <value>The tags.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string[] Tags { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string[] ProductionLocations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the home page URL.
|
||||
/// </summary>
|
||||
/// <value>The home page URL.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string HomePageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the community rating.
|
||||
/// </summary>
|
||||
/// <value>The community rating.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public float? CommunityRating { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the run time ticks.
|
||||
/// </summary>
|
||||
/// <value>The run time ticks.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public long? RunTimeTicks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the production year.
|
||||
/// </summary>
|
||||
/// <value>The production year.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public int? ProductionYear { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -948,20 +948,20 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// This could be episode number, album track number, etc.
|
||||
/// </summary>
|
||||
/// <value>The index number.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public int? IndexNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// For an episode this could be the season number, or for a song this could be the disc number.
|
||||
/// </summary>
|
||||
/// <value>The parent index number.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public int? ParentIndexNumber { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool HasLocalAlternateVersions => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string OfficialRatingForComparison
|
||||
{
|
||||
get
|
||||
@@ -982,7 +982,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string CustomRatingForComparison
|
||||
{
|
||||
get
|
||||
@@ -1407,13 +1407,13 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
protected virtual bool SupportsOwnedItems => !ParentId.Equals(Guid.Empty) && IsFileProtocol;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsPeople => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsThemeMedia => false;
|
||||
|
||||
/// <summary>
|
||||
@@ -1613,10 +1613,10 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets or sets the provider ids.
|
||||
/// </summary>
|
||||
/// <value>The provider ids.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public Dictionary<string, string> ProviderIds { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual Folder LatestItemsIndexContainer => null;
|
||||
|
||||
public virtual double GetDefaultPrimaryImageAspectRatio()
|
||||
@@ -1629,7 +1629,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return Id.ToString("N", CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public string PresentationUniqueKey { get; set; }
|
||||
|
||||
public string GetPresentationUniqueKey()
|
||||
@@ -1934,7 +1934,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return IsVisibleStandaloneInternal(user, true);
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsInheritedParentImages => false;
|
||||
|
||||
protected bool IsVisibleStandaloneInternal(User user, bool checkFolders)
|
||||
@@ -1977,10 +1977,10 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Gets a value indicating whether this instance is folder.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if this instance is folder; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool IsFolder => false;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool IsDisplayedAsFolder => false;
|
||||
|
||||
public virtual string GetClientTypeName()
|
||||
@@ -2066,7 +2066,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool EnableRememberingTrackSelections => true;
|
||||
|
||||
/// <summary>
|
||||
@@ -2776,7 +2776,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool IsTopParent
|
||||
{
|
||||
get
|
||||
@@ -2804,10 +2804,10 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool SupportsAncestors => true;
|
||||
|
||||
[IgnoreDataMember]
|
||||
[JsonIgnore]
|
||||
public virtual bool StopRefreshIfLocalMetadataFound => true;
|
||||
|
||||
public virtual IEnumerable<Guid> GetIdsForAncestorQuery()
|
||||
|
||||
Reference in New Issue
Block a user