Updated code to correct build errors for Jelyfin.Data and Jellyfin.Database.Implementations

This commit is contained in:
2026-02-19 15:51:56 -05:00
parent f47555f2aa
commit d5fdbec943
317 changed files with 17235 additions and 3473 deletions
@@ -2,14 +2,15 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using System;
namespace Jellyfin.Data.Attributes;
/// <summary>
/// Attribute to specify that the enum value is to be ignored when generating the openapi spec.
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public sealed class OpenApiIgnoreEnumAttribute : Attribute
namespace Jellyfin.Data.Attributes
{
using System;
/// <summary>
/// Attribute to specify that the enum value is to be ignored when generating the openapi spec.
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public sealed class OpenApiIgnoreEnumAttribute : Attribute
{
}
}
+6 -5
View File
@@ -3,12 +3,13 @@
// </copyright>
#pragma warning disable CS1591
using System;
using Jellyfin.Database.Implementations.Enums;
#pragma warning disable SA1600 // Elements should be documented
namespace Jellyfin.Data
{
using System;
using Jellyfin.Database.Implementations.Enums;
public static class DayOfWeekHelper
{
public static DayOfWeek[] GetDaysOfWeek(DynamicDayOfWeek day)
@@ -18,7 +19,7 @@ namespace Jellyfin.Data
DynamicDayOfWeek.Everyday => new[] { DayOfWeek.Sunday, DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday },
DynamicDayOfWeek.Weekday => new[] { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday },
DynamicDayOfWeek.Weekend => new[] { DayOfWeek.Sunday, DayOfWeek.Saturday },
_ => new[] { (DayOfWeek)day }
_ => new[] { (DayOfWeek)day },
};
}
@@ -29,7 +30,7 @@ namespace Jellyfin.Data
DynamicDayOfWeek.Everyday => true,
DynamicDayOfWeek.Weekday => dayOfWeek is >= DayOfWeek.Monday and <= DayOfWeek.Friday,
DynamicDayOfWeek.Weekend => dayOfWeek is DayOfWeek.Saturday or DayOfWeek.Sunday,
_ => (DayOfWeek)dynamicDayOfWeek == dayOfWeek
_ => (DayOfWeek)dynamicDayOfWeek == dayOfWeek,
};
}
}
+1 -1
View File
@@ -49,5 +49,5 @@ public enum ActivityLogSortBy
/// <summary>
/// Sort by severity.
/// </summary>
LogSeverity = 7
LogSeverity = 7,
}
+1 -1
View File
@@ -204,6 +204,6 @@ namespace Jellyfin.Data.Enums
/// <summary>
/// Item is year.
/// </summary>
Year
Year,
}
}
+134 -132
View File
@@ -3,167 +3,169 @@
// </copyright>
#pragma warning disable SA1300 // The name of a C# element does not begin with an upper-case letter. - disabled due to legacy requirement.
using Jellyfin.Data.Attributes;
namespace Jellyfin.Data.Enums;
/// <summary>
/// Collection type.
/// </summary>
public enum CollectionType
namespace Jellyfin.Data.Enums
{
/// <summary>
/// Unknown collection.
/// </summary>
unknown = 0,
using Jellyfin.Data.Attributes;
/// <summary>
/// Movies collection.
/// Collection type.
/// </summary>
movies = 1,
public enum CollectionType
{
/// <summary>
/// Unknown collection.
/// </summary>
unknown = 0,
/// <summary>
/// Tv shows collection.
/// </summary>
tvshows = 2,
/// <summary>
/// Movies collection.
/// </summary>
movies = 1,
/// <summary>
/// Music collection.
/// </summary>
music = 3,
/// <summary>
/// Tv shows collection.
/// </summary>
tvshows = 2,
/// <summary>
/// Music videos collection.
/// </summary>
musicvideos = 4,
/// <summary>
/// Music collection.
/// </summary>
music = 3,
/// <summary>
/// Trailers collection.
/// </summary>
trailers = 5,
/// <summary>
/// Music videos collection.
/// </summary>
musicvideos = 4,
/// <summary>
/// Home videos collection.
/// </summary>
homevideos = 6,
/// <summary>
/// Trailers collection.
/// </summary>
trailers = 5,
/// <summary>
/// Box sets collection.
/// </summary>
boxsets = 7,
/// <summary>
/// Home videos collection.
/// </summary>
homevideos = 6,
/// <summary>
/// Books collection.
/// </summary>
books = 8,
/// <summary>
/// Box sets collection.
/// </summary>
boxsets = 7,
/// <summary>
/// Photos collection.
/// </summary>
photos = 9,
/// <summary>
/// Books collection.
/// </summary>
books = 8,
/// <summary>
/// Live tv collection.
/// </summary>
livetv = 10,
/// <summary>
/// Photos collection.
/// </summary>
photos = 9,
/// <summary>
/// Playlists collection.
/// </summary>
playlists = 11,
/// <summary>
/// Live tv collection.
/// </summary>
livetv = 10,
/// <summary>
/// Folders collection.
/// </summary>
folders = 12,
/// <summary>
/// Playlists collection.
/// </summary>
playlists = 11,
/// <summary>
/// Tv show series collection.
/// </summary>
[OpenApiIgnoreEnum]
tvshowseries = 101,
/// <summary>
/// Folders collection.
/// </summary>
folders = 12,
/// <summary>
/// Tv genres collection.
/// </summary>
[OpenApiIgnoreEnum]
tvgenres = 102,
/// <summary>
/// Tv show series collection.
/// </summary>
[OpenApiIgnoreEnum]
tvshowseries = 101,
/// <summary>
/// Tv genre collection.
/// </summary>
[OpenApiIgnoreEnum]
tvgenre = 103,
/// <summary>
/// Tv genres collection.
/// </summary>
[OpenApiIgnoreEnum]
tvgenres = 102,
/// <summary>
/// Tv latest collection.
/// </summary>
[OpenApiIgnoreEnum]
tvlatest = 104,
/// <summary>
/// Tv genre collection.
/// </summary>
[OpenApiIgnoreEnum]
tvgenre = 103,
/// <summary>
/// Tv next up collection.
/// </summary>
[OpenApiIgnoreEnum]
tvnextup = 105,
/// <summary>
/// Tv latest collection.
/// </summary>
[OpenApiIgnoreEnum]
tvlatest = 104,
/// <summary>
/// Tv resume collection.
/// </summary>
[OpenApiIgnoreEnum]
tvresume = 106,
/// <summary>
/// Tv next up collection.
/// </summary>
[OpenApiIgnoreEnum]
tvnextup = 105,
/// <summary>
/// Tv favorite series collection.
/// </summary>
[OpenApiIgnoreEnum]
tvfavoriteseries = 107,
/// <summary>
/// Tv resume collection.
/// </summary>
[OpenApiIgnoreEnum]
tvresume = 106,
/// <summary>
/// Tv favorite episodes collection.
/// </summary>
[OpenApiIgnoreEnum]
tvfavoriteepisodes = 108,
/// <summary>
/// Tv favorite series collection.
/// </summary>
[OpenApiIgnoreEnum]
tvfavoriteseries = 107,
/// <summary>
/// Latest movies collection.
/// </summary>
[OpenApiIgnoreEnum]
movielatest = 109,
/// <summary>
/// Tv favorite episodes collection.
/// </summary>
[OpenApiIgnoreEnum]
tvfavoriteepisodes = 108,
/// <summary>
/// Movies to resume collection.
/// </summary>
[OpenApiIgnoreEnum]
movieresume = 110,
/// <summary>
/// Latest movies collection.
/// </summary>
[OpenApiIgnoreEnum]
movielatest = 109,
/// <summary>
/// Movie movie collection.
/// </summary>
[OpenApiIgnoreEnum]
moviemovies = 111,
/// <summary>
/// Movies to resume collection.
/// </summary>
[OpenApiIgnoreEnum]
movieresume = 110,
/// <summary>
/// Movie collections collection.
/// </summary>
[OpenApiIgnoreEnum]
moviecollection = 112,
/// <summary>
/// Movie movie collection.
/// </summary>
[OpenApiIgnoreEnum]
moviemovies = 111,
/// <summary>
/// Movie favorites collection.
/// </summary>
[OpenApiIgnoreEnum]
moviefavorites = 113,
/// <summary>
/// Movie collections collection.
/// </summary>
[OpenApiIgnoreEnum]
moviecollection = 112,
/// <summary>
/// Movie genres collection.
/// </summary>
[OpenApiIgnoreEnum]
moviegenres = 114,
/// <summary>
/// Movie favorites collection.
/// </summary>
[OpenApiIgnoreEnum]
moviefavorites = 113,
/// <summary>
/// Movie genre collection.
/// </summary>
[OpenApiIgnoreEnum]
moviegenre = 115
/// <summary>
/// Movie genres collection.
/// </summary>
[OpenApiIgnoreEnum]
moviegenres = 114,
/// <summary>
/// Movie genre collection.
/// </summary>
[OpenApiIgnoreEnum]
moviegenre = 115,
}
}
+17 -16
View File
@@ -3,24 +3,25 @@
// </copyright>
#pragma warning disable SA1300 // Lowercase required for backwards compat.
using System.ComponentModel;
namespace Jellyfin.Data.Enums;
/// <summary>
/// Media streaming protocol.
/// Lowercase for backwards compatibility.
/// </summary>
[DefaultValue(http)]
public enum MediaStreamProtocol
namespace Jellyfin.Data.Enums
{
/// <summary>
/// HTTP.
/// </summary>
http = 0,
using System.ComponentModel;
/// <summary>
/// HTTP Live Streaming.
/// Media streaming protocol.
/// Lowercase for backwards compatibility.
/// </summary>
hls = 1
[DefaultValue(http)]
public enum MediaStreamProtocol
{
/// <summary>
/// HTTP.
/// </summary>
http = 0,
/// <summary>
/// HTTP Live Streaming.
/// </summary>
hls = 1,
}
}
+1 -1
View File
@@ -32,5 +32,5 @@ public enum MediaType
/// <summary>
/// Book media.
/// </summary>
Book = 4
Book = 4,
}
+1 -1
View File
@@ -133,5 +133,5 @@ public enum PersonKind
/// <summary>
/// A person who renders a text from one language into another.
/// </summary>
Translator
Translator,
}
@@ -27,6 +27,6 @@ namespace Jellyfin.Data.Enums
/// <summary>
/// User must be in a group.
/// </summary>
IsInGroup = 3
IsInGroup = 3,
}
}
+1 -1
View File
@@ -52,6 +52,6 @@ namespace Jellyfin.Data.Enums
/// <summary>
/// Another type, not covered by the other fields.
/// </summary>
Other = 8
Other = 8,
}
}
+1 -1
View File
@@ -22,5 +22,5 @@ public enum VideoRange
/// <summary>
/// HDR video range.
/// </summary>
HDR
HDR,
}
+1 -1
View File
@@ -73,5 +73,5 @@ public enum VideoRangeType
/// <summary>
/// HDR10+ video range type (10bit to 16bit).
/// </summary>
HDR10Plus
HDR10Plus,
}
+3 -1
View File
@@ -2,6 +2,8 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
#pragma warning disable SA1200 // using directive or a using-alias directive is placed outside of a namespace element
using System;
namespace Jellyfin.Data.Events
@@ -18,7 +20,7 @@ namespace Jellyfin.Data.Events
/// <param name="arg">The argument.</param>
public GenericEventArgs(T arg)
{
Argument = arg;
this.Argument = arg;
}
/// <summary>
@@ -2,6 +2,9 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
#pragma warning disable CA1711 // Identifiers should not have incorrect suffix
#pragma warning disable SA1200 // using directive or a using-alias directive is placed outside of a namespace element
using System;
namespace Jellyfin.Data.Events.System
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using Jellyfin.Database.Implementations.Entities;
#pragma warning disable SA1128 // Put constructor initializers on their own line
namespace Jellyfin.Data.Events.Users
{
using Jellyfin.Database.Implementations.Entities;
/// <summary>
/// An event that occurs when a user is created.
/// </summary>
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using Jellyfin.Database.Implementations.Entities;
#pragma warning disable SA1128 // Put constructor initializers on their own line
namespace Jellyfin.Data.Events.Users
{
using Jellyfin.Database.Implementations.Entities;
/// <summary>
/// An event that occurs when a user is deleted.
/// </summary>
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using Jellyfin.Database.Implementations.Entities;
#pragma warning disable SA1128 // Put constructor initializers on their own line
namespace Jellyfin.Data.Events.Users
{
using Jellyfin.Database.Implementations.Entities;
/// <summary>
/// An event that occurs when a user is locked out.
/// </summary>
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using Jellyfin.Database.Implementations.Entities;
#pragma warning disable SA1128 // Put constructor initializers on their own line
namespace Jellyfin.Data.Events.Users
{
using Jellyfin.Database.Implementations.Entities;
/// <summary>
/// An event that occurs when a user's password has changed.
/// </summary>
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
using Jellyfin.Database.Implementations.Entities;
#pragma warning disable SA1128 // Put constructor initializers on their own line
namespace Jellyfin.Data.Events.Users
{
using Jellyfin.Database.Implementations.Entities;
/// <summary>
/// An event that occurs when a user is updated.
/// </summary>
+2 -2
View File
@@ -2,14 +2,14 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
namespace Jellyfin.Data.Queries;
using System;
using System.Collections.Generic;
using Jellyfin.Data.Enums;
using Jellyfin.Database.Implementations.Enums;
using Microsoft.Extensions.Logging;
namespace Jellyfin.Data.Queries;
/// <summary>
/// A class representing a query to the activity logs.
/// </summary>
+16 -17
View File
@@ -2,28 +2,27 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
namespace Jellyfin.Data.Queries;
using System;
namespace Jellyfin.Data.Queries
/// <summary>
/// A query to retrieve devices.
/// </summary>
public class DeviceQuery : PaginatedQuery
{
/// <summary>
/// A query to retrieve devices.
/// Gets or sets the user id of the device.
/// </summary>
public class DeviceQuery : PaginatedQuery
{
/// <summary>
/// Gets or sets the user id of the device.
/// </summary>
public Guid? UserId { get; set; }
public Guid? UserId { get; set; }
/// <summary>
/// Gets or sets the device id.
/// </summary>
public string? DeviceId { get; set; }
/// <summary>
/// Gets or sets the device id.
/// </summary>
public string? DeviceId { get; set; }
/// <summary>
/// Gets or sets the access token.
/// </summary>
public string? AccessToken { get; set; }
}
/// <summary>
/// Gets or sets the access token.
/// </summary>
public string? AccessToken { get; set; }
}
+11 -2
View File
@@ -2,6 +2,8 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
namespace Jellyfin.Data;
using System;
using System.ComponentModel;
using System.Linq;
@@ -9,8 +11,6 @@ using Jellyfin.Database.Implementations.Entities;
using Jellyfin.Database.Implementations.Enums;
using Jellyfin.Database.Implementations.Interfaces;
namespace Jellyfin.Data;
/// <summary>
/// Contains extension methods for manipulation of <see cref="User"/> entities.
/// </summary>
@@ -29,6 +29,7 @@ public static class UserEntityExtensions
/// <returns><c>True</c> if the user has the specified permission.</returns>
public static bool HasPermission(this IHasPermissions entity, PermissionKind kind)
{
ArgumentNullException.ThrowIfNull(entity);
return entity.Permissions.FirstOrDefault(p => p.Kind == kind)?.Value ?? false;
}
@@ -40,6 +41,7 @@ public static class UserEntityExtensions
/// <param name="value">The value to set.</param>
public static void SetPermission(this IHasPermissions entity, PermissionKind kind, bool value)
{
ArgumentNullException.ThrowIfNull(entity);
var currentPermission = entity.Permissions.FirstOrDefault(p => p.Kind == kind);
if (currentPermission is null)
{
@@ -59,6 +61,7 @@ public static class UserEntityExtensions
/// <returns>A string array containing the user's preferences.</returns>
public static string[] GetPreference(this User entity, PreferenceKind preference)
{
ArgumentNullException.ThrowIfNull(entity);
var val = entity.Preferences.FirstOrDefault(p => p.Kind == preference)?.Value;
return string.IsNullOrEmpty(val) ? Array.Empty<string>() : val.Split(Delimiter);
@@ -73,6 +76,7 @@ public static class UserEntityExtensions
/// <returns>A {T} array containing the user's preference.</returns>
public static T[] GetPreferenceValues<T>(this User entity, PreferenceKind preference)
{
ArgumentNullException.ThrowIfNull(entity);
var val = entity.Preferences.FirstOrDefault(p => p.Kind == preference)?.Value;
if (string.IsNullOrEmpty(val))
{
@@ -111,6 +115,7 @@ public static class UserEntityExtensions
/// <param name="values">The values.</param>
public static void SetPreference(this User entity, PreferenceKind preference, string[] values)
{
ArgumentNullException.ThrowIfNull(entity);
var value = string.Join(Delimiter, values);
var currentPreference = entity.Preferences.FirstOrDefault(p => p.Kind == preference);
if (currentPreference is null)
@@ -132,6 +137,7 @@ public static class UserEntityExtensions
/// <typeparam name="T">The type of value.</typeparam>
public static void SetPreference<T>(this User entity, PreferenceKind preference, T[] values)
{
ArgumentNullException.ThrowIfNull(entity);
var value = string.Join(Delimiter, values);
var currentPreference = entity.Preferences.FirstOrDefault(p => p.Kind == preference);
if (currentPreference is null)
@@ -151,6 +157,7 @@ public static class UserEntityExtensions
/// <returns><c>True</c> if the current time is within an access schedule, or there are no access schedules.</returns>
public static bool IsParentalScheduleAllowed(this User entity)
{
ArgumentNullException.ThrowIfNull(entity);
return entity.AccessSchedules.Count == 0
|| entity.AccessSchedules.Any(i => IsParentalScheduleAllowed(i, DateTime.UtcNow));
}
@@ -173,6 +180,7 @@ public static class UserEntityExtensions
// TODO: make these user configurable?
public static void AddDefaultPermissions(this User entity)
{
ArgumentNullException.ThrowIfNull(entity);
entity.Permissions.Add(new Permission(PermissionKind.IsAdministrator, false));
entity.Permissions.Add(new Permission(PermissionKind.IsDisabled, false));
entity.Permissions.Add(new Permission(PermissionKind.IsHidden, true));
@@ -207,6 +215,7 @@ public static class UserEntityExtensions
{
foreach (var val in Enum.GetValues<PreferenceKind>())
{
ArgumentNullException.ThrowIfNull(entity);
entity.Preferences.Add(new Preference(val, string.Empty));
}
}
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Jellyfin.CodeAnalysis</name>
</assembly>
<members>
<member name="T:Jellyfin.CodeAnalysis.AsyncDisposalPatternAnalyzer">
<summary>
Analyzer to detect sync disposal of async-created IAsyncDisposable objects.
</summary>
</member>
<member name="F:Jellyfin.CodeAnalysis.AsyncDisposalPatternAnalyzer.AsyncDisposableSyncDisposal">
<summary>
Diagnostic descriptor for sync disposal of async-created IAsyncDisposable objects.
</summary>
</member>
<member name="P:Jellyfin.CodeAnalysis.AsyncDisposalPatternAnalyzer.SupportedDiagnostics">
<inheritdoc/>
</member>
<member name="M:Jellyfin.CodeAnalysis.AsyncDisposalPatternAnalyzer.Initialize(Microsoft.CodeAnalysis.Diagnostics.AnalysisContext)">
<inheritdoc/>
</member>
</members>
</doc>
@@ -0,0 +1,461 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v10.0": {
"Jellyfin.Data/10.12.0": {
"dependencies": {
"Jellyfin.CodeAnalysis": "1.0.0",
"Jellyfin.Database.Implementations": "10.11.0",
"Jellyfin.Sdk": "2025.10.21",
"Microsoft.Extensions.Logging": "10.0.3"
},
"runtime": {
"Jellyfin.Data.dll": {}
}
},
"Jellyfin.Sdk/2025.10.21": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1",
"Microsoft.Kiota.Http.HttpClientLibrary": "1.20.1",
"Microsoft.Kiota.Serialization.Form": "1.20.1",
"Microsoft.Kiota.Serialization.Json": "1.20.1",
"Microsoft.Kiota.Serialization.Multipart": "1.20.1",
"Microsoft.Kiota.Serialization.Text": "1.20.1"
},
"runtime": {
"lib/net8.0/Jellyfin.Sdk.dll": {
"assemblyVersion": "2025.10.21.0",
"fileVersion": "2025.10.21.0"
}
}
},
"Microsoft.EntityFrameworkCore/10.0.3": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "10.0.3",
"Microsoft.Extensions.Caching.Memory": "10.0.3",
"Microsoft.Extensions.Logging": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "10.0.3.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/10.0.3": {
"runtime": {
"lib/net10.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "10.0.3.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.EntityFrameworkCore.Relational/10.0.3": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "10.0.3",
"Microsoft.Extensions.Caching.Memory": "10.0.3",
"Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
"Microsoft.Extensions.Logging": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "10.0.3.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/10.0.3": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Caching.Memory/10.0.3": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "10.0.3",
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
"Microsoft.Extensions.Logging.Abstractions": "10.0.3",
"Microsoft.Extensions.Options": "10.0.3",
"Microsoft.Extensions.Primitives": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
"dependencies": {
"Microsoft.Extensions.Primitives": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.DependencyInjection/10.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Logging/10.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "10.0.3",
"Microsoft.Extensions.Logging.Abstractions": "10.0.3",
"Microsoft.Extensions.Options": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/10.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Options/10.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
"Microsoft.Extensions.Primitives": "10.0.3"
},
"runtime": {
"lib/net10.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Extensions.Primitives/10.0.3": {
"runtime": {
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "10.0.0.0",
"fileVersion": "10.0.326.7603"
}
}
},
"Microsoft.Kiota.Abstractions/1.20.1": {
"dependencies": {
"Std.UriTemplate": "2.0.5"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Abstractions.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Http.HttpClientLibrary.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Microsoft.Kiota.Serialization.Form/1.20.1": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Serialization.Form.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Microsoft.Kiota.Serialization.Json/1.20.1": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Serialization.Json.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Microsoft.Kiota.Serialization.Multipart/1.20.1": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Serialization.Multipart.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Microsoft.Kiota.Serialization.Text/1.20.1": {
"dependencies": {
"Microsoft.Kiota.Abstractions": "1.20.1"
},
"runtime": {
"lib/net8.0/Microsoft.Kiota.Serialization.Text.dll": {
"assemblyVersion": "1.20.1.0",
"fileVersion": "1.20.1.0"
}
}
},
"Polly/8.6.5": {
"dependencies": {
"Polly.Core": "8.6.5"
},
"runtime": {
"lib/net6.0/Polly.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.6.5.5194"
}
}
},
"Polly.Core/8.6.5": {
"runtime": {
"lib/net8.0/Polly.Core.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.6.5.5194"
}
}
},
"Std.UriTemplate/2.0.5": {
"runtime": {
"lib/net5.0/Std.UriTemplate.dll": {
"assemblyVersion": "2.0.5.0",
"fileVersion": "2.0.5.0"
}
}
},
"Jellyfin.CodeAnalysis/1.0.0": {
"dependencies": {
"Jellyfin.Sdk": "2025.10.21"
},
"runtime": {
"Jellyfin.CodeAnalysis.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"Jellyfin.Database.Implementations/10.11.0": {
"dependencies": {
"Jellyfin.CodeAnalysis": "1.0.0",
"Microsoft.EntityFrameworkCore.Relational": "10.0.3",
"Polly": "8.6.5"
},
"runtime": {
"Jellyfin.Database.Implementations.dll": {
"assemblyVersion": "10.12.0.0",
"fileVersion": "10.12.0.0"
}
}
}
}
},
"libraries": {
"Jellyfin.Data/10.12.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Jellyfin.Sdk/2025.10.21": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1pG60suEiV3v77zqLd5fO9S8m8qryxj9mZYb24Me1XgSXlaCIt0SC1V1sbFKyoG70Q3n915wT4Ko4BUanorRug==",
"path": "jellyfin.sdk/2025.10.21",
"hashPath": "jellyfin.sdk.2025.10.21.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CDEImwD4A7BseABJMCpLZnhfFjmPY/bHwhhS70elc6gLI/bYUEOhxWt7PmaNGYGhIEzOnStlCy5QcVb+8dod5Q==",
"path": "microsoft.entityframeworkcore/10.0.3",
"hashPath": "microsoft.entityframeworkcore.10.0.3.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-c7Uoz381xnMHNBRB8eHRhGgzUtXbgddlbODhwZRrTSzZWDharp3RkJsFwhxyESbeXhCqmML7VdvjMQ7uu+HreA==",
"path": "microsoft.entityframeworkcore.abstractions/10.0.3",
"hashPath": "microsoft.entityframeworkcore.abstractions.10.0.3.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Pmh60OK9neVr/M0FJwm9hlzm2bD4Kd65SID8E6SP5c90tExNgXwORrlEWl0oGU/ig9ifpNN4PSpIrnHNozlT5w==",
"path": "microsoft.entityframeworkcore.relational/10.0.3",
"hashPath": "microsoft.entityframeworkcore.relational.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-5dtXBvI8t3z8pF4tB38JYgi/enCL/DwSXxpqShgFz3SHJ7IzqFIMs6Gu5ik8sNZzcO9qQs3xIDpB3vDamkYG+Q==",
"path": "microsoft.extensions.caching.abstractions/10.0.3",
"hashPath": "microsoft.extensions.caching.abstractions.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-No4fVh0z30SWqiWFRoA4PNdrEco6OjXvCqRFvlmRgDQqqks2bRDdeavUgWEiAX153ZAwW9loUgbxcvuP4NKQLg==",
"path": "microsoft.extensions.caching.memory/10.0.3",
"hashPath": "microsoft.extensions.caching.memory.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xVDHL0+SIgemfh95fTO9cGLe17TWv/ZP0n7m01z8X6pzt2DmQpucioWR/mYZA1sRlkWnkXzfl0JweLNWmE9WMg==",
"path": "microsoft.extensions.configuration.abstractions/10.0.3",
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-2DLOmC0EkB2smVK8lPP1PIKEgL1arE3CMp9XSIQB/Y7ev5nnnyuM/PizKJ6QfLD08QCYoopSC9SFdbYglDomYg==",
"path": "microsoft.extensions.dependencyinjection/10.0.3",
"hashPath": "microsoft.extensions.dependencyinjection.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bwGMrRcAMWx2s/RDgja97p27rxSz2pEQW0+rX5cWAUWVETVJ/eyxGfjAl8vuG5a+lckWmPIE+vcuaZNVB5YDdw==",
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.3",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Logging/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-8D9Er1cGXNjNDIB+VLBNHn386L5ls2FoiG9a6o12gyn+GG3w6jdfUhzT8dtBnKcevE7/fsVA8MS3FBgFfClFtQ==",
"path": "microsoft.extensions.logging/10.0.3",
"hashPath": "microsoft.extensions.logging.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lxl0WLk7ROgBFAsjcOYjQ8/DVK+VMszxGBzUhgtQmAsTNldLL5pk9NG/cWTsXHq0lUhUEAtZkEE7jOGOA8bGKQ==",
"path": "microsoft.extensions.logging.abstractions/10.0.3",
"hashPath": "microsoft.extensions.logging.abstractions.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Options/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-hU6WzGTPvPoLA2ng1ILvWQb3g0qORdlHNsxI8IcPLumJb3suimYUl+bbDzdo1V4KFsvVhnMWzysHpKbZaoDQPQ==",
"path": "microsoft.extensions.options/10.0.3",
"hashPath": "microsoft.extensions.options.10.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/10.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-GEcpTwo7sUoLGGNTqV1FZEuL+tTD9m81NX/mh099dqGNna07/UGZShKQNZRw4hv6nlliSUwYQgSYc7OR99Jufg==",
"path": "microsoft.extensions.primitives/10.0.3",
"hashPath": "microsoft.extensions.primitives.10.0.3.nupkg.sha512"
},
"Microsoft.Kiota.Abstractions/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bv1n2gnxA/O+1a26h3YB6bgcc3ZSLCjRumMh7sVkFmksLaVonhcrJpUrEtBlnnYPrnHwzm/1BYQnYjCVG7A+fA==",
"path": "microsoft.kiota.abstractions/1.20.1",
"hashPath": "microsoft.kiota.abstractions.1.20.1.nupkg.sha512"
},
"Microsoft.Kiota.Http.HttpClientLibrary/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pQzs+9n3QAG/FKFwgIaRE0EqOXfW3rWliOdk9XZbghyRdeAtiQjSbJbpascdZlf7uatLpPYA145q6MYpLxvsgA==",
"path": "microsoft.kiota.http.httpclientlibrary/1.20.1",
"hashPath": "microsoft.kiota.http.httpclientlibrary.1.20.1.nupkg.sha512"
},
"Microsoft.Kiota.Serialization.Form/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-n7izb8GZSoatmFSpMaHmh78U3oW+YdYb2gDwhkG86COHuiGWV9s0BKBeUlFakAV00CDwaH9iFqxCQ0veYVkG1A==",
"path": "microsoft.kiota.serialization.form/1.20.1",
"hashPath": "microsoft.kiota.serialization.form.1.20.1.nupkg.sha512"
},
"Microsoft.Kiota.Serialization.Json/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4MumZe45DI/o1YP+hq7wyArOHDhjkSiu14ysN4xWKe6vwlu43BUYydA/yT0CtjoPwbFW/6jfx/NVSvM3DzBzbg==",
"path": "microsoft.kiota.serialization.json/1.20.1",
"hashPath": "microsoft.kiota.serialization.json.1.20.1.nupkg.sha512"
},
"Microsoft.Kiota.Serialization.Multipart/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tP7ZxA1zsIi3FE8CHwfA5JnzlW1NYld+LpFihFq+S7IXFDv1x37I968lPKGIdEpWW9vWacuqDQVKIyJiKZ257A==",
"path": "microsoft.kiota.serialization.multipart/1.20.1",
"hashPath": "microsoft.kiota.serialization.multipart.1.20.1.nupkg.sha512"
},
"Microsoft.Kiota.Serialization.Text/1.20.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Cue4l9AeU0WgL2CdUW8K58BMwQOyiHgT7aCov2qGEKpmpeWQj7cmAWCgxDfPHYPkZtz1Ccbrw4/6KrDgCmrC3Q==",
"path": "microsoft.kiota.serialization.text/1.20.1",
"hashPath": "microsoft.kiota.serialization.text.1.20.1.nupkg.sha512"
},
"Polly/8.6.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VqtW2ZE/ALvQMAH1cQY3qZ2cF2OXa3oe/HKMdOv6Q02HCoEW0rsFNfcBONXlHBe1TnjWW1vdRxBEkPeq0/2FHA==",
"path": "polly/8.6.5",
"hashPath": "polly.8.6.5.nupkg.sha512"
},
"Polly.Core/8.6.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-t+sUVrIwvo7UmsgHGgOG9F0GDZSRIm47u2ylH17Gvcv1q5hNEwgD5GoBlFyc0kh/pebmPyrAgvGsR/65ZBaXlg==",
"path": "polly.core/8.6.5",
"hashPath": "polly.core.8.6.5.nupkg.sha512"
},
"Std.UriTemplate/2.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PtqPdWNBObRcDHjyjbgOz2XoCJQaiA+HNDPQve/O7yGCkospfHDCuH9ULVx1msImwHHG+uhpDjiZX7bpLN/cnw==",
"path": "std.uritemplate/2.0.5",
"hashPath": "std.uritemplate.2.0.5.nupkg.sha512"
},
"Jellyfin.CodeAnalysis/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Jellyfin.Database.Implementations/10.11.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1 +1 @@
ceaa91a5c5ec9124d1529284418af5db64b490937ad54f85e57513b5d03afc95
3830fdc1e1abfc1a4e9eae455e6fd43e54500311710ea424492686e858f0a20f
@@ -1,3 +1,22 @@
C:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.csproj.CoreCompileInputs.cache
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.csproj.AssemblyReference.cache
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.GeneratedMSBuildEditorConfig.editorconfig
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.csproj.CoreCompileInputs.cache
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.xml
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Data.deps.json
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Data.dll
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Data.pdb
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Data.xml
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.CodeAnalysis.dll
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Database.Implementations.dll
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.CodeAnalysis.pdb
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.CodeAnalysis.xml
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Database.Implementations.pdb
E:\Projects\pgsql-jellyfin\Jellyfin.Data\bin\Debug\net10.0\Jellyfin.Database.Implementations.xml
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.B884D0AA.Up2Date
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.dll
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\refint\Jellyfin.Data.dll
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\Jellyfin.Data.pdb
E:\Projects\pgsql-jellyfin\Jellyfin.Data\obj\Debug\net10.0\ref\Jellyfin.Data.dll
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff