mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
Merge pull request #1965 from Bond-009/dbjson
Deserialize with the correct type (and warning fixes)
This commit is contained in:
commit
f51f59d675
@ -3,10 +3,8 @@ using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading;
|
||||
using Emby.Server.Implementations.Playlists;
|
||||
using MediaBrowser.Common.Json;
|
||||
@ -28,7 +26,6 @@ using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Globalization;
|
||||
using MediaBrowser.Model.LiveTv;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using MediaBrowser.Model.Serialization;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SQLitePCL.pretty;
|
||||
|
||||
@ -659,12 +656,14 @@ namespace Emby.Server.Implementations.Data
|
||||
|
||||
private void SaveItem(BaseItem item, BaseItem topParent, string userDataKey, IStatement saveItemStatement)
|
||||
{
|
||||
saveItemStatement.TryBind("@guid", item.Id);
|
||||
saveItemStatement.TryBind("@type", item.GetType().FullName);
|
||||
Type type = item.GetType();
|
||||
|
||||
if (TypeRequiresDeserialization(item.GetType()))
|
||||
saveItemStatement.TryBind("@guid", item.Id);
|
||||
saveItemStatement.TryBind("@type", type.FullName);
|
||||
|
||||
if (TypeRequiresDeserialization(type))
|
||||
{
|
||||
saveItemStatement.TryBind("@data", JsonSerializer.SerializeToUtf8Bytes(item, _jsonOptions));
|
||||
saveItemStatement.TryBind("@data", JsonSerializer.SerializeToUtf8Bytes(item, type, _jsonOptions));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2175,7 +2175,6 @@ namespace Emby.Server.Implementations.Library
|
||||
DisplayParentId = parentId
|
||||
};
|
||||
|
||||
|
||||
CreateItem(item, null);
|
||||
|
||||
isNew = true;
|
||||
@ -2197,7 +2196,6 @@ namespace Emby.Server.Implementations.Library
|
||||
{
|
||||
// Need to force save to increment DateLastSaved
|
||||
ForceSave = true
|
||||
|
||||
},
|
||||
RefreshPriority.Normal);
|
||||
}
|
||||
|
@ -8,8 +8,11 @@ namespace MediaBrowser.Controller.Entities
|
||||
public interface ICollectionFolder : IHasCollectionType
|
||||
{
|
||||
string Path { get; }
|
||||
|
||||
string Name { get; }
|
||||
|
||||
Guid Id { get; }
|
||||
|
||||
string[] PhysicalLocations { get; }
|
||||
}
|
||||
|
||||
|
@ -10,34 +10,36 @@ namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
public class UserView : Folder, IHasCollectionType
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public string ViewType { get; set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public new Guid DisplayParentId { get; set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public Guid? UserId { get; set; }
|
||||
|
||||
public static ITVSeriesManager TVSeriesManager;
|
||||
|
||||
/// <inheritdoc />
|
||||
[JsonIgnore]
|
||||
public string CollectionType => ViewType;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override IEnumerable<Guid> GetIdsForAncestorQuery()
|
||||
{
|
||||
var list = new List<Guid>();
|
||||
|
||||
if (!DisplayParentId.Equals(Guid.Empty))
|
||||
{
|
||||
list.Add(DisplayParentId);
|
||||
yield return DisplayParentId;
|
||||
}
|
||||
else if (!ParentId.Equals(Guid.Empty))
|
||||
{
|
||||
list.Add(ParentId);
|
||||
yield return ParentId;
|
||||
}
|
||||
else
|
||||
{
|
||||
list.Add(Id);
|
||||
yield return Id;
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
|
Loading…
Reference in New Issue
Block a user