diff --git a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.AssemblyReference.cache b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.AssemblyReference.cache
index 71ab4821..7294dcae 100644
Binary files a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.AssemblyReference.cache and b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.AssemblyReference.cache differ
diff --git a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.CoreCompileInputs.cache b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.CoreCompileInputs.cache
index d6457121..1ab98d07 100644
--- a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.CoreCompileInputs.cache
+++ b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-707b848c9239ee433c68bdbbe8bf0840dedefaf0732ff470296b59e7b39c4d3a
+16af1f055d778316827440b76eceed3a1b05fabb34bc065076f833acf6b594ae
diff --git a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.FileListAbsolute.txt b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.FileListAbsolute.txt
index e3598c88..734de91e 100644
--- a/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.FileListAbsolute.txt
+++ b/Emby.Naming/obj/Debug/net10.0/Emby.Naming.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Emby.Naming\obj\Debug\net10.0\Emby.Naming.csproj.CoreCompileInputs.cache
diff --git a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.AssemblyReference.cache b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.AssemblyReference.cache
index 97ed5de0..134852e5 100644
Binary files a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.AssemblyReference.cache and b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.AssemblyReference.cache differ
diff --git a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.CoreCompileInputs.cache b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.CoreCompileInputs.cache
index 80c9a24c..110fb2df 100644
--- a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.CoreCompileInputs.cache
+++ b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-fe8f4e506cd763fe456c7ccca92576c0078938cd75d2fca8a97fac0a9a6095a9
+4fc4fc0e2cc8db7e69fd41ec171c1bb9593046487006fd731d47bf622a09616a
diff --git a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.FileListAbsolute.txt b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.FileListAbsolute.txt
index fd45e236..df759bc6 100644
--- a/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.FileListAbsolute.txt
+++ b/Emby.Photos/obj/Debug/net10.0/Emby.Photos.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Emby.Photos\obj\Debug\net10.0\Emby.Photos.csproj.CoreCompileInputs.cache
diff --git a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.AssemblyReference.cache b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.AssemblyReference.cache
index d4cee557..0db1ad38 100644
Binary files a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.AssemblyReference.cache and b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.AssemblyReference.cache differ
diff --git a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.CoreCompileInputs.cache b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.CoreCompileInputs.cache
index 226b0c4b..caeab99d 100644
--- a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.CoreCompileInputs.cache
+++ b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-5b680cc9024d36c3e3868fcf7e5dce113b6148ee71a24cab7a6ba705cede9780
+cb3c2e72bbedf5d3d0cb41fd241999614a4db7938e96024d0e32828ee286fa2c
diff --git a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.FileListAbsolute.txt b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.FileListAbsolute.txt
index c729f11b..68102926 100644
--- a/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.FileListAbsolute.txt
+++ b/Emby.Server.Implementations/obj/Debug/net10.0/Emby.Server.Implementations.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Emby.Server.Implementations\obj\Debug\net10.0\Emby.Server.Implementations.csproj.CoreCompileInputs.cache
diff --git a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfo.cs b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfo.cs
index d14aacce..8925f3fe 100644
--- a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfo.cs
+++ b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfo.cs
@@ -15,7 +15,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Jellyfin.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+036953f3ffd782d56040af1332c53c54c7107be2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f47555f2aa4eff7dcc5c5ef5bbda374f292f0638")]
[assembly: System.Reflection.AssemblyProductAttribute("Jellyfin.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("Jellyfin.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfoInputs.cache b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfoInputs.cache
index c72d22b3..48bc5c1b 100644
--- a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfoInputs.cache
+++ b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.AssemblyInfoInputs.cache
@@ -1 +1 @@
-5829a70b85481b4296a972f5535317bc95e028c523b9b33ab29c5349d3b17ab6
+ed069dda709e5f640951c1f97c15ff3b3eb023b7a2100def0482fc15be2b0889
diff --git a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.AssemblyReference.cache b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.AssemblyReference.cache
index 0d66746a..98cc7b10 100644
Binary files a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.AssemblyReference.cache and b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.AssemblyReference.cache differ
diff --git a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.CoreCompileInputs.cache b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.CoreCompileInputs.cache
index b24739a2..27065c30 100644
--- a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.CoreCompileInputs.cache
+++ b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ed467d62148192bd1017f4379a40550274f0ab5e77ece2cb36372e246f5dbd44
+642fe2a6bdf754ed9b2bdde6285c679014461fc4883473b9200532551ef4826b
diff --git a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.FileListAbsolute.txt b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.FileListAbsolute.txt
index efd1b5bd..74246354 100644
--- a/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.FileListAbsolute.txt
+++ b/Jellyfin.Api/obj/Debug/net10.0/Jellyfin.Api.csproj.FileListAbsolute.txt
@@ -3,3 +3,8 @@ C:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.Generated
C:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.AssemblyInfoInputs.cache
C:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.AssemblyInfo.cs
C:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.AssemblyInfoInputs.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.AssemblyInfo.cs
+E:\Projects\pgsql-jellyfin\Jellyfin.Api\obj\Debug\net10.0\Jellyfin.Api.csproj.CoreCompileInputs.cache
diff --git a/Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs b/Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs
index 3f3cb42c..adf56ad6 100644
--- a/Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs
+++ b/Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs
@@ -2,14 +2,15 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-using System;
-
-namespace Jellyfin.Data.Attributes;
-
-///
-/// Attribute to specify that the enum value is to be ignored when generating the openapi spec.
-///
-[AttributeUsage(AttributeTargets.Field)]
-public sealed class OpenApiIgnoreEnumAttribute : Attribute
+namespace Jellyfin.Data.Attributes
{
+ using System;
+
+ ///
+ /// Attribute to specify that the enum value is to be ignored when generating the openapi spec.
+ ///
+ [AttributeUsage(AttributeTargets.Field)]
+ public sealed class OpenApiIgnoreEnumAttribute : Attribute
+ {
+ }
}
diff --git a/Jellyfin.Data/DayOfWeekHelper.cs b/Jellyfin.Data/DayOfWeekHelper.cs
index 430eb62b..e8dcefc8 100644
--- a/Jellyfin.Data/DayOfWeekHelper.cs
+++ b/Jellyfin.Data/DayOfWeekHelper.cs
@@ -3,12 +3,13 @@
//
#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,
};
}
}
diff --git a/Jellyfin.Data/Enums/ActivityLogSortBy.cs b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
index 623c4884..630f88f5 100644
--- a/Jellyfin.Data/Enums/ActivityLogSortBy.cs
+++ b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
@@ -49,5 +49,5 @@ public enum ActivityLogSortBy
///
/// Sort by severity.
///
- LogSeverity = 7
+ LogSeverity = 7,
}
diff --git a/Jellyfin.Data/Enums/BaseItemKind.cs b/Jellyfin.Data/Enums/BaseItemKind.cs
index 4dfba8b0..b86754c8 100644
--- a/Jellyfin.Data/Enums/BaseItemKind.cs
+++ b/Jellyfin.Data/Enums/BaseItemKind.cs
@@ -204,6 +204,6 @@ namespace Jellyfin.Data.Enums
///
/// Item is year.
///
- Year
+ Year,
}
}
diff --git a/Jellyfin.Data/Enums/CollectionType.cs b/Jellyfin.Data/Enums/CollectionType.cs
index 3e339aeb..db689bfd 100644
--- a/Jellyfin.Data/Enums/CollectionType.cs
+++ b/Jellyfin.Data/Enums/CollectionType.cs
@@ -3,167 +3,169 @@
//
#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;
-
-///
-/// Collection type.
-///
-public enum CollectionType
+namespace Jellyfin.Data.Enums
{
- ///
- /// Unknown collection.
- ///
- unknown = 0,
+ using Jellyfin.Data.Attributes;
///
- /// Movies collection.
+ /// Collection type.
///
- movies = 1,
+ public enum CollectionType
+ {
+ ///
+ /// Unknown collection.
+ ///
+ unknown = 0,
- ///
- /// Tv shows collection.
- ///
- tvshows = 2,
+ ///
+ /// Movies collection.
+ ///
+ movies = 1,
- ///
- /// Music collection.
- ///
- music = 3,
+ ///
+ /// Tv shows collection.
+ ///
+ tvshows = 2,
- ///
- /// Music videos collection.
- ///
- musicvideos = 4,
+ ///
+ /// Music collection.
+ ///
+ music = 3,
- ///
- /// Trailers collection.
- ///
- trailers = 5,
+ ///
+ /// Music videos collection.
+ ///
+ musicvideos = 4,
- ///
- /// Home videos collection.
- ///
- homevideos = 6,
+ ///
+ /// Trailers collection.
+ ///
+ trailers = 5,
- ///
- /// Box sets collection.
- ///
- boxsets = 7,
+ ///
+ /// Home videos collection.
+ ///
+ homevideos = 6,
- ///
- /// Books collection.
- ///
- books = 8,
+ ///
+ /// Box sets collection.
+ ///
+ boxsets = 7,
- ///
- /// Photos collection.
- ///
- photos = 9,
+ ///
+ /// Books collection.
+ ///
+ books = 8,
- ///
- /// Live tv collection.
- ///
- livetv = 10,
+ ///
+ /// Photos collection.
+ ///
+ photos = 9,
- ///
- /// Playlists collection.
- ///
- playlists = 11,
+ ///
+ /// Live tv collection.
+ ///
+ livetv = 10,
- ///
- /// Folders collection.
- ///
- folders = 12,
+ ///
+ /// Playlists collection.
+ ///
+ playlists = 11,
- ///
- /// Tv show series collection.
- ///
- [OpenApiIgnoreEnum]
- tvshowseries = 101,
+ ///
+ /// Folders collection.
+ ///
+ folders = 12,
- ///
- /// Tv genres collection.
- ///
- [OpenApiIgnoreEnum]
- tvgenres = 102,
+ ///
+ /// Tv show series collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvshowseries = 101,
- ///
- /// Tv genre collection.
- ///
- [OpenApiIgnoreEnum]
- tvgenre = 103,
+ ///
+ /// Tv genres collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvgenres = 102,
- ///
- /// Tv latest collection.
- ///
- [OpenApiIgnoreEnum]
- tvlatest = 104,
+ ///
+ /// Tv genre collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvgenre = 103,
- ///
- /// Tv next up collection.
- ///
- [OpenApiIgnoreEnum]
- tvnextup = 105,
+ ///
+ /// Tv latest collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvlatest = 104,
- ///
- /// Tv resume collection.
- ///
- [OpenApiIgnoreEnum]
- tvresume = 106,
+ ///
+ /// Tv next up collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvnextup = 105,
- ///
- /// Tv favorite series collection.
- ///
- [OpenApiIgnoreEnum]
- tvfavoriteseries = 107,
+ ///
+ /// Tv resume collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvresume = 106,
- ///
- /// Tv favorite episodes collection.
- ///
- [OpenApiIgnoreEnum]
- tvfavoriteepisodes = 108,
+ ///
+ /// Tv favorite series collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvfavoriteseries = 107,
- ///
- /// Latest movies collection.
- ///
- [OpenApiIgnoreEnum]
- movielatest = 109,
+ ///
+ /// Tv favorite episodes collection.
+ ///
+ [OpenApiIgnoreEnum]
+ tvfavoriteepisodes = 108,
- ///
- /// Movies to resume collection.
- ///
- [OpenApiIgnoreEnum]
- movieresume = 110,
+ ///
+ /// Latest movies collection.
+ ///
+ [OpenApiIgnoreEnum]
+ movielatest = 109,
- ///
- /// Movie movie collection.
- ///
- [OpenApiIgnoreEnum]
- moviemovies = 111,
+ ///
+ /// Movies to resume collection.
+ ///
+ [OpenApiIgnoreEnum]
+ movieresume = 110,
- ///
- /// Movie collections collection.
- ///
- [OpenApiIgnoreEnum]
- moviecollection = 112,
+ ///
+ /// Movie movie collection.
+ ///
+ [OpenApiIgnoreEnum]
+ moviemovies = 111,
- ///
- /// Movie favorites collection.
- ///
- [OpenApiIgnoreEnum]
- moviefavorites = 113,
+ ///
+ /// Movie collections collection.
+ ///
+ [OpenApiIgnoreEnum]
+ moviecollection = 112,
- ///
- /// Movie genres collection.
- ///
- [OpenApiIgnoreEnum]
- moviegenres = 114,
+ ///
+ /// Movie favorites collection.
+ ///
+ [OpenApiIgnoreEnum]
+ moviefavorites = 113,
- ///
- /// Movie genre collection.
- ///
- [OpenApiIgnoreEnum]
- moviegenre = 115
+ ///
+ /// Movie genres collection.
+ ///
+ [OpenApiIgnoreEnum]
+ moviegenres = 114,
+
+ ///
+ /// Movie genre collection.
+ ///
+ [OpenApiIgnoreEnum]
+ moviegenre = 115,
+ }
}
diff --git a/Jellyfin.Data/Enums/MediaStreamProtocol.cs b/Jellyfin.Data/Enums/MediaStreamProtocol.cs
index 151e975f..adaff8c1 100644
--- a/Jellyfin.Data/Enums/MediaStreamProtocol.cs
+++ b/Jellyfin.Data/Enums/MediaStreamProtocol.cs
@@ -3,24 +3,25 @@
//
#pragma warning disable SA1300 // Lowercase required for backwards compat.
-using System.ComponentModel;
-
-namespace Jellyfin.Data.Enums;
-
-///
-/// Media streaming protocol.
-/// Lowercase for backwards compatibility.
-///
-[DefaultValue(http)]
-public enum MediaStreamProtocol
+namespace Jellyfin.Data.Enums
{
- ///
- /// HTTP.
- ///
- http = 0,
+ using System.ComponentModel;
///
- /// HTTP Live Streaming.
+ /// Media streaming protocol.
+ /// Lowercase for backwards compatibility.
///
- hls = 1
+ [DefaultValue(http)]
+ public enum MediaStreamProtocol
+ {
+ ///
+ /// HTTP.
+ ///
+ http = 0,
+
+ ///
+ /// HTTP Live Streaming.
+ ///
+ hls = 1,
+ }
}
diff --git a/Jellyfin.Data/Enums/MediaType.cs b/Jellyfin.Data/Enums/MediaType.cs
index 51b34edc..84f85b9a 100644
--- a/Jellyfin.Data/Enums/MediaType.cs
+++ b/Jellyfin.Data/Enums/MediaType.cs
@@ -32,5 +32,5 @@ public enum MediaType
///
/// Book media.
///
- Book = 4
+ Book = 4,
}
diff --git a/Jellyfin.Data/Enums/PersonKind.cs b/Jellyfin.Data/Enums/PersonKind.cs
index 854401d8..574b3861 100644
--- a/Jellyfin.Data/Enums/PersonKind.cs
+++ b/Jellyfin.Data/Enums/PersonKind.cs
@@ -133,5 +133,5 @@ public enum PersonKind
///
/// A person who renders a text from one language into another.
///
- Translator
+ Translator,
}
diff --git a/Jellyfin.Data/Enums/SyncPlayAccessRequirementType.cs b/Jellyfin.Data/Enums/SyncPlayAccessRequirementType.cs
index 25fb05e3..1681f481 100644
--- a/Jellyfin.Data/Enums/SyncPlayAccessRequirementType.cs
+++ b/Jellyfin.Data/Enums/SyncPlayAccessRequirementType.cs
@@ -27,6 +27,6 @@ namespace Jellyfin.Data.Enums
///
/// User must be in a group.
///
- IsInGroup = 3
+ IsInGroup = 3,
}
}
diff --git a/Jellyfin.Data/Enums/UnratedItem.cs b/Jellyfin.Data/Enums/UnratedItem.cs
index 7a25a63a..8a995b2c 100644
--- a/Jellyfin.Data/Enums/UnratedItem.cs
+++ b/Jellyfin.Data/Enums/UnratedItem.cs
@@ -52,6 +52,6 @@ namespace Jellyfin.Data.Enums
///
/// Another type, not covered by the other fields.
///
- Other = 8
+ Other = 8,
}
}
diff --git a/Jellyfin.Data/Enums/VideoRange.cs b/Jellyfin.Data/Enums/VideoRange.cs
index 260e27e4..5ba77eb4 100644
--- a/Jellyfin.Data/Enums/VideoRange.cs
+++ b/Jellyfin.Data/Enums/VideoRange.cs
@@ -22,5 +22,5 @@ public enum VideoRange
///
/// HDR video range.
///
- HDR
+ HDR,
}
diff --git a/Jellyfin.Data/Enums/VideoRangeType.cs b/Jellyfin.Data/Enums/VideoRangeType.cs
index ec4a98ac..f740c901 100644
--- a/Jellyfin.Data/Enums/VideoRangeType.cs
+++ b/Jellyfin.Data/Enums/VideoRangeType.cs
@@ -73,5 +73,5 @@ public enum VideoRangeType
///
/// HDR10+ video range type (10bit to 16bit).
///
- HDR10Plus
+ HDR10Plus,
}
diff --git a/Jellyfin.Data/Events/GenericEventArgs.cs b/Jellyfin.Data/Events/GenericEventArgs.cs
index bd32d121..b69b9c51 100644
--- a/Jellyfin.Data/Events/GenericEventArgs.cs
+++ b/Jellyfin.Data/Events/GenericEventArgs.cs
@@ -2,6 +2,8 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#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
/// The argument.
public GenericEventArgs(T arg)
{
- Argument = arg;
+ this.Argument = arg;
}
///
diff --git a/Jellyfin.Data/Events/System/PendingRestartEventArgs.cs b/Jellyfin.Data/Events/System/PendingRestartEventArgs.cs
index dff46269..b63049c6 100644
--- a/Jellyfin.Data/Events/System/PendingRestartEventArgs.cs
+++ b/Jellyfin.Data/Events/System/PendingRestartEventArgs.cs
@@ -2,6 +2,9 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#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
diff --git a/Jellyfin.Data/Events/Users/UserCreatedEventArgs.cs b/Jellyfin.Data/Events/Users/UserCreatedEventArgs.cs
index c97fdcfc..0a7bb355 100644
--- a/Jellyfin.Data/Events/Users/UserCreatedEventArgs.cs
+++ b/Jellyfin.Data/Events/Users/UserCreatedEventArgs.cs
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-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;
+
///
/// An event that occurs when a user is created.
///
diff --git a/Jellyfin.Data/Events/Users/UserDeletedEventArgs.cs b/Jellyfin.Data/Events/Users/UserDeletedEventArgs.cs
index fb313ac2..2a4aebef 100644
--- a/Jellyfin.Data/Events/Users/UserDeletedEventArgs.cs
+++ b/Jellyfin.Data/Events/Users/UserDeletedEventArgs.cs
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-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;
+
///
/// An event that occurs when a user is deleted.
///
diff --git a/Jellyfin.Data/Events/Users/UserLockedOutEventArgs.cs b/Jellyfin.Data/Events/Users/UserLockedOutEventArgs.cs
index 1060220c..c0037e87 100644
--- a/Jellyfin.Data/Events/Users/UserLockedOutEventArgs.cs
+++ b/Jellyfin.Data/Events/Users/UserLockedOutEventArgs.cs
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-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;
+
///
/// An event that occurs when a user is locked out.
///
diff --git a/Jellyfin.Data/Events/Users/UserPasswordChangedEventArgs.cs b/Jellyfin.Data/Events/Users/UserPasswordChangedEventArgs.cs
index 6286e6d2..97a8e4e9 100644
--- a/Jellyfin.Data/Events/Users/UserPasswordChangedEventArgs.cs
+++ b/Jellyfin.Data/Events/Users/UserPasswordChangedEventArgs.cs
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-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;
+
///
/// An event that occurs when a user's password has changed.
///
diff --git a/Jellyfin.Data/Events/Users/UserUpdatedEventArgs.cs b/Jellyfin.Data/Events/Users/UserUpdatedEventArgs.cs
index b8c6304d..506cc600 100644
--- a/Jellyfin.Data/Events/Users/UserUpdatedEventArgs.cs
+++ b/Jellyfin.Data/Events/Users/UserUpdatedEventArgs.cs
@@ -2,10 +2,12 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-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;
+
///
/// An event that occurs when a user is updated.
///
diff --git a/Jellyfin.Data/Queries/ActivityLogQuery.cs b/Jellyfin.Data/Queries/ActivityLogQuery.cs
index 335894ea..c92eee73 100644
--- a/Jellyfin.Data/Queries/ActivityLogQuery.cs
+++ b/Jellyfin.Data/Queries/ActivityLogQuery.cs
@@ -2,14 +2,14 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+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;
-
///
/// A class representing a query to the activity logs.
///
diff --git a/Jellyfin.Data/Queries/DeviceQuery.cs b/Jellyfin.Data/Queries/DeviceQuery.cs
index 8b6cd330..dd1e9d0d 100644
--- a/Jellyfin.Data/Queries/DeviceQuery.cs
+++ b/Jellyfin.Data/Queries/DeviceQuery.cs
@@ -2,28 +2,27 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+namespace Jellyfin.Data.Queries;
+
using System;
-namespace Jellyfin.Data.Queries
+///
+/// A query to retrieve devices.
+///
+public class DeviceQuery : PaginatedQuery
{
///
- /// A query to retrieve devices.
+ /// Gets or sets the user id of the device.
///
- public class DeviceQuery : PaginatedQuery
- {
- ///
- /// Gets or sets the user id of the device.
- ///
- public Guid? UserId { get; set; }
+ public Guid? UserId { get; set; }
- ///
- /// Gets or sets the device id.
- ///
- public string? DeviceId { get; set; }
+ ///
+ /// Gets or sets the device id.
+ ///
+ public string? DeviceId { get; set; }
- ///
- /// Gets or sets the access token.
- ///
- public string? AccessToken { get; set; }
- }
+ ///
+ /// Gets or sets the access token.
+ ///
+ public string? AccessToken { get; set; }
}
diff --git a/Jellyfin.Data/UserEntityExtensions.cs b/Jellyfin.Data/UserEntityExtensions.cs
index 84d9aad7..17b5aa61 100644
--- a/Jellyfin.Data/UserEntityExtensions.cs
+++ b/Jellyfin.Data/UserEntityExtensions.cs
@@ -2,6 +2,8 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+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;
-
///
/// Contains extension methods for manipulation of entities.
///
@@ -29,6 +29,7 @@ public static class UserEntityExtensions
/// True if the user has the specified permission.
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
/// The value to set.
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
/// A string array containing the user's preferences.
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() : val.Split(Delimiter);
@@ -73,6 +76,7 @@ public static class UserEntityExtensions
/// A {T} array containing the user's preference.
public static T[] GetPreferenceValues(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
/// The values.
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
/// The type of value.
public static void SetPreference(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
/// True if the current time is within an access schedule, or there are no access schedules.
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())
{
+ ArgumentNullException.ThrowIfNull(entity);
entity.Preferences.Add(new Preference(val, string.Empty));
}
}
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.dll b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.dll
new file mode 100644
index 00000000..30bfbe7b
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.pdb b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.pdb
new file mode 100644
index 00000000..213f6c5e
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.pdb differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.xml b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.xml
new file mode 100644
index 00000000..d781356f
--- /dev/null
+++ b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.CodeAnalysis.xml
@@ -0,0 +1,24 @@
+
+
+
+ Jellyfin.CodeAnalysis
+
+
+
+
+ Analyzer to detect sync disposal of async-created IAsyncDisposable objects.
+
+
+
+
+ Diagnostic descriptor for sync disposal of async-created IAsyncDisposable objects.
+
+
+
+
+
+
+
+
+
+
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.deps.json b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.deps.json
new file mode 100644
index 00000000..e02ef60f
--- /dev/null
+++ b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.deps.json
@@ -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": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.dll b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.dll
new file mode 100644
index 00000000..e95bba9b
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.dll differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.pdb b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.pdb
new file mode 100644
index 00000000..207eaf99
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.pdb differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.xml b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.xml
new file mode 100644
index 00000000..ecc10cd2
--- /dev/null
+++ b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Data.xml
@@ -0,0 +1,1198 @@
+
+
+
+ Jellyfin.Data
+
+
+
+
+ Attribute to specify that the enum value is to be ignored when generating the openapi spec.
+
+
+
+
+ A dto representing custom options for a device.
+
+
+
+
+ Gets or sets the id.
+
+
+
+
+ Gets or sets the device id.
+
+
+
+
+ Gets or sets the custom name.
+
+
+
+
+ Activity log sorting options.
+
+
+
+
+ Sort by name.
+
+
+
+
+ Sort by overview.
+
+
+
+
+ Sort by short overview.
+
+
+
+
+ Sort by type.
+
+
+
+
+ Sort by date.
+
+
+
+
+ Sort by username.
+
+
+
+
+ Sort by severity.
+
+
+
+
+ An enum representing formats of spatial audio.
+
+
+
+
+ None audio spatial format.
+
+
+
+
+ Dolby Atmos audio spatial format.
+
+
+
+
+ DTS:X audio spatial format.
+
+
+
+
+ The base item kind.
+
+
+ This enum is generated from all classes that inherit from BaseItem.
+
+
+
+
+ Item is aggregate folder.
+
+
+
+
+ Item is audio.
+
+
+
+
+ Item is audio book.
+
+
+
+
+ Item is base plugin folder.
+
+
+
+
+ Item is book.
+
+
+
+
+ Item is box set.
+
+
+
+
+ Item is channel.
+
+
+
+
+ Item is channel folder item.
+
+
+
+
+ Item is collection folder.
+
+
+
+
+ Item is episode.
+
+
+
+
+ Item is folder.
+
+
+
+
+ Item is genre.
+
+
+
+
+ Item is manual playlists folder.
+
+
+
+
+ Item is movie.
+
+
+
+
+ Item is a live tv channel.
+
+
+
+
+ Item is a live tv program.
+
+
+
+
+ Item is music album.
+
+
+
+
+ Item is music artist.
+
+
+
+
+ Item is music genre.
+
+
+
+
+ Item is music video.
+
+
+
+
+ Item is person.
+
+
+
+
+ Item is photo.
+
+
+
+
+ Item is photo album.
+
+
+
+
+ Item is playlist.
+
+
+
+
+ Item is playlist folder.
+
+
+
+
+ Item is program.
+
+
+
+
+ Item is recording.
+
+
+ Manually added.
+
+
+
+
+ Item is season.
+
+
+
+
+ Item is series.
+
+
+
+
+ Item is studio.
+
+
+
+
+ Item is trailer.
+
+
+
+
+ Item is live tv channel.
+
+
+ Type is overridden.
+
+
+
+
+ Item is live tv program.
+
+
+ Type is overridden.
+
+
+
+
+ Item is user root folder.
+
+
+
+
+ Item is user view.
+
+
+
+
+ Item is video.
+
+
+
+
+ Item is year.
+
+
+
+
+ Collection type.
+
+
+
+
+ Unknown collection.
+
+
+
+
+ Movies collection.
+
+
+
+
+ Tv shows collection.
+
+
+
+
+ Music collection.
+
+
+
+
+ Music videos collection.
+
+
+
+
+ Trailers collection.
+
+
+
+
+ Home videos collection.
+
+
+
+
+ Box sets collection.
+
+
+
+
+ Books collection.
+
+
+
+
+ Photos collection.
+
+
+
+
+ Live tv collection.
+
+
+
+
+ Playlists collection.
+
+
+
+
+ Folders collection.
+
+
+
+
+ Tv show series collection.
+
+
+
+
+ Tv genres collection.
+
+
+
+
+ Tv genre collection.
+
+
+
+
+ Tv latest collection.
+
+
+
+
+ Tv next up collection.
+
+
+
+
+ Tv resume collection.
+
+
+
+
+ Tv favorite series collection.
+
+
+
+
+ Tv favorite episodes collection.
+
+
+
+
+ Latest movies collection.
+
+
+
+
+ Movies to resume collection.
+
+
+
+
+ Movie movie collection.
+
+
+
+
+ Movie collections collection.
+
+
+
+
+ Movie favorites collection.
+
+
+
+
+ Movie genres collection.
+
+
+
+
+ Movie genre collection.
+
+
+
+
+ These represent sort orders.
+
+
+
+
+ Default sort order.
+
+
+
+
+ The aired episode order.
+
+
+
+
+ The album.
+
+
+
+
+ The album artist.
+
+
+
+
+ The artist.
+
+
+
+
+ The date created.
+
+
+
+
+ The official rating.
+
+
+
+
+ The date played.
+
+
+
+
+ The premiere date.
+
+
+
+
+ The start date.
+
+
+
+
+ The sort name.
+
+
+
+
+ The name.
+
+
+
+
+ The random.
+
+
+
+
+ The runtime.
+
+
+
+
+ The community rating.
+
+
+
+
+ The production year.
+
+
+
+
+ The play count.
+
+
+
+
+ The critic rating.
+
+
+
+
+ The IsFolder boolean.
+
+
+
+
+ The IsUnplayed boolean.
+
+
+
+
+ The IsPlayed boolean.
+
+
+
+
+ The series sort.
+
+
+
+
+ The video bitrate.
+
+
+
+
+ The air time.
+
+
+
+
+ The studio.
+
+
+
+
+ The IsFavouriteOrLiked boolean.
+
+
+
+
+ The last content added date.
+
+
+
+
+ The series last played date.
+
+
+
+
+ The parent index number.
+
+
+
+
+ The index number.
+
+
+
+
+ Media streaming protocol.
+ Lowercase for backwards compatibility.
+
+
+
+
+ HTTP.
+
+
+
+
+ HTTP Live Streaming.
+
+
+
+
+ Media types.
+
+
+
+
+ Unknown media type.
+
+
+
+
+ Video media.
+
+
+
+
+ Audio media.
+
+
+
+
+ Photo media.
+
+
+
+
+ Book media.
+
+
+
+
+ The person kind.
+
+
+
+
+ An unknown person kind.
+
+
+
+
+ A person whose profession is acting on the stage, in films, or on television.
+
+
+
+
+ A person who supervises the actors and other staff in a film, play, or similar production.
+
+
+
+
+ A person who writes music, especially as a professional occupation.
+
+
+
+
+ A writer of a book, article, or document. Can also be used as a generic term for music writer if there is a lack of specificity.
+
+
+
+
+ A well-known actor or other performer who appears in a work in which they do not have a regular role.
+
+
+
+
+ A person responsible for the financial and managerial aspects of the making of a film or broadcast or for staging a play, opera, etc.
+
+
+
+
+ A person who directs the performance of an orchestra or choir.
+
+
+
+
+ A person who writes the words to a song or musical.
+
+
+
+
+ A person who adapts a musical composition for performance.
+
+
+
+
+ An audio engineer who performed a general engineering role.
+
+
+
+
+ An engineer responsible for using a mixing console to mix a recorded track into a single piece of music suitable for release.
+
+
+
+
+ A person who remixed a recording by taking one or more other tracks, substantially altering them and mixing them together with other material.
+
+
+
+
+ A person who created the material.
+
+
+
+
+ A person who was the artist.
+
+
+
+
+ A person who was the album artist.
+
+
+
+
+ A person who was the author.
+
+
+
+
+ A person who was the illustrator.
+
+
+
+
+ A person responsible for drawing the art.
+
+
+
+
+ A person responsible for inking the pencil art.
+
+
+
+
+ A person responsible for applying color to drawings.
+
+
+
+
+ A person responsible for drawing text and speech bubbles.
+
+
+
+
+ A person responsible for drawing the cover art.
+
+
+
+
+ A person contributing to a resource by revising or elucidating the content, e.g., adding an introduction, notes, or other critical matter.
+ An editor may also prepare a resource for production, publication, or distribution.
+
+
+
+
+ A person who renders a text from one language into another.
+
+
+
+
+ Enum SyncPlayAccessRequirementType.
+
+
+
+
+ User must have access to SyncPlay, in some form.
+
+
+
+
+ User must be able to create groups.
+
+
+
+
+ User must be able to join groups.
+
+
+
+
+ User must be in a group.
+
+
+
+
+ An enum representing an unrated item.
+
+
+
+
+ A movie.
+
+
+
+
+ A trailer.
+
+
+
+
+ A series.
+
+
+
+
+ Music.
+
+
+
+
+ A book.
+
+
+
+
+ A live TV channel.
+
+
+
+
+ A live TV program.
+
+
+
+
+ Channel content.
+
+
+
+
+ Another type, not covered by the other fields.
+
+
+
+
+ An enum representing video ranges.
+
+
+
+
+ Unknown video range.
+
+
+
+
+ SDR video range.
+
+
+
+
+ HDR video range.
+
+
+
+
+ An enum representing types of video ranges.
+
+
+
+
+ Unknown video range type.
+
+
+
+
+ SDR video range type (8bit).
+
+
+
+
+ HDR10 video range type (10bit).
+
+
+
+
+ HLG video range type (10bit).
+
+
+
+
+ Dolby Vision video range type (10bit encoded / 12bit remapped).
+
+
+
+
+ Dolby Vision with HDR10 video range fallback (10bit).
+
+
+
+
+ Dolby Vision with HLG video range fallback (10bit).
+
+
+
+
+ Dolby Vision with SDR video range fallback (8bit / 10bit).
+
+
+
+
+ Dolby Vision with Enhancment Layer (Profile 7).
+
+
+
+
+ Dolby Vision and HDR10+ Metadata coexists.
+
+
+
+
+ Dolby Vision with Enhancment Layer (Profile 7) and HDR10+ Metadata coexists.
+
+
+
+
+ Dolby Vision with invalid configuration. e.g. Profile 8 compat id 6.
+ When using this range, the server would assume the video is still HDR10 after removing the Dolby Vision metadata.
+
+
+
+
+ HDR10+ video range type (10bit to 16bit).
+
+
+
+
+ Provides a generic EventArgs subclass that can hold any kind of object.
+
+ The type of this event.
+
+
+
+ Initializes a new instance of the class.
+
+ The argument.
+
+
+
+ Gets the argument.
+
+ The argument.
+
+
+
+ An event that occurs when there is a pending restart.
+
+
+
+
+ An event that occurs when a user is created.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is deleted.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is locked out.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user's password has changed.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is updated.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ A class representing a query to the activity logs.
+
+
+
+
+ Gets or sets a value indicating whether to take entries with a user id.
+
+
+
+
+ Gets or sets the minimum date to query for.
+
+
+
+
+ Gets or sets the maximum date to query for.
+
+
+
+
+ Gets or sets the name filter.
+
+
+
+
+ Gets or sets the overview filter.
+
+
+
+
+ Gets or sets the short overview filter.
+
+
+
+
+ Gets or sets the type filter.
+
+
+
+
+ Gets or sets the item filter.
+
+
+
+
+ Gets or sets the username filter.
+
+
+
+
+ Gets or sets the log level filter.
+
+
+
+
+ Gets or sets the result ordering.
+
+
+
+
+ A query to retrieve devices.
+
+
+
+
+ Gets or sets the user id of the device.
+
+
+
+
+ Gets or sets the device id.
+
+
+
+
+ Gets or sets the access token.
+
+
+
+
+ An abstract class for paginated queries.
+
+
+
+
+ Gets or sets the index to start at.
+
+
+
+
+ Gets or sets the maximum number of items to include.
+
+
+
+
+ Contains extension methods for manipulation of entities.
+
+
+
+
+ The values being delimited here are Guids, so commas work as they do not appear in Guids.
+
+
+
+
+ Checks whether the user has the specified permission.
+
+ The entity to update.
+ The permission kind.
+ True if the user has the specified permission.
+
+
+
+ Sets the given permission kind to the provided value.
+
+ The entity to update.
+ The permission kind.
+ The value to set.
+
+
+
+ Gets the user's preferences for the given preference kind.
+
+ The entity to update.
+ The preference kind.
+ A string array containing the user's preferences.
+
+
+
+ Gets the user's preferences for the given preference kind.
+
+ The entity to update.
+ The preference kind.
+ Type of preference.
+ A {T} array containing the user's preference.
+
+
+
+ Sets the specified preference to the given value.
+
+ The entity to update.
+ The preference kind.
+ The values.
+
+
+
+ Sets the specified preference to the given value.
+
+ The entity to update.
+ The preference kind.
+ The values.
+ The type of value.
+
+
+
+ Checks whether this user is currently allowed to use the server.
+
+ The entity to update.
+ True if the current time is within an access schedule, or there are no access schedules.
+
+
+
+ Checks whether the provided folder is in this user's grouped folders.
+
+ The entity to update.
+ The Guid of the folder.
+ True if the folder is in the user's grouped folders.
+
+
+
+ Initializes the default permissions for a user. Should only be called on user creation.
+
+ The entity to update.
+
+
+
+ Initializes the default preferences. Should only be called on user creation.
+
+ The entity to update.
+
+
+
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.dll b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.dll
new file mode 100644
index 00000000..cf074737
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.dll differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.pdb b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.pdb
new file mode 100644
index 00000000..2e758da7
Binary files /dev/null and b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.pdb differ
diff --git a/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.xml b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.xml
new file mode 100644
index 00000000..91403057
--- /dev/null
+++ b/Jellyfin.Data/bin/Debug/net10.0/Jellyfin.Database.Implementations.xml
@@ -0,0 +1,4686 @@
+
+
+
+ Jellyfin.Database.Implementations
+
+
+
+
+ The custom value option for custom database providers.
+
+
+
+
+ Gets or sets the key of the value.
+
+
+
+
+ Gets or sets the value.
+
+
+
+
+ Defines the options for a custom database connector.
+
+
+
+
+ Gets or sets the Plugin name to search for database providers.
+
+
+
+
+ Gets or sets the plugin assembly to search for providers.
+
+
+
+
+ Gets or sets the connection string for the custom database provider.
+
+
+
+
+ Gets or sets the list of extra options for the custom provider.
+
+
+
+
+ Options to configure jellyfins managed database.
+
+
+
+
+ Gets or Sets the type of database jellyfin should use.
+
+
+
+
+ Gets or sets the options required to use a custom database provider.
+
+
+
+
+ Gets or Sets the kind of locking behavior jellyfin should perform. Possible options are "NoLock", "Pessimistic", "Optimistic".
+ Defaults to "NoLock".
+
+
+
+
+ Defines all possible methods for locking database access for concurrent queries.
+
+
+
+
+ Defines that no explicit application level locking for reads and writes should be done and only provider specific locking should be relied on.
+
+
+
+
+ Defines a behavior that always blocks all reads while any one write is done.
+
+
+
+
+ Defines that all writes should be attempted and when fail should be retried.
+
+
+
+
+ An entity representing a user's access schedule.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The day of the week.
+ The start hour.
+ The end hour.
+ The associated user's id.
+
+
+
+ Gets the id of this instance.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets the id of the associated user.
+
+
+
+
+ Gets or sets the day of week.
+
+ The day of week.
+
+
+
+ Gets or sets the start hour.
+
+ The start hour.
+
+
+
+ Gets or sets the end hour.
+
+ The end hour.
+
+
+
+ An entity referencing an activity log entry.
+
+
+
+
+ Initializes a new instance of the class.
+ Public constructor with required data.
+
+ The name.
+ The type.
+ The user id.
+
+
+
+ Gets the identity of this instance.
+
+
+
+
+ Gets or sets the name.
+
+
+ Required, Max length = 512.
+
+
+
+
+ Gets or sets the overview.
+
+
+ Max length = 512.
+
+
+
+
+ Gets or sets the short overview.
+
+
+ Max length = 512.
+
+
+
+
+ Gets or sets the type.
+
+
+ Required, Max length = 256.
+
+
+
+
+ Gets or sets the user id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the item id.
+
+
+ Max length = 256.
+
+
+
+
+ Gets or sets the date created. This should be in UTC.
+
+
+ Required.
+
+
+
+
+ Gets or sets the log severity. Default is .
+
+
+ Required.
+
+
+
+
+ Gets the concurrency token used for optimistic concurrency control.
+
+
+
+
+ Updates the concurrency token before saving changes.
+
+
+
+
+ Represents the relational information for an .
+
+
+
+
+ Gets or Sets the AncestorId.
+
+
+
+
+ Gets or Sets the related BaseItem.
+
+
+
+
+ Gets or Sets the ParentItem.
+
+
+
+
+ Gets or Sets the Child item.
+
+
+
+
+ Provides information about an Attachment to an .
+
+
+
+
+ Gets or Sets the reference.
+
+
+
+
+ Gets or Sets the reference.
+
+
+
+
+ Gets or Sets the index within the source file.
+
+
+
+
+ Gets or Sets the codec of the attachment.
+
+
+
+
+ Gets or Sets the codec tag of the attachment.
+
+
+
+
+ Gets or Sets the comment of the attachment.
+
+
+
+
+ Gets or Sets the filename of the attachment.
+
+
+
+
+ Gets or Sets the attachments mimetype.
+
+
+
+
+ Enum TrailerTypes.
+
+
+
+
+ Gets or Sets.
+
+
+
+
+ Gets or Sets the path to the original image.
+
+
+
+
+ Gets or Sets the time the image was last modified.
+
+
+
+
+ Gets or Sets the imagetype.
+
+
+
+
+ Gets or Sets the width of the original image.
+
+
+
+
+ Gets or Sets the height of the original image.
+
+
+
+
+ Gets or Sets the blurhash.
+
+
+
+
+ Gets or Sets the reference id to the BaseItem.
+
+
+
+
+ Gets or Sets the referenced Item.
+
+
+
+
+ Enum MetadataFields.
+
+
+
+
+ Gets or Sets Numerical ID of this enumerable.
+
+
+
+
+ Gets or Sets all referenced .
+
+
+
+
+ Gets or Sets all referenced .
+
+
+
+
+ Represents a Key-Value relation of an BaseItem's provider.
+
+
+
+
+ Gets or Sets the reference ItemId.
+
+
+
+
+ Gets or Sets the reference BaseItem.
+
+
+
+
+ Gets or Sets the ProvidersId.
+
+
+
+
+ Gets or Sets the Providers Value.
+
+
+
+
+ Enum TrailerTypes.
+
+
+
+
+ Gets or Sets Numerical ID of this enumerable.
+
+
+
+
+ Gets or Sets all referenced .
+
+
+
+
+ Gets or Sets all referenced .
+
+
+
+
+ The Chapter entity.
+
+
+
+
+ Gets or Sets the reference id.
+
+
+
+
+ Gets or Sets the reference.
+
+
+
+
+ Gets or Sets the chapters index in Item.
+
+
+
+
+ Gets or Sets the position within the source file.
+
+
+
+
+ Gets or Sets the common name.
+
+
+
+
+ Gets or Sets the image path.
+
+
+
+
+ Gets or Sets the time the image was last modified.
+
+
+
+
+ An entity that represents a user's custom display preferences for a specific item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user id.
+ The item id.
+ The client.
+ The preference key.
+ The preference value.
+
+
+
+ Gets the Id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the user Id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the id of the associated item.
+
+
+ Required.
+
+
+
+
+ Gets or sets the client string.
+
+
+ Required. Max Length = 32.
+
+
+
+
+ Gets or sets the preference key.
+
+
+ Required.
+
+
+
+
+ Gets or sets the preference value.
+
+
+ Required.
+
+
+
+
+ An entity representing a user's display preferences.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user's id.
+ The item id.
+ The client string.
+
+
+
+ Gets the Id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the user Id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the id of the associated item.
+
+
+ Required.
+
+
+
+
+ Gets or sets the client string.
+
+
+ Required. Max Length = 32.
+
+
+
+
+ Gets or sets a value indicating whether to show the sidebar.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether to show the backdrop.
+
+
+ Required.
+
+
+
+
+ Gets or sets the scroll direction.
+
+
+ Required.
+
+
+
+
+ Gets or sets what the view should be indexed by.
+
+
+
+
+ Gets or sets the length of time to skip forwards, in milliseconds.
+
+
+ Required.
+
+
+
+
+ Gets or sets the length of time to skip backwards, in milliseconds.
+
+
+ Required.
+
+
+
+
+ Gets or sets the Chromecast Version.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the next video info overlay should be shown.
+
+
+ Required.
+
+
+
+
+ Gets or sets the dashboard theme.
+
+
+
+
+ Gets or sets the tv home screen.
+
+
+
+
+ Gets the home sections.
+
+
+
+
+ An entity representing a group.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the group.
+
+
+
+ Gets the id of this group.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the group's name.
+
+
+ Required, Max length = 255.
+
+
+
+
+
+
+
+ Gets a collection containing the group's permissions.
+
+
+
+
+ Gets a collection containing the group's preferences.
+
+
+
+
+
+
+
+ An entity representing a section on the user's home page.
+
+
+
+
+ Gets the id.
+
+
+ Identity. Required.
+
+
+
+
+ Gets or sets the Id of the associated display preferences.
+
+
+ Required.
+
+
+
+
+ Gets or sets the order.
+
+
+ Required.
+
+
+
+
+ Gets or sets the type.
+
+
+ Required.
+
+
+
+
+ An entity representing an image.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The path.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets the user id.
+
+
+
+
+ Gets or sets the path of the image.
+
+
+ Required.
+
+
+
+
+ Gets or sets the date last modified.
+
+
+ Required.
+
+
+
+
+ Enum ImageType.
+
+
+
+
+ The primary.
+
+
+
+
+ The art.
+
+
+
+
+ The backdrop.
+
+
+
+
+ The banner.
+
+
+
+
+ The logo.
+
+
+
+
+ The thumb.
+
+
+
+
+ The disc.
+
+
+
+
+ The box.
+
+
+
+
+ The screenshot.
+
+
+ This enum value is obsolete.
+ XmlSerializer does not serialize/deserialize objects that are marked as [Obsolete].
+
+
+
+
+ The menu.
+
+
+
+
+ The chapter image.
+
+
+
+
+ The box rear.
+
+
+
+
+ The user profile image.
+
+
+
+
+ An entity that represents a user's display preferences for a specific item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user id.
+ The item id.
+ The client.
+
+
+
+ Gets the id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the user Id.
+
+
+ Required.
+
+
+
+
+ Gets or sets the id of the associated item.
+
+
+ Required.
+
+
+
+
+ Gets or sets the client string.
+
+
+ Required. Max Length = 32.
+
+
+
+
+ Gets or sets the view type.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the indexing should be remembered.
+
+
+ Required.
+
+
+
+
+ Gets or sets what the view should be indexed by.
+
+
+
+
+ Gets or sets a value indicating whether the sorting type should be remembered.
+
+
+ Required.
+
+
+
+
+ Gets or sets what the view should be sorted by.
+
+
+ Required.
+
+
+
+
+ Gets or sets the sort order.
+
+
+ Required.
+
+
+
+
+ Represents an ItemValue for a BaseItem.
+
+
+
+
+ Gets or Sets the ItemValueId.
+
+
+
+
+ Gets or Sets the Type.
+
+
+
+
+ Gets or Sets the Value.
+
+
+
+
+ Gets or Sets the sanitized Value.
+
+
+
+
+ Gets or Sets all associated BaseItems.
+
+
+
+
+ Mapping table for the ItemValue BaseItem relation.
+
+
+
+
+ Gets or Sets the ItemId.
+
+
+
+
+ Gets or Sets the ItemValueId.
+
+
+
+
+ Gets or Sets the referenced .
+
+
+
+
+ Gets or Sets the referenced .
+
+
+
+
+ Provides the Value types for an .
+
+
+
+
+ Artists.
+
+
+
+
+ Album.
+
+
+
+
+ Genre.
+
+
+
+
+ Studios.
+
+
+
+
+ Tags.
+
+
+
+
+ InheritedTags.
+
+
+
+
+ Keyframe information for a specific file.
+
+
+
+
+ Gets or Sets the ItemId.
+
+
+
+
+ Gets or sets the total duration of the stream in ticks.
+
+
+
+
+ Gets or sets the keyframes in ticks.
+
+
+
+
+ Gets or sets the item reference.
+
+
+
+
+ An entity representing artwork.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The path.
+ The kind of art.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the path.
+
+
+ Required, Max length = 65535.
+
+
+
+
+ Gets or sets the kind of artwork.
+
+
+ Required.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a book.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets a collection containing the metadata for this book.
+
+
+
+
+
+
+
+ An entity containing metadata for a book.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the ISBN.
+
+
+
+
+ Gets a collection of the publishers for this book.
+
+
+
+
+
+
+
+ An entity representing a chapter.
+
+
+
+
+ Initializes a new instance of the class.
+
+ ISO-639-3 3-character language codes.
+ The start time for this chapter.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the language.
+
+
+ Required, Min length = 3, Max length = 3
+ ISO-639-3 3-character language codes.
+
+
+
+
+ Gets or sets the start time.
+
+
+ Required.
+
+
+
+
+ Gets or sets the end time.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Max length = 1024.
+
+
+
+
+
+
+
+ Gets a collection containing this collection's items.
+
+
+
+
+
+
+
+ An entity representing a collection item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library item.
+
+
+
+ Gets or sets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+
+
+
+ Gets or sets the library item.
+
+
+ Required.
+
+
+
+
+ Gets or sets the next item in the collection.
+
+
+ TODO check if this properly updated Dependent and has the proper principal relationship.
+
+
+
+
+ Gets or sets the previous item in the collection.
+
+
+ TODO check if this properly updated Dependent and has the proper principal relationship.
+
+
+
+
+
+
+
+ An entity representing a company.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+
+
+
+ Gets a collection containing the metadata.
+
+
+
+
+ Gets a collection containing this company's child companies.
+
+
+
+
+
+
+
+
+
+
+ An entity holding metadata for a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the description.
+
+
+ Max length = 65535.
+
+
+
+
+ Gets or sets the headquarters.
+
+
+ Max length = 255.
+
+
+
+
+ Gets or sets the country code.
+
+
+ Max length = 2.
+
+
+
+
+ Gets or sets the homepage.
+
+
+ Max length = 1024.
+
+
+
+
+ An entity representing a custom item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets a collection containing the metadata for this item.
+
+
+
+
+
+
+
+ An entity containing metadata for a custom item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ An entity representing an episode.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets or sets the episode number.
+
+
+
+
+
+
+
+ Gets a collection containing the metadata for this episode.
+
+
+
+
+ An entity containing metadata for an .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the outline.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the plot.
+
+
+ Max length = 65535.
+
+
+
+
+ Gets or sets the tagline.
+
+
+ Max length = 1024.
+
+
+
+
+ An entity representing a genre.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Indexed, Required, Max length = 255.
+
+
+
+
+
+
+
+
+
+
+ An abstract class that holds metadata.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the title.
+
+
+ Required, Max length = 1024.
+
+
+
+
+ Gets or sets the original title.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the sort title.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the language.
+
+
+ Required, Min length = 3, Max length = 3.
+ ISO-639-3 3-character language codes.
+
+
+
+
+ Gets or sets the release date.
+
+
+
+
+ Gets the date added.
+
+
+ Required.
+
+
+
+
+ Gets or sets the date modified.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets a collection containing the person roles for this item.
+
+
+
+
+ Gets a collection containing the genres for this item.
+
+
+
+
+
+
+
+ Gets a collection containing the ratings for this item.
+
+
+
+
+ Gets a collection containing the metadata sources for this item.
+
+
+
+
+
+
+
+ An entity representing a library.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the library.
+ The path of the library.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Required, Max length = 128.
+
+
+
+
+ Gets or sets the root path of the library.
+
+
+ Required.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a library item.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library of this item.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets the date this library item was added.
+
+
+
+
+
+
+
+ Gets or sets the library of this item.
+
+
+ Required.
+
+
+
+
+
+
+
+ An entity representing a file on disk.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The path relative to the LibraryRoot.
+ The file kind.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the path relative to the library root.
+
+
+ Required, Max length = 65535.
+
+
+
+
+ Gets or sets the kind of media file.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets a collection containing the streams in this file.
+
+
+
+
+
+
+
+ An entity representing a stream in a media file.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of this stream.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the stream number.
+
+
+ Required.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a metadata provider.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the metadata provider.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Required, Max length = 1024.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a unique identifier for a metadata provider.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The provider id.
+ The metadata provider.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the provider id.
+
+
+ Required, Max length = 255.
+
+
+
+
+
+
+
+ Gets or sets the metadata provider.
+
+
+ Required.
+
+
+
+
+
+
+
+ An entity representing a movie.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+
+
+
+ Gets a collection containing the metadata for this movie.
+
+
+
+
+ An entity holding the metadata for a movie.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the movie.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the outline.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the tagline.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the plot.
+
+
+ Max length = 65535.
+
+
+
+
+ Gets or sets the country code.
+
+
+ Max length = 2.
+
+
+
+
+ Gets the studios that produced this movie.
+
+
+
+
+
+
+
+ An entity representing a music album.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets a collection containing the album metadata.
+
+
+
+
+ Gets a collection containing the tracks.
+
+
+
+
+ An entity holding the metadata for a music album.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the album.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the barcode.
+
+
+ Max length = 255.
+
+
+
+
+ Gets or sets the label number.
+
+
+ Max length = 255.
+
+
+
+
+ Gets or sets the country code.
+
+
+ Max length = 2.
+
+
+
+
+ Gets a collection containing the labels.
+
+
+
+
+ An entity representing a person.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the person.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Required, Max length = 1024.
+
+
+
+
+ Gets or sets the source id.
+
+
+ Max length = 255.
+
+
+
+
+ Gets the date added.
+
+
+ Required.
+
+
+
+
+ Gets or sets the date modified.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets a list of metadata sources for this person.
+
+
+
+
+
+
+
+ An entity representing a person's role in media.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The role type.
+ The person.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name of the person's role.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the person's role type.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets or sets the person.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets a collection containing the metadata sources for this person role.
+
+
+
+
+
+
+
+ An entity representing a photo.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets a collection containing the photo metadata.
+
+
+
+
+
+
+
+ An entity that holds metadata for a photo.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the photo.
+ ISO-639-3 3-character language codes.
+
+
+
+ An entity representing a rating for an entity.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The value.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the value.
+
+
+ Required.
+
+
+
+
+ Gets or sets the number of votes.
+
+
+
+
+
+
+
+ Gets or sets the rating type.
+ If this is null it's the internal user rating.
+
+
+
+
+
+
+
+ This is the entity to store review ratings, not age ratings.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The minimum value.
+ The maximum value.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the minimum value.
+
+
+ Required.
+
+
+
+
+ Gets or sets the maximum value.
+
+
+ Required.
+
+
+
+
+
+
+
+ Gets or sets the metadata source.
+
+
+
+
+
+
+
+ An entity representing a release for a library item, eg. Director's cut vs. standard.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of this release.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the name.
+
+
+ Required, Max length = 1024.
+
+
+
+
+
+
+
+ Gets a collection containing the media files for this release.
+
+
+
+
+ Gets a collection containing the chapters for this release.
+
+
+
+
+
+
+
+ An entity representing a season.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets or sets the season number.
+
+
+
+
+ Gets the season metadata.
+
+
+
+
+ Gets a collection containing the number of episodes.
+
+
+
+
+ An entity that holds metadata for seasons.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the outline.
+
+
+ Max length = 1024.
+
+
+
+
+ An entity representing a series.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets or sets the days of week.
+
+
+
+
+ Gets or sets the time the show airs, ignore the date portion.
+
+
+
+
+ Gets or sets the date the series first aired.
+
+
+
+
+ Gets a collection containing the series metadata.
+
+
+
+
+ Gets a collection containing the seasons.
+
+
+
+
+ An entity representing series metadata.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ Gets or sets the outline.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the plot.
+
+
+ Max length = 65535.
+
+
+
+
+ Gets or sets the tagline.
+
+
+ Max length = 1024.
+
+
+
+
+ Gets or sets the country code.
+
+
+ Max length = 2.
+
+
+
+
+ Gets a collection containing the networks.
+
+
+
+
+
+
+
+ An entity representing a track.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The library.
+
+
+
+ Gets or sets the track number.
+
+
+
+
+
+
+
+ Gets a collection containing the track metadata.
+
+
+
+
+ An entity holding metadata for a track.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The title or name of the object.
+ ISO-639-3 3-character language codes.
+
+
+
+ An entity representing the metadata for a group of trickplay tiles.
+
+
+
+
+ Gets or sets the id of the media segment.
+
+
+
+
+ Gets or sets the id of the associated item.
+
+
+
+
+ Gets or sets the Type of content this segment defines.
+
+
+
+
+ Gets or sets the end of the segment.
+
+
+
+
+ Gets or sets the start of the segment.
+
+
+
+
+ Gets or sets Id of the media segment provider this entry originates from.
+
+
+
+
+ Enum MediaStreamType.
+
+
+
+
+ The audio.
+
+
+
+
+ The video.
+
+
+
+
+ The subtitle.
+
+
+
+
+ The embedded image.
+
+
+
+
+ The data.
+
+
+
+
+ The lyric.
+
+
+
+
+ People entity.
+
+
+
+
+ Gets or Sets the PeopleId.
+
+
+
+
+ Gets or Sets the Persons Name.
+
+
+
+
+ Gets or Sets the Type.
+
+
+
+
+ Gets or Sets the mapping of People to BaseItems.
+
+
+
+
+ Mapping table for People to BaseItems.
+
+
+
+
+ Gets or Sets the SortOrder.
+
+
+
+
+ Gets or Sets the ListOrder.
+
+
+
+
+ Gets or Sets the Role name the associated actor played in the .
+
+
+
+
+ Gets or Sets The ItemId.
+
+
+
+
+ Gets or Sets Reference Item.
+
+
+
+
+ Gets or Sets The PeopleId.
+
+
+
+
+ Gets or Sets Reference People.
+
+
+
+
+ An entity representing whether the associated user has a specific permission.
+
+
+
+
+ Initializes a new instance of the class.
+ Public constructor with required data.
+
+ The permission kind.
+ The value of this permission.
+
+
+
+ Gets the id of this permission.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the id of the associated user.
+
+
+
+
+ Gets the type of this permission.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the associated user has this permission.
+
+
+ Required.
+
+
+
+
+
+
+
+
+
+
+ An entity representing a preference attached to a user or group.
+
+
+
+
+ Initializes a new instance of the class.
+ Public constructor with required data.
+
+ The preference kind.
+ The value.
+
+
+
+ Gets the id of this preference.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the id of the associated user.
+
+
+
+
+ Gets the type of this preference.
+
+
+ Required.
+
+
+
+
+ Gets or sets the value of this preference.
+
+
+ Required, Max length = 65535.
+
+
+
+
+
+
+
+
+
+
+ Lists types of Audio.
+
+
+
+
+ Mono.
+
+
+
+
+ Stereo.
+
+
+
+
+ Dolby.
+
+
+
+
+ DolbyDigital.
+
+
+
+
+ Thx.
+
+
+
+
+ Atmos.
+
+
+
+
+ An entity representing an API key.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+
+
+
+ Gets the id.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the date created.
+
+
+
+
+ Gets or sets the date of last activity.
+
+
+
+
+ Gets or sets the name.
+
+
+
+
+ Gets or sets the access token.
+
+
+
+
+ An entity representing a device.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user id.
+ The app name.
+ The app version.
+ The device name.
+ The device id.
+
+
+
+ Gets the id.
+
+
+
+
+ Gets the user id.
+
+
+
+
+ Gets or sets the access token.
+
+
+
+
+ Gets or sets the app name.
+
+
+
+
+ Gets or sets the app version.
+
+
+
+
+ Gets or sets the device name.
+
+
+
+
+ Gets or sets the device id.
+
+
+
+
+ Gets or sets a value indicating whether this device is active.
+
+
+
+
+ Gets or sets the date created.
+
+
+
+
+ Gets or sets the date modified.
+
+
+
+
+ Gets or sets the date of last activity.
+
+
+
+
+ Gets the user.
+
+
+
+
+ An entity representing custom options for a device.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The device id.
+
+
+
+ Gets the id.
+
+
+
+
+ Gets the device id.
+
+
+
+
+ Gets or sets the custom name.
+
+
+
+
+ An entity representing the metadata for a group of trickplay tiles.
+
+
+
+
+ Gets or sets the id of the associated item.
+
+
+ Required.
+
+
+
+
+ Gets or sets width of an individual thumbnail.
+
+
+ Required.
+
+
+
+
+ Gets or sets height of an individual thumbnail.
+
+
+ Required.
+
+
+
+
+ Gets or sets amount of thumbnails per row.
+
+
+ Required.
+
+
+
+
+ Gets or sets amount of thumbnails per column.
+
+
+ Required.
+
+
+
+
+ Gets or sets total amount of non-black thumbnails.
+
+
+ Required.
+
+
+
+
+ Gets or sets interval in milliseconds between each trickplay thumbnail.
+
+
+ Required.
+
+
+
+
+ Gets or sets peak bandwidth usage in bits per second.
+
+
+ Required.
+
+
+
+
+ An entity representing a user.
+
+
+
+
+ Initializes a new instance of the class.
+ Public constructor with required data.
+
+ The username for the new user.
+ The Id of the user's authentication provider.
+ The Id of the user's password reset provider.
+
+
+
+ Gets or sets the Id of the user.
+
+
+ Identity, Indexed, Required.
+
+
+
+
+ Gets or sets the user's name.
+
+
+ Required, Max length = 255.
+
+
+
+
+ Gets or sets the user's password, or null if none is set.
+
+
+ Max length = 65535.
+
+
+
+
+ Gets or sets a value indicating whether the user must update their password.
+
+
+ Required.
+
+
+
+
+ Gets or sets the audio language preference.
+
+
+ Max length = 255.
+
+
+
+
+ Gets or sets the authentication provider id.
+
+
+ Required, Max length = 255.
+
+
+
+
+ Gets or sets the password reset provider id.
+
+
+ Required, Max length = 255.
+
+
+
+
+ Gets or sets the invalid login attempt count.
+
+
+ Required.
+
+
+
+
+ Gets or sets the last activity date.
+
+
+
+
+ Gets or sets the last login date.
+
+
+
+
+ Gets or sets the number of login attempts the user can make before they are locked out.
+
+
+
+
+ Gets or sets the maximum number of active sessions the user can have at once.
+
+
+
+
+ Gets or sets the subtitle mode.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the default audio track should be played.
+
+
+ Required.
+
+
+
+
+ Gets or sets the subtitle language preference.
+
+
+ Max length = 255.
+
+
+
+
+ Gets or sets a value indicating whether missing episodes should be displayed.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether to display the collections view.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the user has a local password.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the server should hide played content in "Latest".
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether to remember audio selections on played content.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether to remember subtitle selections on played content.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether to enable auto-play for the next episode.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the user should auto-login.
+
+
+ Required.
+
+
+
+
+ Gets or sets a value indicating whether the user can change their preferences.
+
+
+ Required.
+
+
+
+
+ Gets or sets the maximum parental rating score.
+
+
+
+
+ Gets or sets the maximum parental rating sub score.
+
+
+
+
+ Gets or sets the remote client bitrate limit.
+
+
+
+
+ Gets or sets the internal id.
+ This is a temporary stopgap for until the library db is migrated.
+ This corresponds to the value of the index of this user in the library db.
+
+
+
+
+ Gets or sets the user's profile image. Can be null.
+
+
+
+
+ Gets the user's display preferences.
+
+
+
+
+ Gets or sets the level of sync play permissions this user has.
+
+
+
+
+ Gets or sets the cast receiver id.
+
+
+
+
+
+
+
+ Gets the list of access schedules this user has.
+
+
+
+
+ Gets the list of item display preferences.
+
+
+
+
+ Gets the list of permissions this user has.
+
+
+
+
+ Gets the list of preferences this user has.
+
+
+
+
+
+
+
+ Provides and related data.
+
+
+
+
+ Gets or sets the custom data key.
+
+ The rating.
+
+
+
+ Gets or sets the users 0-10 rating.
+
+ The rating.
+
+
+
+ Gets or sets the playback position ticks.
+
+ The playback position ticks.
+
+
+
+ Gets or sets the play count.
+
+ The play count.
+
+
+
+ Gets or sets a value indicating whether this instance is favorite.
+
+ true if this instance is favorite; otherwise, false.
+
+
+
+ Gets or sets the last played date.
+
+ The last played date.
+
+
+
+ Gets or sets a value indicating whether this is played.
+
+ true if played; otherwise, false.
+
+
+
+ Gets or sets the index of the audio stream.
+
+ The index of the audio stream.
+
+
+
+ Gets or sets the index of the subtitle stream.
+
+ The index of the subtitle stream.
+
+
+
+ Gets or sets a value indicating whether the item is liked or not.
+ This should never be serialized.
+
+ null if [likes] contains no value, true if [likes]; otherwise, false.
+
+
+
+ Gets or Sets the date the referenced has been deleted.
+
+
+
+
+ Gets or sets the key.
+
+ The key.
+
+
+
+ Gets or Sets the BaseItem.
+
+
+
+
+ Gets or Sets the UserId.
+
+
+
+
+ Gets or Sets the User.
+
+
+
+
+ An enum representing types of art.
+
+
+
+
+ Another type of art, not covered by the other members.
+
+
+
+
+ A poster.
+
+
+
+
+ A banner.
+
+
+
+
+ A thumbnail.
+
+
+
+
+ A logo.
+
+
+
+
+ An enum representing the version of Chromecast to be used by clients.
+
+
+
+
+ Stable Chromecast version.
+
+
+
+
+ Unstable Chromecast version.
+
+
+
+
+ An enum that represents a day of the week, weekdays, weekends, or all days.
+
+
+
+
+ Sunday.
+
+
+
+
+ Monday.
+
+
+
+
+ Tuesday.
+
+
+
+
+ Wednesday.
+
+
+
+
+ Thursday.
+
+
+
+
+ Friday.
+
+
+
+
+ Saturday.
+
+
+
+
+ All days of the week.
+
+
+
+
+ A week day, or Monday-Friday.
+
+
+
+
+ Saturday and Sunday.
+
+
+
+
+ An enum representing the different options for the home screen sections.
+
+
+
+
+ None.
+
+
+
+
+ My Media.
+
+
+
+
+ My Media Small.
+
+
+
+
+ Active Recordings.
+
+
+
+
+ Continue Watching.
+
+
+
+
+ Continue Listening.
+
+
+
+
+ Latest Media.
+
+
+
+
+ Next Up.
+
+
+
+
+ Live TV.
+
+
+
+
+ Continue Reading.
+
+
+
+
+ An enum representing a type of indexing in a user's display preferences.
+
+
+
+
+ Index by the premiere date.
+
+
+
+
+ Index by the production year.
+
+
+
+
+ Index by the community rating.
+
+
+
+
+ An enum representing the type of media file.
+
+
+
+
+ The main file.
+
+
+
+
+ A sidecar file.
+
+
+
+
+ An additional part to the main file.
+
+
+
+
+ An alternative format to the main file.
+
+
+
+
+ An additional stream for the main file.
+
+
+
+
+ Defines the types of content an individual represents.
+
+
+
+
+ Default media type or custom one.
+
+
+
+
+ Commercial.
+
+
+
+
+ Preview.
+
+
+
+
+ Recap.
+
+
+
+
+ Outro.
+
+
+
+
+ Intro.
+
+
+
+
+ The types of user permissions.
+
+
+
+
+ Whether the user is an administrator.
+
+
+
+
+ Whether the user is hidden.
+
+
+
+
+ Whether the user is disabled.
+
+
+
+
+ Whether the user can control shared devices.
+
+
+
+
+ Whether the user can access the server remotely.
+
+
+
+
+ Whether the user can manage live tv.
+
+
+
+
+ Whether the user can access live tv.
+
+
+
+
+ Whether the user can play media.
+
+
+
+
+ Whether the server should transcode audio for the user if requested.
+
+
+
+
+ Whether the server should transcode video for the user if requested.
+
+
+
+
+ Whether the user can delete content.
+
+
+
+
+ Whether the user can download content.
+
+
+
+
+ Whether to enable sync transcoding for the user.
+
+
+
+
+ Whether the user can do media conversion.
+
+
+
+
+ Whether the user has access to all devices.
+
+
+
+
+ Whether the user has access to all channels.
+
+
+
+
+ Whether the user has access to all folders.
+
+
+
+
+ Whether to enable public sharing for the user.
+
+
+
+
+ Whether the user can remotely control other users.
+
+
+
+
+ Whether the user is permitted to do playback remuxing.
+
+
+
+
+ Whether the server should force transcoding on remote connections for the user.
+
+
+
+
+ Whether the user can create, modify and delete collections.
+
+
+
+
+ Whether the user can edit subtitles.
+
+
+
+
+ Whether the user can edit lyrics.
+
+
+
+
+ An enum representing a person's role in a specific media item.
+
+
+
+
+ Another role, not covered by the other types.
+
+
+
+
+ The director of the media.
+
+
+
+
+ An artist.
+
+
+
+
+ The original artist.
+
+
+
+
+ An actor.
+
+
+
+
+ A voice actor.
+
+
+
+
+ A producer.
+
+
+
+
+ A remixer.
+
+
+
+
+ A conductor.
+
+
+
+
+ A composer.
+
+
+
+
+ An author.
+
+
+
+
+ An editor.
+
+
+
+
+ The types of user preferences.
+
+
+
+
+ A list of blocked tags.
+
+
+
+
+ A list of blocked channels.
+
+
+
+
+ A list of blocked media folders.
+
+
+
+
+ A list of enabled devices.
+
+
+
+
+ A list of enabled channels.
+
+
+
+
+ A list of enabled folders.
+
+
+
+
+ A list of folders to allow content deletion from.
+
+
+
+
+ A list of latest items to exclude.
+
+
+
+
+ A list of media to exclude.
+
+
+
+
+ A list of grouped folders.
+
+
+
+
+ A list of unrated items to block.
+
+
+
+
+ A list of ordered views.
+
+
+
+
+ A list of allowed tags.
+
+
+
+
+ An enum representing the axis that should be scrolled.
+
+
+
+
+ Horizontal scrolling direction.
+
+
+
+
+ Vertical scrolling direction.
+
+
+
+
+ An enum representing the sorting order.
+
+
+
+
+ Sort in increasing order.
+
+
+
+
+ Sort in decreasing order.
+
+
+
+
+ An enum representing a subtitle playback mode.
+
+
+
+
+ The default subtitle playback mode.
+
+
+
+
+ Always show subtitles.
+
+
+
+
+ Only show forced subtitles.
+
+
+
+
+ Don't show subtitles.
+
+
+
+
+ Only show subtitles when the current audio stream is in a different language.
+
+
+
+
+ Enum SyncPlayUserAccessType.
+
+
+
+
+ User can create groups and join them.
+
+
+
+
+ User can only join already existing groups.
+
+
+
+
+ SyncPlay is disabled for the user.
+
+
+
+
+ An enum representing the type of view for a library or collection.
+
+
+
+
+ Shows albums.
+
+
+
+
+ Shows album artists.
+
+
+
+
+ Shows artists.
+
+
+
+
+ Shows channels.
+
+
+
+
+ Shows collections.
+
+
+
+
+ Shows episodes.
+
+
+
+
+ Shows favorites.
+
+
+
+
+ Shows genres.
+
+
+
+
+ Shows guide.
+
+
+
+
+ Shows movies.
+
+
+
+
+ Shows networks.
+
+
+
+
+ Shows playlists.
+
+
+
+
+ Shows programs.
+
+
+
+
+ Shows recordings.
+
+
+
+
+ Shows schedule.
+
+
+
+
+ Shows series.
+
+
+
+
+ Shows shows.
+
+
+
+
+ Shows songs.
+
+
+
+
+ Shows songs.
+
+
+
+
+ Shows trailers.
+
+
+
+
+ Shows upcoming.
+
+
+
+
+ Defines the type and extension points for multi database support.
+
+
+
+
+ Gets or Sets the Database Factory when initialisaition is done.
+
+
+
+
+ Initialises jellyfins EFCore database access.
+
+ The EFCore database options.
+ The Jellyfin database options.
+
+
+
+ Will be invoked when EFCore wants to build its model.
+
+ The ModelBuilder from EFCore.
+
+
+
+ Will be invoked when EFCore wants to configure its model.
+
+ The ModelConfigurationBuilder from EFCore.
+
+
+
+ If supported this should run any periodic maintaince tasks.
+
+ The token to abort the operation.
+ A representing the asynchronous operation.
+
+
+
+ If supported this should perform any actions that are required on stopping the jellyfin server.
+
+ The token that will be used to abort the operation.
+ A representing the asynchronous operation.
+
+
+
+ Runs a full Database backup that can later be restored to.
+
+ A cancellation token.
+ A key to identify the backup.
+ May throw an NotImplementException if this operation is not supported for this database.
+
+
+
+ Restores a backup that has been previously created by .
+
+ The key to the backup from which the current database should be restored from.
+ A cancellation token.
+ A representing the result of the asynchronous operation.
+
+
+
+ Deletes a backup that has been previously created by .
+
+ The key to the backup which should be cleaned up.
+ A representing the result of the asynchronous operation.
+
+
+
+ Removes all contents from the database.
+
+ The Database context.
+ The names of the tables to purge or null for all tables to be purged.
+ A Task.
+
+
+
+ An interface abstracting an entity that has artwork.
+
+
+
+
+ Gets a collection containing this entity's artwork.
+
+
+
+
+ An abstraction representing an entity that has companies.
+
+
+
+
+ Gets a collection containing this entity's companies.
+
+
+
+
+ An interface abstracting an entity that has a concurrency token.
+
+
+
+
+ Gets the version of this row. Acts as a concurrency token.
+
+
+
+
+ Called when saving changes to this entity.
+
+
+
+
+ An abstraction representing an entity that has permissions.
+
+
+
+
+ Gets a collection containing this entity's permissions.
+
+
+
+
+ An abstraction representing an entity that has releases.
+
+
+
+
+ Gets a collection containing this entity's releases.
+
+
+
+
+ Defines the key of the database provider.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The key on which to identify the annotated provider.
+
+
+
+ Gets the key on which to identify the annotated provider.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The database context options.
+ Logger.
+ The provider for the database engine specific operations.
+ The locking behavior.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The database context options.
+ Logger.
+ The provider for the database engine specific operations.
+ The locking behavior.
+
+
+
+ Gets the containing the access schedules.
+
+
+
+
+ Gets the containing the activity logs.
+
+
+
+
+ Gets the containing the API keys.
+
+
+
+
+ Gets the containing the devices.
+
+
+
+
+ Gets the containing the device options.
+
+
+
+
+ Gets the containing the display preferences.
+
+
+
+
+ Gets the containing the image infos.
+
+
+
+
+ Gets the containing the item display preferences.
+
+
+
+
+ Gets the containing the custom item display preferences.
+
+
+
+
+ Gets the containing the permissions.
+
+
+
+
+ Gets the containing the preferences.
+
+
+
+
+ Gets the containing the users.
+
+
+
+
+ Gets the containing the trickplay metadata.
+
+
+
+
+ Gets the containing the media segments.
+
+
+
+
+ Gets the containing the user data.
+
+
+
+
+ Gets the containing the user data.
+
+
+
+
+ Gets the containing the user data.
+
+
+
+
+ Gets the containing the user data.
+
+
+
+
+ Gets the containing the user data.
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the containing the referenced Providers with ids.
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+ Gets the .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Contains a number of query related extensions.
+
+
+
+
+ Builds an optimised query checking one property against a list of values while maintaining an optimal query.
+
+ The entity.
+ The property type to compare.
+ The source query.
+ The list of items to check.
+ Property expression.
+ A Query.
+
+
+
+ Builds a query that checks referenced ItemValues for a cross BaseItem lookup.
+
+ The source query.
+ The database context.
+ The type of item value to reference.
+ The list of BaseItem ids to check matches.
+ If set an exclusion check is performed instead.
+ A Query.
+
+
+
+ Builds a query that checks referenced ItemValues for a cross BaseItem lookup.
+
+ The source query.
+ The database context.
+ The type of item value to reference.
+ The list of BaseItem ids to check matches.
+ If set an exclusion check is performed instead.
+ A Query.
+
+
+
+ Builds a query expression that checks referenced ItemValues for a cross BaseItem lookup.
+
+ The database context.
+ The type of item value to reference.
+ The list of BaseItem ids to check matches.
+ If set an exclusion check is performed instead.
+ A Query.
+
+
+
+ Builds an optimised query expression checking one property against a list of values while maintaining an optimal query.
+
+ The entity.
+ The property type to compare.
+ The list of items to check.
+ Property expression.
+ A Query.
+
+
+
+ Defines a jellyfin locking behavior that can be configured.
+
+
+
+
+ Provides access to the builder to setup any connection related locking behavior.
+
+ The options builder.
+
+
+
+ Will be invoked when changes should be saved in the current locking behavior.
+
+ The database context invoking the action.
+ Callback for performing the actual save changes.
+
+
+
+ Will be invoked when changes should be saved in the current locking behavior.
+
+ The database context invoking the action.
+ Callback for performing the actual save changes.
+ A representing the asynchronous operation.
+
+
+
+ Default lock behavior. Defines no explicit application locking behavior.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The Application logger.
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines a locking mechanism that will retry any write operation for a few times.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The application logger.
+
+
+
+
+
+
+
+
+
+
+
+
+ A locking behavior that will always block any operation while a write is requested. Mimicks the old SqliteRepository behavior.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The application logger.
+ The logger factory.
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds strict read/write locking.
+
+
+
+
+ FluentAPI configuration for the ActivityLog entity.
+
+
+
+
+
+
+
+ AncestorId configuration.
+
+
+
+
+
+
+
+ FluentAPI configuration for the ApiKey entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the AttachmentStreamInfo entity.
+
+
+
+
+
+
+
+ Configuration for BaseItem.
+
+
+
+
+
+
+
+ Provides configuration for the BaseItemMetadataField entity.
+
+
+
+
+
+
+
+ BaseItemProvider configuration.
+
+
+
+
+
+
+
+ Provides configuration for the BaseItemMetadataField entity.
+
+
+
+
+
+
+
+ Chapter configuration.
+
+
+
+
+
+
+
+ FluentAPI configuration for the CustomItemDisplayPreferences entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the Device entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the DeviceOptions entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the DisplayPreferencesConfiguration entity.
+
+
+
+
+
+
+
+ itemvalues Configuration.
+
+
+
+
+
+
+
+ itemvalues Configuration.
+
+
+
+
+
+
+
+ KeyframeData Configuration.
+
+
+
+
+
+
+
+ People configuration.
+
+
+
+
+
+
+
+ People configuration.
+
+
+
+
+
+
+
+ People configuration.
+
+
+
+
+
+
+
+ FluentAPI configuration for the Permission entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the Permission entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the TrickplayInfo entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the User entity.
+
+
+
+
+
+
+
+ FluentAPI configuration for the UserData entity.
+
+
+
+
+
+
+
+ Wrapper for progress reporting on Partition helpers.
+
+ The entity to load.
+
+
+
+ Contains helpers to partition EFCore queries.
+
+
+
+
+ Adds a callback to any directly following calls of Partition for every partition thats been invoked.
+
+ The entity to load.
+ The source query.
+ The callback invoked for partition before enumerating items.
+ The callback invoked for partition after enumerating items.
+ A queryable that can be used to partition.
+
+
+
+ Adds a callback to any directly following calls of Partition for every item thats been invoked.
+
+ The entity to load.
+ The source query.
+ The callback invoked for each item before processing.
+ The callback invoked for each item after processing.
+ A queryable that can be used to partition.
+
+
+
+ Adds a callback to any directly following calls of Partition for every partition thats been invoked.
+
+ The entity to load.
+ The source query.
+ The callback invoked for partition before enumerating items.
+ The callback invoked for partition after enumerating items.
+ A queryable that can be used to partition.
+
+
+
+ Adds a callback to any directly following calls of Partition for every item thats been invoked.
+
+ The entity to load.
+ The source query.
+ The callback invoked for each item before processing.
+ The callback invoked for each item after processing.
+ A queryable that can be used to partition.
+
+
+
+ Enumerates the source query by loading the entities in partitions in a lazy manner reading each item from the database as its requested.
+
+ The entity to load.
+ The source query.
+ The number of elements to load per partition.
+ The cancellation token.
+ A enumerable representing the whole of the query.
+
+
+
+ Enumerates the source query by loading the entities in partitions directly into memory.
+
+ The entity to load.
+ The source query.
+ The number of elements to load per partition.
+ The cancellation token.
+ A enumerable representing the whole of the query.
+
+
+
+ Enumerates the source query by loading the entities in partitions in a lazy manner reading each item from the database as its requested.
+
+ The entity to load.
+ The source query.
+ The number of elements to load per partition.
+ Reporting helper.
+ The cancellation token.
+ A enumerable representing the whole of the query.
+
+
+
+ Enumerates the source query by loading the entities in partitions directly into memory.
+
+ The entity to load.
+ The source query.
+ The number of elements to load per partition.
+ Reporting helper.
+ The cancellation token.
+ A enumerable representing the whole of the query.
+
+
+
+ Adds an Index to the enumeration of the async enumerable.
+
+ The entity to load.
+ The source query.
+ The source list with an index added.
+
+
+
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.B884D0AA.Up2Date b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.B884D0AA.Up2Date
new file mode 100644
index 00000000..e69de29b
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.AssemblyReference.cache b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.AssemblyReference.cache
index 274bd2fa..63c72a68 100644
Binary files a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.AssemblyReference.cache and b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.AssemblyReference.cache differ
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.CoreCompileInputs.cache b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.CoreCompileInputs.cache
index 317ab484..aca15aca 100644
--- a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.CoreCompileInputs.cache
+++ b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ceaa91a5c5ec9124d1529284418af5db64b490937ad54f85e57513b5d03afc95
+3830fdc1e1abfc1a4e9eae455e6fd43e54500311710ea424492686e858f0a20f
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.FileListAbsolute.txt b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.FileListAbsolute.txt
index 615a4444..93b63d4e 100644
--- a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.FileListAbsolute.txt
+++ b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.csproj.FileListAbsolute.txt
@@ -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
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.dll b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.dll
new file mode 100644
index 00000000..e95bba9b
Binary files /dev/null and b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.dll differ
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.pdb b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.pdb
new file mode 100644
index 00000000..207eaf99
Binary files /dev/null and b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.pdb differ
diff --git a/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.xml b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.xml
new file mode 100644
index 00000000..ecc10cd2
--- /dev/null
+++ b/Jellyfin.Data/obj/Debug/net10.0/Jellyfin.Data.xml
@@ -0,0 +1,1198 @@
+
+
+
+ Jellyfin.Data
+
+
+
+
+ Attribute to specify that the enum value is to be ignored when generating the openapi spec.
+
+
+
+
+ A dto representing custom options for a device.
+
+
+
+
+ Gets or sets the id.
+
+
+
+
+ Gets or sets the device id.
+
+
+
+
+ Gets or sets the custom name.
+
+
+
+
+ Activity log sorting options.
+
+
+
+
+ Sort by name.
+
+
+
+
+ Sort by overview.
+
+
+
+
+ Sort by short overview.
+
+
+
+
+ Sort by type.
+
+
+
+
+ Sort by date.
+
+
+
+
+ Sort by username.
+
+
+
+
+ Sort by severity.
+
+
+
+
+ An enum representing formats of spatial audio.
+
+
+
+
+ None audio spatial format.
+
+
+
+
+ Dolby Atmos audio spatial format.
+
+
+
+
+ DTS:X audio spatial format.
+
+
+
+
+ The base item kind.
+
+
+ This enum is generated from all classes that inherit from BaseItem.
+
+
+
+
+ Item is aggregate folder.
+
+
+
+
+ Item is audio.
+
+
+
+
+ Item is audio book.
+
+
+
+
+ Item is base plugin folder.
+
+
+
+
+ Item is book.
+
+
+
+
+ Item is box set.
+
+
+
+
+ Item is channel.
+
+
+
+
+ Item is channel folder item.
+
+
+
+
+ Item is collection folder.
+
+
+
+
+ Item is episode.
+
+
+
+
+ Item is folder.
+
+
+
+
+ Item is genre.
+
+
+
+
+ Item is manual playlists folder.
+
+
+
+
+ Item is movie.
+
+
+
+
+ Item is a live tv channel.
+
+
+
+
+ Item is a live tv program.
+
+
+
+
+ Item is music album.
+
+
+
+
+ Item is music artist.
+
+
+
+
+ Item is music genre.
+
+
+
+
+ Item is music video.
+
+
+
+
+ Item is person.
+
+
+
+
+ Item is photo.
+
+
+
+
+ Item is photo album.
+
+
+
+
+ Item is playlist.
+
+
+
+
+ Item is playlist folder.
+
+
+
+
+ Item is program.
+
+
+
+
+ Item is recording.
+
+
+ Manually added.
+
+
+
+
+ Item is season.
+
+
+
+
+ Item is series.
+
+
+
+
+ Item is studio.
+
+
+
+
+ Item is trailer.
+
+
+
+
+ Item is live tv channel.
+
+
+ Type is overridden.
+
+
+
+
+ Item is live tv program.
+
+
+ Type is overridden.
+
+
+
+
+ Item is user root folder.
+
+
+
+
+ Item is user view.
+
+
+
+
+ Item is video.
+
+
+
+
+ Item is year.
+
+
+
+
+ Collection type.
+
+
+
+
+ Unknown collection.
+
+
+
+
+ Movies collection.
+
+
+
+
+ Tv shows collection.
+
+
+
+
+ Music collection.
+
+
+
+
+ Music videos collection.
+
+
+
+
+ Trailers collection.
+
+
+
+
+ Home videos collection.
+
+
+
+
+ Box sets collection.
+
+
+
+
+ Books collection.
+
+
+
+
+ Photos collection.
+
+
+
+
+ Live tv collection.
+
+
+
+
+ Playlists collection.
+
+
+
+
+ Folders collection.
+
+
+
+
+ Tv show series collection.
+
+
+
+
+ Tv genres collection.
+
+
+
+
+ Tv genre collection.
+
+
+
+
+ Tv latest collection.
+
+
+
+
+ Tv next up collection.
+
+
+
+
+ Tv resume collection.
+
+
+
+
+ Tv favorite series collection.
+
+
+
+
+ Tv favorite episodes collection.
+
+
+
+
+ Latest movies collection.
+
+
+
+
+ Movies to resume collection.
+
+
+
+
+ Movie movie collection.
+
+
+
+
+ Movie collections collection.
+
+
+
+
+ Movie favorites collection.
+
+
+
+
+ Movie genres collection.
+
+
+
+
+ Movie genre collection.
+
+
+
+
+ These represent sort orders.
+
+
+
+
+ Default sort order.
+
+
+
+
+ The aired episode order.
+
+
+
+
+ The album.
+
+
+
+
+ The album artist.
+
+
+
+
+ The artist.
+
+
+
+
+ The date created.
+
+
+
+
+ The official rating.
+
+
+
+
+ The date played.
+
+
+
+
+ The premiere date.
+
+
+
+
+ The start date.
+
+
+
+
+ The sort name.
+
+
+
+
+ The name.
+
+
+
+
+ The random.
+
+
+
+
+ The runtime.
+
+
+
+
+ The community rating.
+
+
+
+
+ The production year.
+
+
+
+
+ The play count.
+
+
+
+
+ The critic rating.
+
+
+
+
+ The IsFolder boolean.
+
+
+
+
+ The IsUnplayed boolean.
+
+
+
+
+ The IsPlayed boolean.
+
+
+
+
+ The series sort.
+
+
+
+
+ The video bitrate.
+
+
+
+
+ The air time.
+
+
+
+
+ The studio.
+
+
+
+
+ The IsFavouriteOrLiked boolean.
+
+
+
+
+ The last content added date.
+
+
+
+
+ The series last played date.
+
+
+
+
+ The parent index number.
+
+
+
+
+ The index number.
+
+
+
+
+ Media streaming protocol.
+ Lowercase for backwards compatibility.
+
+
+
+
+ HTTP.
+
+
+
+
+ HTTP Live Streaming.
+
+
+
+
+ Media types.
+
+
+
+
+ Unknown media type.
+
+
+
+
+ Video media.
+
+
+
+
+ Audio media.
+
+
+
+
+ Photo media.
+
+
+
+
+ Book media.
+
+
+
+
+ The person kind.
+
+
+
+
+ An unknown person kind.
+
+
+
+
+ A person whose profession is acting on the stage, in films, or on television.
+
+
+
+
+ A person who supervises the actors and other staff in a film, play, or similar production.
+
+
+
+
+ A person who writes music, especially as a professional occupation.
+
+
+
+
+ A writer of a book, article, or document. Can also be used as a generic term for music writer if there is a lack of specificity.
+
+
+
+
+ A well-known actor or other performer who appears in a work in which they do not have a regular role.
+
+
+
+
+ A person responsible for the financial and managerial aspects of the making of a film or broadcast or for staging a play, opera, etc.
+
+
+
+
+ A person who directs the performance of an orchestra or choir.
+
+
+
+
+ A person who writes the words to a song or musical.
+
+
+
+
+ A person who adapts a musical composition for performance.
+
+
+
+
+ An audio engineer who performed a general engineering role.
+
+
+
+
+ An engineer responsible for using a mixing console to mix a recorded track into a single piece of music suitable for release.
+
+
+
+
+ A person who remixed a recording by taking one or more other tracks, substantially altering them and mixing them together with other material.
+
+
+
+
+ A person who created the material.
+
+
+
+
+ A person who was the artist.
+
+
+
+
+ A person who was the album artist.
+
+
+
+
+ A person who was the author.
+
+
+
+
+ A person who was the illustrator.
+
+
+
+
+ A person responsible for drawing the art.
+
+
+
+
+ A person responsible for inking the pencil art.
+
+
+
+
+ A person responsible for applying color to drawings.
+
+
+
+
+ A person responsible for drawing text and speech bubbles.
+
+
+
+
+ A person responsible for drawing the cover art.
+
+
+
+
+ A person contributing to a resource by revising or elucidating the content, e.g., adding an introduction, notes, or other critical matter.
+ An editor may also prepare a resource for production, publication, or distribution.
+
+
+
+
+ A person who renders a text from one language into another.
+
+
+
+
+ Enum SyncPlayAccessRequirementType.
+
+
+
+
+ User must have access to SyncPlay, in some form.
+
+
+
+
+ User must be able to create groups.
+
+
+
+
+ User must be able to join groups.
+
+
+
+
+ User must be in a group.
+
+
+
+
+ An enum representing an unrated item.
+
+
+
+
+ A movie.
+
+
+
+
+ A trailer.
+
+
+
+
+ A series.
+
+
+
+
+ Music.
+
+
+
+
+ A book.
+
+
+
+
+ A live TV channel.
+
+
+
+
+ A live TV program.
+
+
+
+
+ Channel content.
+
+
+
+
+ Another type, not covered by the other fields.
+
+
+
+
+ An enum representing video ranges.
+
+
+
+
+ Unknown video range.
+
+
+
+
+ SDR video range.
+
+
+
+
+ HDR video range.
+
+
+
+
+ An enum representing types of video ranges.
+
+
+
+
+ Unknown video range type.
+
+
+
+
+ SDR video range type (8bit).
+
+
+
+
+ HDR10 video range type (10bit).
+
+
+
+
+ HLG video range type (10bit).
+
+
+
+
+ Dolby Vision video range type (10bit encoded / 12bit remapped).
+
+
+
+
+ Dolby Vision with HDR10 video range fallback (10bit).
+
+
+
+
+ Dolby Vision with HLG video range fallback (10bit).
+
+
+
+
+ Dolby Vision with SDR video range fallback (8bit / 10bit).
+
+
+
+
+ Dolby Vision with Enhancment Layer (Profile 7).
+
+
+
+
+ Dolby Vision and HDR10+ Metadata coexists.
+
+
+
+
+ Dolby Vision with Enhancment Layer (Profile 7) and HDR10+ Metadata coexists.
+
+
+
+
+ Dolby Vision with invalid configuration. e.g. Profile 8 compat id 6.
+ When using this range, the server would assume the video is still HDR10 after removing the Dolby Vision metadata.
+
+
+
+
+ HDR10+ video range type (10bit to 16bit).
+
+
+
+
+ Provides a generic EventArgs subclass that can hold any kind of object.
+
+ The type of this event.
+
+
+
+ Initializes a new instance of the class.
+
+ The argument.
+
+
+
+ Gets the argument.
+
+ The argument.
+
+
+
+ An event that occurs when there is a pending restart.
+
+
+
+
+ An event that occurs when a user is created.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is deleted.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is locked out.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user's password has changed.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ An event that occurs when a user is updated.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The user.
+
+
+
+ A class representing a query to the activity logs.
+
+
+
+
+ Gets or sets a value indicating whether to take entries with a user id.
+
+
+
+
+ Gets or sets the minimum date to query for.
+
+
+
+
+ Gets or sets the maximum date to query for.
+
+
+
+
+ Gets or sets the name filter.
+
+
+
+
+ Gets or sets the overview filter.
+
+
+
+
+ Gets or sets the short overview filter.
+
+
+
+
+ Gets or sets the type filter.
+
+
+
+
+ Gets or sets the item filter.
+
+
+
+
+ Gets or sets the username filter.
+
+
+
+
+ Gets or sets the log level filter.
+
+
+
+
+ Gets or sets the result ordering.
+
+
+
+
+ A query to retrieve devices.
+
+
+
+
+ Gets or sets the user id of the device.
+
+
+
+
+ Gets or sets the device id.
+
+
+
+
+ Gets or sets the access token.
+
+
+
+
+ An abstract class for paginated queries.
+
+
+
+
+ Gets or sets the index to start at.
+
+
+
+
+ Gets or sets the maximum number of items to include.
+
+
+
+
+ Contains extension methods for manipulation of entities.
+
+
+
+
+ The values being delimited here are Guids, so commas work as they do not appear in Guids.
+
+
+
+
+ Checks whether the user has the specified permission.
+
+ The entity to update.
+ The permission kind.
+ True if the user has the specified permission.
+
+
+
+ Sets the given permission kind to the provided value.
+
+ The entity to update.
+ The permission kind.
+ The value to set.
+
+
+
+ Gets the user's preferences for the given preference kind.
+
+ The entity to update.
+ The preference kind.
+ A string array containing the user's preferences.
+
+
+
+ Gets the user's preferences for the given preference kind.
+
+ The entity to update.
+ The preference kind.
+ Type of preference.
+ A {T} array containing the user's preference.
+
+
+
+ Sets the specified preference to the given value.
+
+ The entity to update.
+ The preference kind.
+ The values.
+
+
+
+ Sets the specified preference to the given value.
+
+ The entity to update.
+ The preference kind.
+ The values.
+ The type of value.
+
+
+
+ Checks whether this user is currently allowed to use the server.
+
+ The entity to update.
+ True if the current time is within an access schedule, or there are no access schedules.
+
+
+
+ Checks whether the provided folder is in this user's grouped folders.
+
+ The entity to update.
+ The Guid of the folder.
+ True if the folder is in the user's grouped folders.
+
+
+
+ Initializes the default permissions for a user. Should only be called on user creation.
+
+ The entity to update.
+
+
+
+ Initializes the default preferences. Should only be called on user creation.
+
+ The entity to update.
+
+
+
diff --git a/Jellyfin.Data/obj/Debug/net10.0/ref/Jellyfin.Data.dll b/Jellyfin.Data/obj/Debug/net10.0/ref/Jellyfin.Data.dll
new file mode 100644
index 00000000..f03c34aa
Binary files /dev/null and b/Jellyfin.Data/obj/Debug/net10.0/ref/Jellyfin.Data.dll differ
diff --git a/Jellyfin.Data/obj/Debug/net10.0/refint/Jellyfin.Data.dll b/Jellyfin.Data/obj/Debug/net10.0/refint/Jellyfin.Data.dll
new file mode 100644
index 00000000..f03c34aa
Binary files /dev/null and b/Jellyfin.Data/obj/Debug/net10.0/refint/Jellyfin.Data.dll differ
diff --git a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.AssemblyReference.cache b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.AssemblyReference.cache
index 628342c7..ba1799b0 100644
Binary files a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.AssemblyReference.cache and b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.AssemblyReference.cache differ
diff --git a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache
index 8a1b0b54..5e968b39 100644
--- a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache
+++ b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-4ebd387e21606a11f29ddb8016fa2507f255e81421c7ba077b0b47e8d2a18296
+d1eb00cacfd33b56f483e3a8d9e456e5d30f7535c294f2b56aa29eca2f28919b
diff --git a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.FileListAbsolute.txt b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.FileListAbsolute.txt
index bf6c8055..16d2e22a 100644
--- a/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.FileListAbsolute.txt
+++ b/Jellyfin.Server.Implementations/obj/Debug/net10.0/Jellyfin.Server.Implementations.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Jellyfin.Server.Implementations\obj\Debug\net10.0\Jellyfin.Server.Implementations.csproj.CoreCompileInputs.cache
diff --git a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.AssemblyReference.cache b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.AssemblyReference.cache
index 4d28ad99..94a0d7fa 100644
Binary files a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.AssemblyReference.cache and b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.AssemblyReference.cache differ
diff --git a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.CoreCompileInputs.cache b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.CoreCompileInputs.cache
index ba736db2..7e8efc8d 100644
--- a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.CoreCompileInputs.cache
+++ b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-d2f95863a9600605fdb2b2708cf2bfc69e48f7e43d84ceabb7bcaf57a21d180d
+b3779413f844448ca41905720eba7a362836e9a726cb68cf84c9fc51daefb0e9
diff --git a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.FileListAbsolute.txt b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.FileListAbsolute.txt
index 597440bf..316c59d1 100644
--- a/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.FileListAbsolute.txt
+++ b/Jellyfin.Server/obj/Debug/net10.0/Jellyfin.Server.csproj.FileListAbsolute.txt
@@ -3,3 +3,8 @@ C:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\rpswa.dswa.cache.js
C:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\Jellyfin.Server.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\Jellyfin.Server.csproj.CoreCompileInputs.cache
C:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\jellyfin.MvcApplicationPartsAssemblyInfo.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\Jellyfin.Server.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\rpswa.dswa.cache.json
+E:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\Jellyfin.Server.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\Jellyfin.Server.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\Jellyfin.Server\obj\Debug\net10.0\jellyfin.MvcApplicationPartsAssemblyInfo.cache
diff --git a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.AssemblyReference.cache b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.AssemblyReference.cache
index 71ab4821..7294dcae 100644
Binary files a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.AssemblyReference.cache and b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.CoreCompileInputs.cache b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.CoreCompileInputs.cache
index 5fbcd89f..f19f31e6 100644
--- a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-1fed7ecba8d3922a9226dab0994e07db89438757b28efdcde87a20342f43b43f
+ea1900ada7e71b699cc8b32fc18ed9c2c4c85d035c2a9f53d43b9e309a7daf47
diff --git a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.FileListAbsolute.txt b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.FileListAbsolute.txt
index ba2be1bb..66584987 100644
--- a/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.Common/obj/Debug/net10.0/MediaBrowser.Common.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.Common\obj\Debug\net10.0\MediaBrowser.Common.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.AssemblyReference.cache b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.AssemblyReference.cache
index 0461ea49..d6f262c9 100644
Binary files a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.AssemblyReference.cache and b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.CoreCompileInputs.cache b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.CoreCompileInputs.cache
index c700a53d..4bc95c2a 100644
--- a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-577163823b694177a623d0ede8f099f28422a4bdc1c2b6ddb59627f270978e26
+95ba3425bbce8008be2cbdd53ecf5180a49b86ed3caa3066b3b1c0b0bf2eb499
diff --git a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.FileListAbsolute.txt b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.FileListAbsolute.txt
index 2436496d..c9a2e27c 100644
--- a/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.Controller/obj/Debug/net10.0/MediaBrowser.Controller.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.Controller\obj\Debug\net10.0\MediaBrowser.Controller.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache
index 0461ea49..d6f262c9 100644
Binary files a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache and b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache
index c6fdaa45..84abd210 100644
--- a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-a2233bb24d31e3f2ee663fac46990c42fa7890f3675b62b06ee7a98a90783d15
+c4fb102f36ba07eddc44c38bcf6c5e2848d2fa8f2723c61b3026314ee2491817
diff --git a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.FileListAbsolute.txt b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.FileListAbsolute.txt
index ae80441c..d413af74 100644
--- a/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.LocalMetadata/obj/Debug/net10.0/MediaBrowser.LocalMetadata.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.LocalMetadata\obj\Debug\net10.0\MediaBrowser.LocalMetadata.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache
index ebfe054a..011424eb 100644
Binary files a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache and b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache
index 5bb7795f..8907e6f1 100644
--- a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-a48a7690550baf3bbe9ecabd5d234aa53a39cd379397dd9d6a0f996bd028404f
+d8480ae4c903492a0e9e6e299a1ba4ea7dbbc520ebaf221417b319341e04a58f
diff --git a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.FileListAbsolute.txt b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.FileListAbsolute.txt
index 822972a0..2a55c571 100644
--- a/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.MediaEncoding/obj/Debug/net10.0/MediaBrowser.MediaEncoding.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.MediaEncoding\obj\Debug\net10.0\MediaBrowser.MediaEncoding.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.AssemblyReference.cache b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.AssemblyReference.cache
index 71ab4821..7294dcae 100644
Binary files a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.AssemblyReference.cache and b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.CoreCompileInputs.cache b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.CoreCompileInputs.cache
index 759aa92c..80024339 100644
--- a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-a6e0d72e09b51608ade5b97739fc7d0b94bd4119cb73bf3e176894e14fded06b
+4d6ced8a676ca84ec08b198262bcbd68d1eff6ed316612d11ebde55f3a905528
diff --git a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.FileListAbsolute.txt b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.FileListAbsolute.txt
index 3eb9d8a7..5e688aa7 100644
--- a/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.Model/obj/Debug/net10.0/MediaBrowser.Model.csproj.FileListAbsolute.txt
@@ -2,3 +2,7 @@ C:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\NuGet\55D74E64AE
C:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\NuGet\56CB1F26329E58CE\MimeTypes\2.5.2\MimeTypes.Nullable.cs
+E:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.Model\obj\Debug\net10.0\MediaBrowser.Model.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.AssemblyReference.cache b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.AssemblyReference.cache
index c0a487da..2c0a9855 100644
Binary files a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.AssemblyReference.cache and b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.CoreCompileInputs.cache b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.CoreCompileInputs.cache
index 24630a77..0b8e8736 100644
--- a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-c32e8e5235494f120555a86a2b37bef84f7862cc220cf8d1201e6e4e79d56c0e
+1b5762457f1bd7714a346bc46fded4aad9bbe06c832681bcdc0ebab8e8c4396b
diff --git a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.FileListAbsolute.txt b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.FileListAbsolute.txt
index f1948eaa..6c981f1b 100644
--- a/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.Providers/obj/Debug/net10.0/MediaBrowser.Providers.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.Providers\obj\Debug\net10.0\MediaBrowser.Providers.csproj.CoreCompileInputs.cache
diff --git a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache
index 0461ea49..d6f262c9 100644
Binary files a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache and b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache differ
diff --git a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache
index 3e119d03..3c1a582e 100644
--- a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache
+++ b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-b29dc5fc9fd1572dd1c0cab4ea21283d4f4bf2d1e6fb1d1afc9c6d0c9e226d59
+7838ecb7ace3f7daa4e1e8726991a5cf7fe45065d0501d77a0b0747b4083395b
diff --git a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.FileListAbsolute.txt b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.FileListAbsolute.txt
index 8628e89c..b6e9649a 100644
--- a/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.FileListAbsolute.txt
+++ b/MediaBrowser.XbmcMetadata/obj/Debug/net10.0/MediaBrowser.XbmcMetadata.csproj.FileListAbsolute.txt
@@ -1,3 +1,6 @@
C:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache
C:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.GeneratedMSBuildEditorConfig.editorconfig
C:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\MediaBrowser.XbmcMetadata\obj\Debug\net10.0\MediaBrowser.XbmcMetadata.csproj.CoreCompileInputs.cache
diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll
index e68302d5..30bfbe7b 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 3a72110d..213f6c5e 100644
Binary files a/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/bin/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
index 0f6522c8..32e61139 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+036953f3ffd782d56040af1332c53c54c7107be2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f47555f2aa4eff7dcc5c5ef5bbda374f292f0638")]
[assembly: System.Reflection.AssemblyProductAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyTitleAttribute("Jellyfin.CodeAnalysis")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
index 735790b1..c944bd78 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
@@ -1 +1 @@
-14abb783c55dca9d506ea58b2fb4e83cf46869fbb125fd5d419b7cd5ec04579a
+cfe4822f334685403d8dd28c9794902cf41ac16cf3fdae734ed53b2348acf886
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.CoreCompileInputs.cache b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.CoreCompileInputs.cache
index 182cc160..7713d2d5 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.CoreCompileInputs.cache
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-925762113528dbfe64b2ae859ceacd4178e352a947de363b76e06cbd504b0ecf
+e7c17426fec14bd402397d7c8b6303a56fe39a7ababbc3fc41dcceedc7dc82f3
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.FileListAbsolute.txt b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.FileListAbsolute.txt
index be37d619..a5152489 100644
--- a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.FileListAbsolute.txt
+++ b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.csproj.FileListAbsolute.txt
@@ -10,3 +10,15 @@ C:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Je
C:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Jellyfin.CodeAnalysis.xml
C:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.dll
C:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.pdb
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Jellyfin.CodeAnalysis.deps.json
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Jellyfin.CodeAnalysis.dll
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Jellyfin.CodeAnalysis.pdb
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\bin\Debug\netstandard2.0\Jellyfin.CodeAnalysis.xml
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.csproj.AssemblyReference.cache
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.GeneratedMSBuildEditorConfig.editorconfig
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.AssemblyInfoInputs.cache
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.AssemblyInfo.cs
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.csproj.CoreCompileInputs.cache
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.dll
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.xml
+E:\Projects\pgsql-jellyfin\src\Jellyfin.CodeAnalysis\obj\Debug\netstandard2.0\Jellyfin.CodeAnalysis.pdb
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll
index e68302d5..30bfbe7b 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.dll differ
diff --git a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb
index 3a72110d..213f6c5e 100644
Binary files a/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb and b/src/Jellyfin.CodeAnalysis/obj/Debug/netstandard2.0/Jellyfin.CodeAnalysis.pdb differ
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/AccessSchedule.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/AccessSchedule.cs
index 5aeb265e..360ce101 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/AccessSchedule.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/AccessSchedule.cs
@@ -3,64 +3,64 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Xml.Serialization;
-using Jellyfin.Database.Implementations.Enums;
-
-//
-// An entity representing a user's access schedule.
-//
-public class AccessSchedule
{
+ using System;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using System.Xml.Serialization;
+ using Jellyfin.Database.Implementations.Enums;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a user's access schedule.
///
- /// The day of the week.
- /// The start hour.
- /// The end hour.
- /// The associated user's id.
- public AccessSchedule(DynamicDayOfWeek dayOfWeek, double startHour, double endHour, Guid userId)
+ public class AccessSchedule
{
- UserId = userId;
- DayOfWeek = dayOfWeek;
- StartHour = startHour;
- EndHour = endHour;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The day of the week.
+ /// The start hour.
+ /// The end hour.
+ /// The associated user's id.
+ public AccessSchedule(DynamicDayOfWeek dayOfWeek, double startHour, double endHour, Guid userId)
+ {
+ this.UserId = userId;
+ this.DayOfWeek = dayOfWeek;
+ this.StartHour = startHour;
+ this.EndHour = endHour;
+ }
+
+ ///
+ /// Gets the id of this instance.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [XmlIgnore]
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
+
+ ///
+ /// Gets the id of the associated user.
+ ///
+ [XmlIgnore]
+ public Guid UserId { get; private set; }
+
+ ///
+ /// Gets or sets the day of week.
+ ///
+ /// The day of week.
+ public DynamicDayOfWeek DayOfWeek { get; set; }
+
+ ///
+ /// Gets or sets the start hour.
+ ///
+ /// The start hour.
+ public double StartHour { get; set; }
+
+ ///
+ /// Gets or sets the end hour.
+ ///
+ /// The end hour.
+ public double EndHour { get; set; }
}
-
- ///
- /// Gets the id of this instance.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [XmlIgnore]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
-
- ///
- /// Gets the id of the associated user.
- ///
- [XmlIgnore]
- public Guid UserId { get; private set; }
-
- ///
- /// Gets or sets the day of week.
- ///
- /// The day of week.
- public DynamicDayOfWeek DayOfWeek { get; set; }
-
- ///
- /// Gets or sets the start hour.
- ///
- /// The start hour.
- public double StartHour { get; set; }
-
- ///
- /// Gets or sets the end hour.
- ///
- /// The end hour.
- public double EndHour { get; set; }
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ActivityLog.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ActivityLog.cs
index 8e24c01b..3c4a4db5 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ActivityLog.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ActivityLog.cs
@@ -2,125 +2,132 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-namespace Jellyfin.Database.Implementations.Entities
+#pragma warning disable CA1724 //The type name conflicts in whole or in part with the namespace name (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1724)
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-using Microsoft.Extensions.Logging;
+namespace Jellyfin.Database.Implementations.Entities
+{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+ using Microsoft.Extensions.Logging;
///
/// An entity referencing an activity log entry.
///
-public class ActivityLog : IHasConcurrencyToken
-{
- ///
- /// Initializes a new instance of the class.
- /// Public constructor with required data.
- ///
- /// The name.
- /// The type.
- /// The user id.
- public ActivityLog(string name, string type, Guid userId)
+ public class ActivityLog : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(name);
- ArgumentException.ThrowIfNullOrEmpty(type);
+ ///
+ /// Initializes a new instance of the class.
+ /// Public constructor with required data.
+ ///
+ /// The name.
+ /// The type.
+ /// The user id.
+ public ActivityLog(string name, string type, Guid userId)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(name);
+ ArgumentException.ThrowIfNullOrEmpty(type);
- Name = name;
- Type = type;
- UserId = userId;
- DateCreated = DateTime.UtcNow;
- LogSeverity = LogLevel.Information;
- }
+ this.Name = name;
+ this.Type = type;
+ this.UserId = userId;
+ this.DateCreated = DateTime.UtcNow;
+ this.LogSeverity = LogLevel.Information;
+ }
- ///
- /// Gets the identity of this instance.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the identity of this instance.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Required, Max length = 512.
- ///
- [MaxLength(512)]
- [StringLength(512)]
- public string Name { get; set; }
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Required, Max length = 512.
+ ///
+ [MaxLength(512)]
+ [StringLength(512)]
+ public string Name { get; set; }
- ///
- /// Gets or sets the overview.
- ///
- ///
- /// Max length = 512.
- ///
- [MaxLength(512)]
- [StringLength(512)]
- public string? Overview { get; set; }
+ ///
+ /// Gets or sets the overview.
+ ///
+ ///
+ /// Max length = 512.
+ ///
+ [MaxLength(512)]
+ [StringLength(512)]
+ public string? Overview { get; set; }
- ///
- /// Gets or sets the short overview.
- ///
- ///
- /// Max length = 512.
- ///
- [MaxLength(512)]
- [StringLength(512)]
- public string? ShortOverview { get; set; }
+ ///
+ /// Gets or sets the short overview.
+ ///
+ ///
+ /// Max length = 512.
+ ///
+ [MaxLength(512)]
+ [StringLength(512)]
+ public string? ShortOverview { get; set; }
- ///
- /// Gets or sets the type.
- ///
- ///
- /// Required, Max length = 256.
- ///
- [MaxLength(256)]
- [StringLength(256)]
- public string Type { get; set; }
+ ///
+ /// Gets or sets the type.
+ ///
+ ///
+ /// Required, Max length = 256.
+ ///
+ [MaxLength(256)]
+ [StringLength(256)]
+ public string Type { get; set; }
- ///
- /// Gets or sets the user id.
- ///
- ///
- /// Required.
- ///
- public Guid UserId { get; set; }
+ ///
+ /// Gets or sets the user id.
+ ///
+ ///
+ /// Required.
+ ///
+ public Guid UserId { get; set; }
- ///
- /// Gets or sets the item id.
- ///
- ///
- /// Max length = 256.
- ///
- [MaxLength(256)]
- [StringLength(256)]
- public string? ItemId { get; set; }
+ ///
+ /// Gets or sets the item id.
+ ///
+ ///
+ /// Max length = 256.
+ ///
+ [MaxLength(256)]
+ [StringLength(256)]
+ public string? ItemId { get; set; }
- ///
- /// Gets or sets the date created. This should be in UTC.
- ///
- ///
- /// Required.
- ///
- public DateTime DateCreated { get; set; }
+ ///
+ /// Gets or sets the date created. This should be in UTC.
+ ///
+ ///
+ /// Required.
+ ///
+ public DateTime DateCreated { get; set; }
- ///
- /// Gets or sets the log severity. Default is .
- ///
- ///
- /// Required.
- ///
- public LogLevel LogSeverity { get; set; }
+ ///
+ /// Gets or sets the log severity. Default is .
+ ///
+ ///
+ /// Required.
+ ///
+ public LogLevel LogSeverity { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ /// Gets the concurrency token used for optimistic concurrency control.
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ /// Updates the concurrency token before saving changes.
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs
index 760f3934..e41a7cdd 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemEntity.cs
@@ -6,6 +6,7 @@ namespace Jellyfin.Database.Implementations.Entities;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CA2227 // Collection properties should be read only
+#pragma warning disable SA1600 // Missing XML comment for publicly visible type or member
using System;
using System.Collections.Generic;
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemExtraType.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemExtraType.cs
index ad3a3299..2c05aa57 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemExtraType.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/BaseItemExtraType.cs
@@ -5,6 +5,9 @@
namespace Jellyfin.Database.Implementations.Entities;
#pragma warning disable CS1591
+#pragma warning disable SA1600
+#pragma warning disable SA1602
+#pragma warning disable CA1720
public enum BaseItemExtraType
{
Unknown = 0,
@@ -18,5 +21,5 @@ public enum BaseItemExtraType
ThemeSong = 8,
ThemeVideo = 9,
Featurette = 10,
- Short = 11
+ Short = 11,
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/CustomItemDisplayPreferences.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/CustomItemDisplayPreferences.cs
index c05900ea..49c58fc2 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/CustomItemDisplayPreferences.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/CustomItemDisplayPreferences.cs
@@ -3,81 +3,82 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-///
-/// An entity that represents a user's custom display preferences for a specific item.
-///
-public class CustomItemDisplayPreferences
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+
///
- /// Initializes a new instance of the class.
+ /// An entity that represents a user's custom display preferences for a specific item.
///
- /// The user id.
- /// The item id.
- /// The client.
- /// The preference key.
- /// The preference value.
- public CustomItemDisplayPreferences(Guid userId, Guid itemId, string client, string key, string? value)
+ public class CustomItemDisplayPreferences
{
- UserId = userId;
- ItemId = itemId;
- Client = client;
- Key = key;
- Value = value;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The user id.
+ /// The item id.
+ /// The client.
+ /// The preference key.
+ /// The preference value.
+ public CustomItemDisplayPreferences(Guid userId, Guid itemId, string client, string key, string? value)
+ {
+ this.UserId = userId;
+ this.ItemId = itemId;
+ this.Client = client;
+ this.Key = key;
+ this.Value = value;
+ }
+
+ ///
+ /// Gets the Id.
+ ///
+ ///
+ /// Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
+
+ ///
+ /// Gets or sets the user Id.
+ ///
+ ///
+ /// Required.
+ ///
+ public Guid UserId { get; set; }
+
+ ///
+ /// Gets or sets the id of the associated item.
+ ///
+ ///
+ /// Required.
+ ///
+ public Guid ItemId { get; set; }
+
+ ///
+ /// Gets or sets the client string.
+ ///
+ ///
+ /// Required. Max Length = 32.
+ ///
+ [MaxLength(32)]
+ [StringLength(32)]
+ public string Client { get; set; }
+
+ ///
+ /// Gets or sets the preference key.
+ ///
+ ///
+ /// Required.
+ ///
+ public string Key { get; set; }
+
+ ///
+ /// Gets or sets the preference value.
+ ///
+ ///
+ /// Required.
+ ///
+ public string? Value { get; set; }
}
-
- ///
- /// Gets the Id.
- ///
- ///
- /// Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
-
- ///
- /// Gets or sets the user Id.
- ///
- ///
- /// Required.
- ///
- public Guid UserId { get; set; }
-
- ///
- /// Gets or sets the id of the associated item.
- ///
- ///
- /// Required.
- ///
- public Guid ItemId { get; set; }
-
- ///
- /// Gets or sets the client string.
- ///
- ///
- /// Required. Max Length = 32.
- ///
- [MaxLength(32)]
- [StringLength(32)]
- public string Client { get; set; }
-
- ///
- /// Gets or sets the preference key.
- ///
- ///
- /// Required.
- ///
- public string Key { get; set; }
-
- ///
- /// Gets or sets the preference value.
- ///
- ///
- /// Required.
- ///
- public string? Value { get; set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/DisplayPreferences.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/DisplayPreferences.cs
index c3a94563..43f6a877 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/DisplayPreferences.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/DisplayPreferences.cs
@@ -2,154 +2,155 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable CA1724 //The type name conflicts in whole or in part with the namespace name (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1724)
+
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Enums;
-
-
-///
-/// An entity representing a user's display preferences.
-///
-public class DisplayPreferences
{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Enums;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a user's display preferences.
///
- /// The user's id.
- /// The item id.
- /// The client string.
- public DisplayPreferences(Guid userId, Guid itemId, string client)
+ public class DisplayPreferences
{
- UserId = userId;
- ItemId = itemId;
- Client = client;
- ShowSidebar = false;
- ShowBackdrop = true;
- SkipForwardLength = 30000;
- SkipBackwardLength = 10000;
- ScrollDirection = ScrollDirection.Horizontal;
- ChromecastVersion = ChromecastVersion.Stable;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The user's id.
+ /// The item id.
+ /// The client string.
+ public DisplayPreferences(Guid userId, Guid itemId, string client)
+ {
+ this.UserId = userId;
+ this.ItemId = itemId;
+ this.Client = client;
+ this.ShowSidebar = false;
+ this.ShowBackdrop = true;
+ this.SkipForwardLength = 30000;
+ this.SkipBackwardLength = 10000;
+ this.ScrollDirection = ScrollDirection.Horizontal;
+ this.ChromecastVersion = ChromecastVersion.Stable;
- HomeSections = new HashSet();
+ this.HomeSections = new HashSet();
+ }
+
+ ///
+ /// Gets the Id.
+ ///
+ ///
+ /// Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
+
+ ///
+ /// Gets or sets the user Id.
+ ///
+ ///
+ /// Required.
+ ///
+ public Guid UserId { get; set; }
+
+ ///
+ /// Gets or sets the id of the associated item.
+ ///
+ ///
+ /// Required.
+ ///
+ public Guid ItemId { get; set; }
+
+ ///
+ /// Gets or sets the client string.
+ ///
+ ///
+ /// Required. Max Length = 32.
+ ///
+ [MaxLength(32)]
+ [StringLength(32)]
+ public string Client { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether to show the sidebar.
+ ///
+ ///
+ /// Required.
+ ///
+ public bool ShowSidebar { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether to show the backdrop.
+ ///
+ ///
+ /// Required.
+ ///
+ public bool ShowBackdrop { get; set; }
+
+ ///
+ /// Gets or sets the scroll direction.
+ ///
+ ///
+ /// Required.
+ ///
+ public ScrollDirection ScrollDirection { get; set; }
+
+ ///
+ /// Gets or sets what the view should be indexed by.
+ ///
+ public IndexingKind? IndexBy { get; set; }
+
+ ///
+ /// Gets or sets the length of time to skip forwards, in milliseconds.
+ ///
+ ///
+ /// Required.
+ ///
+ public int SkipForwardLength { get; set; }
+
+ ///
+ /// Gets or sets the length of time to skip backwards, in milliseconds.
+ ///
+ ///
+ /// Required.
+ ///
+ public int SkipBackwardLength { get; set; }
+
+ ///
+ /// Gets or sets the Chromecast Version.
+ ///
+ ///
+ /// Required.
+ ///
+ public ChromecastVersion ChromecastVersion { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether the next video info overlay should be shown.
+ ///
+ ///
+ /// Required.
+ ///
+ public bool EnableNextVideoInfoOverlay { get; set; }
+
+ ///
+ /// Gets or sets the dashboard theme.
+ ///
+ [MaxLength(32)]
+ [StringLength(32)]
+ public string? DashboardTheme { get; set; }
+
+ ///
+ /// Gets or sets the tv home screen.
+ ///
+ [MaxLength(32)]
+ [StringLength(32)]
+ public string? TvHome { get; set; }
+
+ ///
+ /// Gets the home sections.
+ ///
+ public virtual ICollection HomeSections { get; private set; }
}
-
- ///
- /// Gets the Id.
- ///
- ///
- /// Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
-
- ///
- /// Gets or sets the user Id.
- ///
- ///
- /// Required.
- ///
- public Guid UserId { get; set; }
-
- ///
- /// Gets or sets the id of the associated item.
- ///
- ///
- /// Required.
- ///
- public Guid ItemId { get; set; }
-
- ///
- /// Gets or sets the client string.
- ///
- ///
- /// Required. Max Length = 32.
- ///
- [MaxLength(32)]
- [StringLength(32)]
- public string Client { get; set; }
-
- ///
- /// Gets or sets a value indicating whether to show the sidebar.
- ///
- ///
- /// Required.
- ///
- public bool ShowSidebar { get; set; }
-
- ///
- /// Gets or sets a value indicating whether to show the backdrop.
- ///
- ///
- /// Required.
- ///
- public bool ShowBackdrop { get; set; }
-
- ///
- /// Gets or sets the scroll direction.
- ///
- ///
- /// Required.
- ///
- public ScrollDirection ScrollDirection { get; set; }
-
- ///
- /// Gets or sets what the view should be indexed by.
- ///
- public IndexingKind? IndexBy { get; set; }
-
- ///
- /// Gets or sets the length of time to skip forwards, in milliseconds.
- ///
- ///
- /// Required.
- ///
- public int SkipForwardLength { get; set; }
-
- ///
- /// Gets or sets the length of time to skip backwards, in milliseconds.
- ///
- ///
- /// Required.
- ///
- public int SkipBackwardLength { get; set; }
-
- ///
- /// Gets or sets the Chromecast Version.
- ///
- ///
- /// Required.
- ///
- public ChromecastVersion ChromecastVersion { get; set; }
-
- ///
- /// Gets or sets a value indicating whether the next video info overlay should be shown.
- ///
- ///
- /// Required.
- ///
- public bool EnableNextVideoInfoOverlay { get; set; }
-
- ///
- /// Gets or sets the dashboard theme.
- ///
- [MaxLength(32)]
- [StringLength(32)]
- public string? DashboardTheme { get; set; }
-
- ///
- /// Gets or sets the tv home screen.
- ///
- [MaxLength(32)]
- [StringLength(32)]
- public string? TvHome { get; set; }
-
- ///
- /// Gets the home sections.
- ///
- public virtual ICollection HomeSections { get; private set; }
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Group.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Group.cs
index 8db31da3..8a8dfab8 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Group.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Group.cs
@@ -3,68 +3,68 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a group.
-///
-public class Group : IHasPermissions, IHasConcurrencyToken
{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a group.
///
- /// The name of the group.
- public Group(string name)
+ public class Group : IHasPermissions, IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(name);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The name of the group.
+ public Group(string name)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(name);
- Name = name;
- Id = Guid.NewGuid();
+ this.Name = name;
+ this.Id = Guid.NewGuid();
- Permissions = new HashSet();
- Preferences = new HashSet();
- }
+ this.Permissions = new HashSet();
+ this.Preferences = new HashSet();
+ }
- ///
- /// Gets the id of this group.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- public Guid Id { get; private set; }
+ ///
+ /// Gets the id of this group.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ public Guid Id { get; private set; }
- ///
- /// Gets or sets the group's name.
- ///
- ///
- /// Required, Max length = 255.
- ///
- [MaxLength(255)]
- [StringLength(255)]
- public string Name { get; set; }
+ ///
+ /// Gets or sets the group's name.
+ ///
+ ///
+ /// Required, Max length = 255.
+ ///
+ [MaxLength(255)]
+ [StringLength(255)]
+ public string Name { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets a collection containing the group's permissions.
- ///
- public virtual ICollection Permissions { get; private set; }
+ ///
+ /// Gets a collection containing the group's permissions.
+ ///
+ public virtual ICollection Permissions { get; private set; }
- ///
- /// Gets a collection containing the group's preferences.
- ///
- public virtual ICollection Preferences { get; private set; }
+ ///
+ /// Gets a collection containing the group's preferences.
+ ///
+ public virtual ICollection Preferences { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/HomeSection.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/HomeSection.cs
index 4e18bd33..db2adf24 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/HomeSection.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/HomeSection.cs
@@ -3,46 +3,46 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Enums;
-
-///
-/// An entity representing a section on the user's home page.
-///
-public class HomeSection
{
- ///
- /// Gets the id.
- ///
- ///
- /// Identity. Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Enums;
///
- /// Gets or sets the Id of the associated display preferences.
+ /// An entity representing a section on the user's home page.
///
- ///
- /// Required.
- ///
- public int DisplayPreferencesId { get; set; }
+ public class HomeSection
+ {
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity. Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the order.
- ///
- ///
- /// Required.
- ///
- public int Order { get; set; }
+ ///
+ /// Gets or sets the Id of the associated display preferences.
+ ///
+ ///
+ /// Required.
+ ///
+ public int DisplayPreferencesId { get; set; }
- ///
- /// Gets or sets the type.
- ///
- ///
- /// Required.
- ///
- public HomeSectionType Type { get; set; }
+ ///
+ /// Gets or sets the order.
+ ///
+ ///
+ /// Required.
+ ///
+ public int Order { get; set; }
+
+ ///
+ /// Gets or sets the type.
+ ///
+ ///
+ /// Required.
+ ///
+ public HomeSectionType Type { get; set; }
+ }
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfo.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfo.cs
index 0cb3506b..3f382c28 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfo.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfo.cs
@@ -3,55 +3,56 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-///
-/// An entity representing an image.
-///
-public class ImageInfo
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing an image.
///
- /// The path.
- public ImageInfo(string path)
+ public class ImageInfo
{
- Path = path;
- LastModified = DateTime.UtcNow;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The path.
+ public ImageInfo(string path)
+ {
+ this.Path = path;
+ this.LastModified = DateTime.UtcNow;
+ }
+
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
+
+ ///
+ /// Gets the user id.
+ ///
+ public Guid? UserId { get; private set; }
+
+ ///
+ /// Gets or sets the path of the image.
+ ///
+ ///
+ /// Required.
+ ///
+ [MaxLength(512)]
+ [StringLength(512)]
+ public string Path { get; set; }
+
+ ///
+ /// Gets or sets the date last modified.
+ ///
+ ///
+ /// Required.
+ ///
+ public DateTime LastModified { get; set; }
}
-
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
-
- ///
- /// Gets the user id.
- ///
- public Guid? UserId { get; private set; }
-
- ///
- /// Gets or sets the path of the image.
- ///
- ///
- /// Required.
- ///
- [MaxLength(512)]
- [StringLength(512)]
- public string Path { get; set; }
-
- ///
- /// Gets or sets the date last modified.
- ///
- ///
- /// Required.
- ///
- public DateTime LastModified { get; set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfoImageType.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfoImageType.cs
index 60e8e944..fd8b63e6 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfoImageType.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ImageInfoImageType.cs
@@ -76,5 +76,5 @@ public enum ImageInfoImageType
///
/// The user profile image.
///
- Profile = 12
+ Profile = 12,
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ItemDisplayPreferences.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ItemDisplayPreferences.cs
index b6fb8f5d..c0d35dc1 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ItemDisplayPreferences.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/ItemDisplayPreferences.cs
@@ -3,13 +3,12 @@
//
namespace Jellyfin.Database.Implementations.Entities
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Enums;
-
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Enums;
+
///
/// An entity that represents a user's display preferences for a specific item.
///
@@ -23,14 +22,14 @@ using Jellyfin.Database.Implementations.Enums;
/// The client.
public ItemDisplayPreferences(Guid userId, Guid itemId, string client)
{
- UserId = userId;
- ItemId = itemId;
- Client = client;
+ this.UserId = userId;
+ this.ItemId = itemId;
+ this.Client = client;
- SortBy = "SortName";
- SortOrder = SortOrder.Ascending;
- RememberSorting = false;
- RememberIndexing = false;
+ this.SortBy = "SortName";
+ this.SortOrder = SortOrder.Ascending;
+ this.RememberSorting = false;
+ this.RememberIndexing = false;
}
///
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Artwork.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Artwork.cs
index 36ec9132..eb0e878d 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Artwork.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Artwork.cs
@@ -3,67 +3,66 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Enums;
-using Jellyfin.Database.Implementations.Interfaces;
-
-
-///
-/// An entity representing artwork.
-///
-public class Artwork : IHasConcurrencyToken
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Enums;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing artwork.
///
- /// The path.
- /// The kind of art.
- public Artwork(string path, ArtKind kind)
+ public class Artwork : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(path);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The path.
+ /// The kind of art.
+ public Artwork(string path, ArtKind kind)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(path);
- Path = path;
- Kind = kind;
- }
+ this.Path = path;
+ this.Kind = kind;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the path.
- ///
- ///
- /// Required, Max length = 65535.
- ///
- [MaxLength(65535)]
- [StringLength(65535)]
- public string Path { get; set; }
+ ///
+ /// Gets or sets the path.
+ ///
+ ///
+ /// Required, Max length = 65535.
+ ///
+ [MaxLength(65535)]
+ [StringLength(65535)]
+ public string Path { get; set; }
- ///
- /// Gets or sets the kind of artwork.
- ///
- ///
- /// Required.
- ///
- public ArtKind Kind { get; set; }
+ ///
+ /// Gets or sets the kind of artwork.
+ ///
+ ///
+ /// Required.
+ ///
+ public ArtKind Kind { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Book.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Book.cs
index 8b83eb78..201ef8d3 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Book.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Book.cs
@@ -2,31 +2,35 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+#pragma warning disable CA1724
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a book.
-///
-public class Book : LibraryItem, IHasReleases
{
+ using System.Collections.Generic;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a book.
///
- /// The library.
- public Book(Library library) : base(library)
+ public class Book : LibraryItem, IHasReleases
{
- BookMetadata = new HashSet();
- Releases = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library.
+ public Book(Library library) : base(library)
+ {
+ this.BookMetadata = new HashSet();
+ this.Releases = new HashSet();
+ }
+
+ ///
+ /// Gets a collection containing the metadata for this book.
+ ///
+ public virtual ICollection BookMetadata { get; private set; }
+
+ ///
+ public virtual ICollection Releases { get; private set; }
}
-
- ///
- /// Gets a collection containing the metadata for this book.
- ///
- public virtual ICollection BookMetadata { get; private set; }
-
- ///
- public virtual ICollection Releases { get; private set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/BookMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/BookMetadata.cs
index e639e1ae..5a7a4829 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/BookMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/BookMetadata.cs
@@ -2,36 +2,39 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity containing metadata for a book.
-///
-public class BookMetadata : ItemMetadata, IHasCompanies
{
+ using System.Collections.Generic;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity containing metadata for a book.
///
- /// The title or name of the object.
- /// ISO-639-3 3-character language codes.
- public BookMetadata(string title, string language) : base(title, language)
+ public class BookMetadata : ItemMetadata, IHasCompanies
{
- Publishers = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the object.
+ /// ISO-639-3 3-character language codes.
+ public BookMetadata(string title, string language) : base(title, language)
+ {
+ this.Publishers = new HashSet();
+ }
+
+ ///
+ /// Gets or sets the ISBN.
+ ///
+ public long? Isbn { get; set; }
+
+ ///
+ /// Gets a collection of the publishers for this book.
+ ///
+ public virtual ICollection Publishers { get; private set; }
+
+ ///
+ public ICollection Companies => this.Publishers;
}
-
- ///
- /// Gets or sets the ISBN.
- ///
- public long? Isbn { get; set; }
-
- ///
- /// Gets a collection of the publishers for this book.
- ///
- public virtual ICollection Publishers { get; private set; }
-
- ///
- public ICollection Companies => Publishers;
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Chapter.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Chapter.cs
index 3f2a6a8b..b23ac8de 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Chapter.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Chapter.cs
@@ -3,81 +3,82 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a chapter.
-///
-public class Chapter : IHasConcurrencyToken
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a chapter.
///
- /// ISO-639-3 3-character language codes.
- /// The start time for this chapter.
- public Chapter(string language, long startTime)
+ public class Chapter : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(language);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// ISO-639-3 3-character language codes.
+ /// The start time for this chapter.
+ public Chapter(string language, long startTime)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(language);
- Language = language;
- StartTime = startTime;
- }
+ this.Language = language;
+ this.StartTime = startTime;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Name { get; set; }
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Name { get; set; }
- ///
- /// Gets or sets the language.
- ///
- ///
- /// Required, Min length = 3, Max length = 3
- /// ISO-639-3 3-character language codes.
- ///
- [MinLength(3)]
- [MaxLength(3)]
- [StringLength(3)]
- public string Language { get; set; }
+ ///
+ /// Gets or sets the language.
+ ///
+ ///
+ /// Required, Min length = 3, Max length = 3
+ /// ISO-639-3 3-character language codes.
+ ///
+ [MinLength(3)]
+ [MaxLength(3)]
+ [StringLength(3)]
+ public string Language { get; set; }
- ///
- /// Gets or sets the start time.
- ///
- ///
- /// Required.
- ///
- public long StartTime { get; set; }
+ ///
+ /// Gets or sets the start time.
+ ///
+ ///
+ /// Required.
+ ///
+ public long StartTime { get; set; }
- ///
- /// Gets or sets the end time.
- ///
- public long? EndTime { get; set; }
+ ///
+ /// Gets or sets the end time.
+ ///
+ public long? EndTime { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Collection.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Collection.cs
index 4db4e2ba..b3b42bc6 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Collection.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Collection.cs
@@ -5,56 +5,57 @@
#pragma warning disable CA1711 // Identifiers should not have incorrect suffix
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a collection.
-///
-public class Collection : IHasConcurrencyToken
{
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a collection.
///
- public Collection()
+ public class Collection : IHasConcurrencyToken
{
- Items = new HashSet();
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public Collection()
+ {
+ this.Items = new HashSet();
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Name { get; set; }
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Name { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets a collection containing this collection's items.
- ///
- public virtual ICollection Items { get; private set; }
+ ///
+ /// Gets a collection containing this collection's items.
+ ///
+ public virtual ICollection Items { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CollectionItem.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CollectionItem.cs
index 54d14dae..0f8b9325 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CollectionItem.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CollectionItem.cs
@@ -2,66 +2,69 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable CA1716 // Ignore keyword
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a collection item.
-///
-public class CollectionItem : IHasConcurrencyToken
{
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a collection item.
///
- /// The library item.
- public CollectionItem(LibraryItem libraryItem)
+ public class CollectionItem : IHasConcurrencyToken
{
- LibraryItem = libraryItem;
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library item.
+ public CollectionItem(LibraryItem libraryItem)
+ {
+ this.LibraryItem = libraryItem;
+ }
- ///
- /// Gets or sets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; set; }
+ ///
+ /// Gets or sets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets or sets the library item.
- ///
- ///
- /// Required.
- ///
- public virtual LibraryItem LibraryItem { get; set; }
+ ///
+ /// Gets or sets the library item.
+ ///
+ ///
+ /// Required.
+ ///
+ public virtual LibraryItem LibraryItem { get; set; }
- ///
- /// Gets or sets the next item in the collection.
- ///
- ///
- /// TODO check if this properly updated Dependent and has the proper principal relationship.
- ///
- public virtual CollectionItem? Next { get; set; }
+ ///
+ /// Gets or sets the next item in the collection.
+ ///
+ ///
+ /// TODO check if this properly updated Dependent and has the proper principal relationship.
+ ///
+ public virtual CollectionItem? Next { get; set; }
- ///
- /// Gets or sets the previous item in the collection.
- ///
- ///
- /// TODO check if this properly updated Dependent and has the proper principal relationship.
- ///
- public virtual CollectionItem? Previous { get; set; }
+ ///
+ /// Gets or sets the previous item in the collection.
+ ///
+ ///
+ /// TODO check if this properly updated Dependent and has the proper principal relationship.
+ ///
+ public virtual CollectionItem? Previous { get; set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Company.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Company.cs
index 472e6a27..964caaf5 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Company.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Company.cs
@@ -3,55 +3,56 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a company.
-///
-public class Company : IHasCompanies, IHasConcurrencyToken
{
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a company.
///
- public Company()
+ public class Company : IHasCompanies, IHasConcurrencyToken
{
- CompanyMetadata = new HashSet();
- ChildCompanies = new HashSet();
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public Company()
+ {
+ this.CompanyMetadata = new HashSet();
+ this.ChildCompanies = new HashSet();
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets a collection containing the metadata.
- ///
- public virtual ICollection CompanyMetadata { get; private set; }
+ ///
+ /// Gets a collection containing the metadata.
+ ///
+ public virtual ICollection CompanyMetadata { get; private set; }
- ///
- /// Gets a collection containing this company's child companies.
- ///
- public virtual ICollection ChildCompanies { get; private set; }
+ ///
+ /// Gets a collection containing this company's child companies.
+ ///
+ public virtual ICollection ChildCompanies { get; private set; }
- ///
- public ICollection Companies => ChildCompanies;
+ ///
+ public ICollection Companies => this.ChildCompanies;
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CompanyMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CompanyMetadata.cs
index d5bb07dc..bc19cfc5 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CompanyMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CompanyMetadata.cs
@@ -2,61 +2,64 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.ComponentModel.DataAnnotations;
-
-///
-/// An entity holding metadata for a .
-///
-public class CompanyMetadata : ItemMetadata
{
+ using System.ComponentModel.DataAnnotations;
+
///
- /// Initializes a new instance of the class.
+ /// An entity holding metadata for a .
///
- /// The title or name of the object.
- /// ISO-639-3 3-character language codes.
- public CompanyMetadata(string title, string language) : base(title, language)
+ public class CompanyMetadata : ItemMetadata
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the object.
+ /// ISO-639-3 3-character language codes.
+ public CompanyMetadata(string title, string language) : base(title, language)
+ {
+ }
+
+ ///
+ /// Gets or sets the description.
+ ///
+ ///
+ /// Max length = 65535.
+ ///
+ [MaxLength(65535)]
+ [StringLength(65535)]
+ public string? Description { get; set; }
+
+ ///
+ /// Gets or sets the headquarters.
+ ///
+ ///
+ /// Max length = 255.
+ ///
+ [MaxLength(255)]
+ [StringLength(255)]
+ public string? Headquarters { get; set; }
+
+ ///
+ /// Gets or sets the country code.
+ ///
+ ///
+ /// Max length = 2.
+ ///
+ [MaxLength(2)]
+ [StringLength(2)]
+ public string? Country { get; set; }
+
+ ///
+ /// Gets or sets the homepage.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Homepage { get; set; }
}
-
- ///
- /// Gets or sets the description.
- ///
- ///
- /// Max length = 65535.
- ///
- [MaxLength(65535)]
- [StringLength(65535)]
- public string? Description { get; set; }
-
- ///
- /// Gets or sets the headquarters.
- ///
- ///
- /// Max length = 255.
- ///
- [MaxLength(255)]
- [StringLength(255)]
- public string? Headquarters { get; set; }
-
- ///
- /// Gets or sets the country code.
- ///
- ///
- /// Max length = 2.
- ///
- [MaxLength(2)]
- [StringLength(2)]
- public string? Country { get; set; }
-
- ///
- /// Gets or sets the homepage.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Homepage { get; set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItem.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItem.cs
index b7939d7c..41b7c372 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItem.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItem.cs
@@ -2,31 +2,34 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a custom item.
-///
-public class CustomItem : LibraryItem, IHasReleases
{
+ using System.Collections.Generic;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a custom item.
///
- /// The library.
- public CustomItem(Library library) : base(library)
+ public class CustomItem : LibraryItem, IHasReleases
{
- CustomItemMetadata = new HashSet();
- Releases = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library.
+ public CustomItem(Library library) : base(library)
+ {
+ this.CustomItemMetadata = new HashSet();
+ this.Releases = new HashSet();
+ }
+
+ ///
+ /// Gets a collection containing the metadata for this item.
+ ///
+ public virtual ICollection CustomItemMetadata { get; private set; }
+
+ ///
+ public virtual ICollection Releases { get; private set; }
}
-
- ///
- /// Gets a collection containing the metadata for this item.
- ///
- public virtual ICollection CustomItemMetadata { get; private set; }
-
- ///
- public virtual ICollection Releases { get; private set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItemMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItemMetadata.cs
index 7df9b9f3..401d0b8c 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItemMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/CustomItemMetadata.cs
@@ -2,19 +2,22 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
-namespace Jellyfin.Database.Implementations.Entities.Libraries
+#pragma warning disable SA1128 // Put constructor initializers on their own line
-///
-/// An entity containing metadata for a custom item.
-///
-public class CustomItemMetadata : ItemMetadata
+namespace Jellyfin.Database.Implementations.Entities.Libraries
{
///
- /// Initializes a new instance of the class.
+ /// An entity containing metadata for a custom item.
///
- /// The title or name of the object.
- /// ISO-639-3 3-character language codes.
- public CustomItemMetadata(string title, string language) : base(title, language)
+ public class CustomItemMetadata : ItemMetadata
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the object.
+ /// ISO-639-3 3-character language codes.
+ public CustomItemMetadata(string title, string language) : base(title, language)
+ {
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Episode.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Episode.cs
index 88194f2a..b0daea0a 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Episode.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Episode.cs
@@ -2,36 +2,39 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing an episode.
-///
-public class Episode : LibraryItem, IHasReleases
{
+ using System.Collections.Generic;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing an episode.
///
- /// The library.
- public Episode(Library library) : base(library)
+ public class Episode : LibraryItem, IHasReleases
{
- Releases = new HashSet();
- EpisodeMetadata = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library.
+ public Episode(Library library) : base(library)
+ {
+ this.Releases = new HashSet();
+ this.EpisodeMetadata = new HashSet();
+ }
+
+ ///
+ /// Gets or sets the episode number.
+ ///
+ public int? EpisodeNumber { get; set; }
+
+ ///
+ public virtual ICollection Releases { get; private set; }
+
+ ///
+ /// Gets a collection containing the metadata for this episode.
+ ///
+ public virtual ICollection EpisodeMetadata { get; private set; }
}
-
- ///
- /// Gets or sets the episode number.
- ///
- public int? EpisodeNumber { get; set; }
-
- ///
- public virtual ICollection Releases { get; private set; }
-
- ///
- /// Gets a collection containing the metadata for this episode.
- ///
- public virtual ICollection EpisodeMetadata { get; private set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/EpisodeMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/EpisodeMetadata.cs
index 7fa679c9..484a5434 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/EpisodeMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/EpisodeMetadata.cs
@@ -2,51 +2,54 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.ComponentModel.DataAnnotations;
-
-///
-/// An entity containing metadata for an .
-///
-public class EpisodeMetadata : ItemMetadata
{
+ using System.ComponentModel.DataAnnotations;
+
///
- /// Initializes a new instance of the class.
+ /// An entity containing metadata for an .
///
- /// The title or name of the object.
- /// ISO-639-3 3-character language codes.
- public EpisodeMetadata(string title, string language) : base(title, language)
+ public class EpisodeMetadata : ItemMetadata
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the object.
+ /// ISO-639-3 3-character language codes.
+ public EpisodeMetadata(string title, string language) : base(title, language)
+ {
+ }
+
+ ///
+ /// Gets or sets the outline.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Outline { get; set; }
+
+ ///
+ /// Gets or sets the plot.
+ ///
+ ///
+ /// Max length = 65535.
+ ///
+ [MaxLength(65535)]
+ [StringLength(65535)]
+ public string? Plot { get; set; }
+
+ ///
+ /// Gets or sets the tagline.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Tagline { get; set; }
}
-
- ///
- /// Gets or sets the outline.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Outline { get; set; }
-
- ///
- /// Gets or sets the plot.
- ///
- ///
- /// Max length = 65535.
- ///
- [MaxLength(65535)]
- [StringLength(65535)]
- public string? Plot { get; set; }
-
- ///
- /// Gets or sets the tagline.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Tagline { get; set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Genre.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Genre.cs
index b2413408..b6b78225 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Genre.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Genre.cs
@@ -3,51 +3,52 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a genre.
-///
-public class Genre : IHasConcurrencyToken
{
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a genre.
///
- /// The name.
- public Genre(string name)
+ public class Genre : IHasConcurrencyToken
{
- Name = name;
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The name.
+ public Genre(string name)
+ {
+ this.Name = name;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Indexed, Required, Max length = 255.
- ///
- [MaxLength(255)]
- [StringLength(255)]
- public string Name { get; set; }
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Indexed, Required, Max length = 255.
+ ///
+ [MaxLength(255)]
+ [StringLength(255)]
+ public string Name { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/ItemMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/ItemMetadata.cs
index 0a97c6dd..bb30c8f9 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/ItemMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/ItemMetadata.cs
@@ -3,142 +3,143 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An abstract class that holds metadata.
-///
-public abstract class ItemMetadata : IHasArtwork, IHasConcurrencyToken
{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An abstract class that holds metadata.
///
- /// The title or name of the object.
- /// ISO-639-3 3-character language codes.
- protected ItemMetadata(string title, string language)
+ public abstract class ItemMetadata : IHasArtwork, IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(title);
- ArgumentException.ThrowIfNullOrEmpty(language);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the object.
+ /// ISO-639-3 3-character language codes.
+ protected ItemMetadata(string title, string language)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(title);
+ ArgumentException.ThrowIfNullOrEmpty(language);
- Title = title;
- Language = language;
- DateAdded = DateTime.UtcNow;
- DateModified = DateAdded;
+ this.Title = title;
+ this.Language = language;
+ this.DateAdded = DateTime.UtcNow;
+ this.DateModified = this.DateAdded;
- PersonRoles = new HashSet();
- Genres = new HashSet();
- Artwork = new HashSet();
- Ratings = new HashSet();
- Sources = new HashSet();
- }
+ this.PersonRoles = new HashSet();
+ this.Genres = new HashSet();
+ this.Artwork = new HashSet();
+ this.Ratings = new HashSet();
+ this.Sources = new HashSet();
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the title.
- ///
- ///
- /// Required, Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string Title { get; set; }
+ ///
+ /// Gets or sets the title.
+ ///
+ ///
+ /// Required, Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string Title { get; set; }
- ///
- /// Gets or sets the original title.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? OriginalTitle { get; set; }
+ ///
+ /// Gets or sets the original title.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? OriginalTitle { get; set; }
- ///
- /// Gets or sets the sort title.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? SortTitle { get; set; }
+ ///
+ /// Gets or sets the sort title.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? SortTitle { get; set; }
- ///
- /// Gets or sets the language.
- ///
- ///
- /// Required, Min length = 3, Max length = 3.
- /// ISO-639-3 3-character language codes.
- ///
- [MinLength(3)]
- [MaxLength(3)]
- [StringLength(3)]
- public string Language { get; set; }
+ ///
+ /// Gets or sets the language.
+ ///
+ ///
+ /// Required, Min length = 3, Max length = 3.
+ /// ISO-639-3 3-character language codes.
+ ///
+ [MinLength(3)]
+ [MaxLength(3)]
+ [StringLength(3)]
+ public string Language { get; set; }
- ///
- /// Gets or sets the release date.
- ///
- public DateTimeOffset? ReleaseDate { get; set; }
+ ///
+ /// Gets or sets the release date.
+ ///
+ public DateTimeOffset? ReleaseDate { get; set; }
- ///
- /// Gets the date added.
- ///
- ///
- /// Required.
- ///
- public DateTime DateAdded { get; private set; }
+ ///
+ /// Gets the date added.
+ ///
+ ///
+ /// Required.
+ ///
+ public DateTime DateAdded { get; private set; }
- ///
- /// Gets or sets the date modified.
- ///
- ///
- /// Required.
- ///
- public DateTime DateModified { get; set; }
+ ///
+ /// Gets or sets the date modified.
+ ///
+ ///
+ /// Required.
+ ///
+ public DateTime DateModified { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets a collection containing the person roles for this item.
- ///
- public virtual ICollection PersonRoles { get; private set; }
+ ///
+ /// Gets a collection containing the person roles for this item.
+ ///
+ public virtual ICollection PersonRoles { get; private set; }
- ///
- /// Gets a collection containing the genres for this item.
- ///
- public virtual ICollection Genres { get; private set; }
+ ///
+ /// Gets a collection containing the genres for this item.
+ ///
+ public virtual ICollection Genres { get; private set; }
- ///
- public virtual ICollection Artwork { get; private set; }
+ ///
+ public virtual ICollection Artwork { get; private set; }
- ///
- /// Gets a collection containing the ratings for this item.
- ///
- public virtual ICollection Ratings { get; private set; }
+ ///
+ /// Gets a collection containing the ratings for this item.
+ ///
+ public virtual ICollection Ratings { get; private set; }
- ///
- /// Gets a collection containing the metadata sources for this item.
- ///
- public virtual ICollection Sources { get; private set; }
+ ///
+ /// Gets a collection containing the metadata sources for this item.
+ ///
+ public virtual ICollection Sources { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Library.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Library.cs
index b32d0b6e..b8811cf8 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Library.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Library.cs
@@ -2,62 +2,65 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable CA1724
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a library.
-///
-public class Library : IHasConcurrencyToken
{
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a library.
///
- /// The name of the library.
- /// The path of the library.
- public Library(string name, string path)
+ public class Library : IHasConcurrencyToken
{
- Name = name;
- Path = path;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The name of the library.
+ /// The path of the library.
+ public Library(string name, string path)
+ {
+ this.Name = name;
+ this.Path = path;
+ }
+
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
+
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Required, Max length = 128.
+ ///
+ [MaxLength(128)]
+ [StringLength(128)]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets the root path of the library.
+ ///
+ ///
+ /// Required.
+ ///
+ public string Path { get; set; }
+
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
+
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
-
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
-
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Required, Max length = 128.
- ///
- [MaxLength(128)]
- [StringLength(128)]
- public string Name { get; set; }
-
- ///
- /// Gets or sets the root path of the library.
- ///
- ///
- /// Required.
- ///
- public string Path { get; set; }
-
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
-
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
- }
-}
\ No newline at end of file
+}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/LibraryItem.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/LibraryItem.cs
index e1f2f2bd..cd61b9c0 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/LibraryItem.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/LibraryItem.cs
@@ -3,56 +3,57 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a library item.
-///
-public abstract class LibraryItem : IHasConcurrencyToken
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a library item.
///
- /// The library of this item.
- protected LibraryItem(Library library)
+ public abstract class LibraryItem : IHasConcurrencyToken
{
- DateAdded = DateTime.UtcNow;
- Library = library;
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library of this item.
+ protected LibraryItem(Library library)
+ {
+ this.DateAdded = DateTime.UtcNow;
+ this.Library = library;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets the date this library item was added.
- ///
- public DateTime DateAdded { get; private set; }
+ ///
+ /// Gets the date this library item was added.
+ ///
+ public DateTime DateAdded { get; private set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets or sets the library of this item.
- ///
- ///
- /// Required.
- ///
- public virtual Library Library { get; set; }
+ ///
+ /// Gets or sets the library of this item.
+ ///
+ ///
+ /// Required.
+ ///
+ public virtual Library Library { get; set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFile.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFile.cs
index 80e063d2..23556c56 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFile.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFile.cs
@@ -3,73 +3,74 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Enums;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a file on disk.
-///
-public class MediaFile : IHasConcurrencyToken
{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Enums;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a file on disk.
///
- /// The path relative to the LibraryRoot.
- /// The file kind.
- public MediaFile(string path, MediaFileKind kind)
+ public class MediaFile : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(path);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The path relative to the LibraryRoot.
+ /// The file kind.
+ public MediaFile(string path, MediaFileKind kind)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(path);
- Path = path;
- Kind = kind;
+ this.Path = path;
+ this.Kind = kind;
- MediaFileStreams = new HashSet();
- }
+ this.MediaFileStreams = new HashSet();
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the path relative to the library root.
- ///
- ///
- /// Required, Max length = 65535.
- ///
- [MaxLength(65535)]
- [StringLength(65535)]
- public string Path { get; set; }
+ ///
+ /// Gets or sets the path relative to the library root.
+ ///
+ ///
+ /// Required, Max length = 65535.
+ ///
+ [MaxLength(65535)]
+ [StringLength(65535)]
+ public string Path { get; set; }
- ///
- /// Gets or sets the kind of media file.
- ///
- ///
- /// Required.
- ///
- public MediaFileKind Kind { get; set; }
+ ///
+ /// Gets or sets the kind of media file.
+ ///
+ ///
+ /// Required.
+ ///
+ public MediaFileKind Kind { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets a collection containing the streams in this file.
- ///
- public virtual ICollection MediaFileStreams { get; private set; }
+ ///
+ /// Gets a collection containing the streams in this file.
+ ///
+ public virtual ICollection MediaFileStreams { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFileStream.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFileStream.cs
index ac56931d..d1dce7b1 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFileStream.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MediaFileStream.cs
@@ -3,51 +3,52 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
+{
#pragma warning disable CA1711 // Identifiers should not have incorrect suffix
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
-///
-/// An entity representing a stream in a media file.
-///
-public class MediaFileStream : IHasConcurrencyToken
-{
///
- /// Initializes a new instance of the class.
+ /// An entity representing a stream in a media file.
///
- /// The number of this stream.
- public MediaFileStream(int streamNumber)
+ public class MediaFileStream : IHasConcurrencyToken
{
- StreamNumber = streamNumber;
- }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The number of this stream.
+ public MediaFileStream(int streamNumber)
+ {
+ this.StreamNumber = streamNumber;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the stream number.
- ///
- ///
- /// Required.
- ///
- public int StreamNumber { get; set; }
+ ///
+ /// Gets or sets the stream number.
+ ///
+ ///
+ /// Required.
+ ///
+ public int StreamNumber { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProvider.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProvider.cs
index 8e87bb0a..1afc3f01 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProvider.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProvider.cs
@@ -3,54 +3,55 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a metadata provider.
-///
-public class MetadataProvider : IHasConcurrencyToken
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a metadata provider.
///
- /// The name of the metadata provider.
- public MetadataProvider(string name)
+ public class MetadataProvider : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(name);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The name of the metadata provider.
+ public MetadataProvider(string name)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(name);
- Name = name;
- }
+ this.Name = name;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the name.
- ///
- ///
- /// Required, Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string Name { get; set; }
+ ///
+ /// Gets or sets the name.
+ ///
+ ///
+ /// Required, Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string Name { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProviderId.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProviderId.cs
index e46b6c9e..c109253a 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProviderId.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MetadataProviderId.cs
@@ -3,65 +3,65 @@
//
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a unique identifier for a metadata provider.
-///
-public class MetadataProviderId : IHasConcurrencyToken
{
+ using System;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a unique identifier for a metadata provider.
///
- /// The provider id.
- /// The metadata provider.
- public MetadataProviderId(string providerId, MetadataProvider metadataProvider)
+ public class MetadataProviderId : IHasConcurrencyToken
{
- ArgumentException.ThrowIfNullOrEmpty(providerId);
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The provider id.
+ /// The metadata provider.
+ public MetadataProviderId(string providerId, MetadataProvider metadataProvider)
+ {
+ ArgumentException.ThrowIfNullOrEmpty(providerId);
- ProviderId = providerId;
- MetadataProvider = metadataProvider;
- }
+ this.ProviderId = providerId;
+ this.MetadataProvider = metadataProvider;
+ }
- ///
- /// Gets the id.
- ///
- ///
- /// Identity, Indexed, Required.
- ///
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; private set; }
+ ///
+ /// Gets the id.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+ public int Id { get; private set; }
- ///
- /// Gets or sets the provider id.
- ///
- ///
- /// Required, Max length = 255.
- ///
- [MaxLength(255)]
- [StringLength(255)]
- public string ProviderId { get; set; }
+ ///
+ /// Gets or sets the provider id.
+ ///
+ ///
+ /// Required, Max length = 255.
+ ///
+ [MaxLength(255)]
+ [StringLength(255)]
+ public string ProviderId { get; set; }
- ///
- [ConcurrencyCheck]
- public uint RowVersion { get; private set; }
+ ///
+ [ConcurrencyCheck]
+ public uint RowVersion { get; private set; }
- ///
- /// Gets or sets the metadata provider.
- ///
- ///
- /// Required.
- ///
- public virtual MetadataProvider MetadataProvider { get; set; }
+ ///
+ /// Gets or sets the metadata provider.
+ ///
+ ///
+ /// Required.
+ ///
+ public virtual MetadataProvider MetadataProvider { get; set; }
- ///
- public void OnSavingChanges()
- {
- RowVersion++;
+ ///
+ public void OnSavingChanges()
+ {
+ this.RowVersion++;
+ }
}
}
-
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Movie.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Movie.cs
index 67e4943f..61fee13a 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Movie.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/Movie.cs
@@ -2,31 +2,35 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+#pragma warning disable CA1724
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity representing a movie.
-///
-public class Movie : LibraryItem, IHasReleases
{
+ using System.Collections.Generic;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a movie.
///
- /// The library.
- public Movie(Library library) : base(library)
+ public class Movie : LibraryItem, IHasReleases
{
- Releases = new HashSet();
- MovieMetadata = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The library.
+ public Movie(Library library) : base(library)
+ {
+ this.Releases = new HashSet();
+ this.MovieMetadata = new HashSet();
+ }
+
+ ///
+ public virtual ICollection Releases { get; private set; }
+
+ ///
+ /// Gets a collection containing the metadata for this movie.
+ ///
+ public virtual ICollection MovieMetadata { get; private set; }
}
-
- ///
- public virtual ICollection Releases { get; private set; }
-
- ///
- /// Gets a collection containing the metadata for this movie.
- ///
- public virtual ICollection MovieMetadata { get; private set; }
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MovieMetadata.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MovieMetadata.cs
index d7db3986..fd1ce91b 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MovieMetadata.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MovieMetadata.cs
@@ -2,72 +2,75 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using Jellyfin.Database.Implementations.Interfaces;
-
-///
-/// An entity holding the metadata for a movie.
-///
-public class MovieMetadata : ItemMetadata, IHasCompanies
{
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using Jellyfin.Database.Implementations.Interfaces;
+
///
- /// Initializes a new instance of the class.
+ /// An entity holding the metadata for a movie.
///
- /// The title or name of the movie.
- /// ISO-639-3 3-character language codes.
- public MovieMetadata(string title, string language) : base(title, language)
+ public class MovieMetadata : ItemMetadata, IHasCompanies
{
- Studios = new HashSet();
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The title or name of the movie.
+ /// ISO-639-3 3-character language codes.
+ public MovieMetadata(string title, string language) : base(title, language)
+ {
+ this.Studios = new HashSet();
+ }
+
+ ///
+ /// Gets or sets the outline.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Outline { get; set; }
+
+ ///
+ /// Gets or sets the tagline.
+ ///
+ ///
+ /// Max length = 1024.
+ ///
+ [MaxLength(1024)]
+ [StringLength(1024)]
+ public string? Tagline { get; set; }
+
+ ///
+ /// Gets or sets the plot.
+ ///
+ ///
+ /// Max length = 65535.
+ ///
+ [MaxLength(65535)]
+ [StringLength(65535)]
+ public string? Plot { get; set; }
+
+ ///
+ /// Gets or sets the country code.
+ ///
+ ///
+ /// Max length = 2.
+ ///
+ [MaxLength(2)]
+ [StringLength(2)]
+ public string? Country { get; set; }
+
+ ///
+ /// Gets the studios that produced this movie.
+ ///
+ public virtual ICollection Studios { get; private set; }
+
+ ///
+ public ICollection Companies => this.Studios;
}
-
- ///
- /// Gets or sets the outline.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Outline { get; set; }
-
- ///
- /// Gets or sets the tagline.
- ///
- ///
- /// Max length = 1024.
- ///
- [MaxLength(1024)]
- [StringLength(1024)]
- public string? Tagline { get; set; }
-
- ///
- /// Gets or sets the plot.
- ///
- ///
- /// Max length = 65535.
- ///
- [MaxLength(65535)]
- [StringLength(65535)]
- public string? Plot { get; set; }
-
- ///
- /// Gets or sets the country code.
- ///
- ///
- /// Max length = 2.
- ///
- [MaxLength(2)]
- [StringLength(2)]
- public string? Country { get; set; }
-
- ///
- /// Gets the studios that produced this movie.
- ///
- public virtual ICollection Studios { get; private set; }
-
- ///
- public ICollection Companies => Studios;
}
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MusicAlbum.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MusicAlbum.cs
index 472befb0..e2d8cc96 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MusicAlbum.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Libraries/MusicAlbum.cs
@@ -2,32 +2,36 @@
// Copyright (c) PlaceholderCompany. All rights reserved.
//
+#pragma warning disable SA1128 // Put constructor initializers on their own line
+#pragma warning disable CA1724
+
namespace Jellyfin.Database.Implementations.Entities.Libraries
-
-using System.Collections.Generic;
-
-///
-/// An entity representing a music album.
-///
-public class MusicAlbum : LibraryItem
{
+ using System.Collections.Generic;
+
///
- /// Initializes a new instance of the class.
+ /// An entity representing a music album.
///
- /// The library.
- public MusicAlbum(Library library) : base(library)
+ public class MusicAlbum : LibraryItem
{
- MusicAlbumMetadata = new HashSet();
- Tracks = new HashSet