diff --git a/Jellyfin.Data/Entities/AccessSchedule.cs b/Jellyfin.Data/Entities/AccessSchedule.cs
index 7d1b76a3f8..72bca061da 100644
--- a/Jellyfin.Data/Entities/AccessSchedule.cs
+++ b/Jellyfin.Data/Entities/AccessSchedule.cs
@@ -1,7 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
-using System.Text.Json.Serialization;
using System.Xml.Serialization;
using Jellyfin.Data.Enums;
@@ -27,14 +26,6 @@ namespace Jellyfin.Data.Entities
EndHour = endHour;
}
- ///
- /// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected AccessSchedule()
- {
- }
-
///
/// Gets or sets the id of this instance.
///
diff --git a/Jellyfin.Data/Entities/ActivityLog.cs b/Jellyfin.Data/Entities/ActivityLog.cs
index e2d5c71879..80e32db30e 100644
--- a/Jellyfin.Data/Entities/ActivityLog.cs
+++ b/Jellyfin.Data/Entities/ActivityLog.cs
@@ -18,8 +18,7 @@ namespace Jellyfin.Data.Entities
/// The name.
/// The type.
/// The user id.
- /// The log level.
- public ActivityLog(string name, string type, Guid userId, LogLevel logLevel = LogLevel.Information)
+ public ActivityLog(string name, string type, Guid userId)
{
if (string.IsNullOrEmpty(name))
{
@@ -35,15 +34,7 @@ namespace Jellyfin.Data.Entities
Type = type;
UserId = userId;
DateCreated = DateTime.UtcNow;
- LogSeverity = logLevel;
- }
-
- ///
- /// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected ActivityLog()
- {
+ LogSeverity = LogLevel.Information;
}
///
diff --git a/Jellyfin.Data/Entities/CustomItemDisplayPreferences.cs b/Jellyfin.Data/Entities/CustomItemDisplayPreferences.cs
index 511e3b281a..d407180d46 100644
--- a/Jellyfin.Data/Entities/CustomItemDisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/CustomItemDisplayPreferences.cs
@@ -15,22 +15,15 @@ namespace Jellyfin.Data.Entities
/// The user id.
/// The item id.
/// The client.
- /// The preference key.
- /// The preference value.
- public CustomItemDisplayPreferences(Guid userId, Guid itemId, string client, string preferenceKey, string preferenceValue)
+ /// The preference key.
+ /// The preference value.
+ public CustomItemDisplayPreferences(Guid userId, Guid itemId, string client, string key, string value)
{
UserId = userId;
ItemId = itemId;
Client = client;
- Key = preferenceKey;
- Value = preferenceValue;
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- protected CustomItemDisplayPreferences()
- {
+ Key = key;
+ Value = value;
}
///
diff --git a/Jellyfin.Data/Entities/DisplayPreferences.cs b/Jellyfin.Data/Entities/DisplayPreferences.cs
index 1a8ca1da37..d186deb293 100644
--- a/Jellyfin.Data/Entities/DisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/DisplayPreferences.cs
@@ -36,13 +36,6 @@ namespace Jellyfin.Data.Entities
HomeSections = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- protected DisplayPreferences()
- {
- }
-
///
/// Gets or sets the Id.
///
diff --git a/Jellyfin.Data/Entities/Group.cs b/Jellyfin.Data/Entities/Group.cs
index 878811e59c..8c45dde928 100644
--- a/Jellyfin.Data/Entities/Group.cs
+++ b/Jellyfin.Data/Entities/Group.cs
@@ -32,16 +32,6 @@ namespace Jellyfin.Data.Entities
Preferences = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Group()
- {
- }
-
///
/// Gets or sets the id of this group.
///
diff --git a/Jellyfin.Data/Entities/ImageInfo.cs b/Jellyfin.Data/Entities/ImageInfo.cs
index ab8452e62c..f9ae1a955f 100644
--- a/Jellyfin.Data/Entities/ImageInfo.cs
+++ b/Jellyfin.Data/Entities/ImageInfo.cs
@@ -19,16 +19,6 @@ namespace Jellyfin.Data.Entities
LastModified = DateTime.UtcNow;
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected ImageInfo()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/ItemDisplayPreferences.cs b/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
index 2b25bb25f2..f0a04f8ea6 100644
--- a/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
@@ -28,13 +28,6 @@ namespace Jellyfin.Data.Entities
RememberIndexing = false;
}
- ///
- /// Initializes a new instance of the class.
- ///
- protected ItemDisplayPreferences()
- {
- }
-
///
/// Gets or sets the Id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Artwork.cs b/Jellyfin.Data/Entities/Libraries/Artwork.cs
index 06cd333301..df28ce7374 100644
--- a/Jellyfin.Data/Entities/Libraries/Artwork.cs
+++ b/Jellyfin.Data/Entities/Libraries/Artwork.cs
@@ -18,8 +18,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The path.
/// The kind of art.
- /// The owner.
- public Artwork(string path, ArtKind kind, IHasArtwork owner)
+ public Artwork(string path, ArtKind kind)
{
if (string.IsNullOrEmpty(path))
{
@@ -28,18 +27,6 @@ namespace Jellyfin.Data.Entities.Libraries
Path = path;
Kind = kind;
-
- owner?.Artwork.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Artwork()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Book.cs b/Jellyfin.Data/Entities/Libraries/Book.cs
index 2e63f75bd9..aea3d58d58 100644
--- a/Jellyfin.Data/Entities/Libraries/Book.cs
+++ b/Jellyfin.Data/Entities/Libraries/Book.cs
@@ -13,7 +13,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public Book()
+ /// The library.
+ public Book(Library library) : base(library)
{
BookMetadata = new HashSet();
Releases = new HashSet();
diff --git a/Jellyfin.Data/Entities/Libraries/BookMetadata.cs b/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
index 4a3d290f01..8b0c965306 100644
--- a/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -17,29 +16,11 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The book.
- public BookMetadata(string title, string language, Book book) : base(title, language)
+ public BookMetadata(string title, string language) : base(title, language)
{
- if (book == null)
- {
- throw new ArgumentNullException(nameof(book));
- }
-
- book.BookMetadata.Add(this);
-
Publishers = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected BookMetadata()
- {
- }
-
///
/// Gets or sets the ISBN.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Chapter.cs b/Jellyfin.Data/Entities/Libraries/Chapter.cs
index f503de3794..f253143d74 100644
--- a/Jellyfin.Data/Entities/Libraries/Chapter.cs
+++ b/Jellyfin.Data/Entities/Libraries/Chapter.cs
@@ -17,8 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// ISO-639-3 3-character language codes.
/// The start time for this chapter.
- /// The release.
- public Chapter(string language, long startTime, Release release)
+ public Chapter(string language, long startTime)
{
if (string.IsNullOrEmpty(language))
{
@@ -27,23 +26,6 @@ namespace Jellyfin.Data.Entities.Libraries
Language = language;
StartTime = startTime;
-
- if (release == null)
- {
- throw new ArgumentNullException(nameof(release));
- }
-
- release.Chapters.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Chapter()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/CollectionItem.cs b/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
index f9539964d0..1157de442b 100644
--- a/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
+++ b/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -10,44 +9,6 @@ namespace Jellyfin.Data.Entities.Libraries
///
public class CollectionItem : IHasConcurrencyToken
{
- ///
- /// Initializes a new instance of the class.
- ///
- /// The collection.
- /// The previous item.
- /// The next item.
- public CollectionItem(Collection collection, CollectionItem previous, CollectionItem next)
- {
- if (collection == null)
- {
- throw new ArgumentNullException(nameof(collection));
- }
-
- collection.Items.Add(this);
-
- if (next != null)
- {
- Next = next;
- next.Previous = this;
- }
-
- if (previous != null)
- {
- Previous = previous;
- previous.Next = this;
- }
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected CollectionItem()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Company.cs b/Jellyfin.Data/Entities/Libraries/Company.cs
index 3b6ed3309a..499ba3800a 100644
--- a/Jellyfin.Data/Entities/Libraries/Company.cs
+++ b/Jellyfin.Data/Entities/Libraries/Company.cs
@@ -15,24 +15,11 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- /// The owner of this company.
- public Company(IHasCompanies owner)
+ public Company()
{
- owner?.Companies.Add(this);
-
CompanyMetadata = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Company()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs b/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
index 8aa0486afa..86642b38a5 100644
--- a/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
namespace Jellyfin.Data.Entities.Libraries
@@ -13,21 +12,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The company.
- public CompanyMetadata(string title, string language, Company company) : base(title, language)
- {
- if (company == null)
- {
- throw new ArgumentNullException(nameof(company));
- }
-
- company.CompanyMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- protected CompanyMetadata()
+ public CompanyMetadata(string title, string language) : base(title, language)
{
}
diff --git a/Jellyfin.Data/Entities/Libraries/CustomItem.cs b/Jellyfin.Data/Entities/Libraries/CustomItem.cs
index 115489c786..88d1a0c258 100644
--- a/Jellyfin.Data/Entities/Libraries/CustomItem.cs
+++ b/Jellyfin.Data/Entities/Libraries/CustomItem.cs
@@ -13,7 +13,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public CustomItem()
+ /// The library.
+ public CustomItem(Library library) : base(library)
{
CustomItemMetadata = new HashSet();
Releases = new HashSet();
diff --git a/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs b/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
index f0daedfbe8..a69a8eafa4 100644
--- a/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
@@ -12,24 +12,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The item.
- public CustomItemMetadata(string title, string language, CustomItem item) : base(title, language)
- {
- if (item == null)
- {
- throw new ArgumentNullException(nameof(item));
- }
-
- item.CustomItemMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected CustomItemMetadata()
+ public CustomItemMetadata(string title, string language) : base(title, language)
{
}
}
diff --git a/Jellyfin.Data/Entities/Libraries/Episode.cs b/Jellyfin.Data/Entities/Libraries/Episode.cs
index 0bdc2d7642..458c7d9f5a 100644
--- a/Jellyfin.Data/Entities/Libraries/Episode.cs
+++ b/Jellyfin.Data/Entities/Libraries/Episode.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
@@ -14,30 +13,13 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- /// The season.
- public Episode(Season season)
+ /// The library.
+ public Episode(Library library) : base(library)
{
- if (season == null)
- {
- throw new ArgumentNullException(nameof(season));
- }
-
- season.Episodes.Add(this);
-
Releases = new HashSet();
EpisodeMetadata = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Episode()
- {
- }
-
///
/// Gets or sets the episode number.
///
diff --git a/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs b/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
index 7efb840f0b..5662decdb8 100644
--- a/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
namespace Jellyfin.Data.Entities.Libraries
@@ -13,24 +12,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The episode.
- public EpisodeMetadata(string title, string language, Episode episode) : base(title, language)
- {
- if (episode == null)
- {
- throw new ArgumentNullException(nameof(episode));
- }
-
- episode.EpisodeMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected EpisodeMetadata()
+ public EpisodeMetadata(string title, string language) : base(title, language)
{
}
diff --git a/Jellyfin.Data/Entities/Libraries/Genre.cs b/Jellyfin.Data/Entities/Libraries/Genre.cs
index 2a2dbd1a5d..befa75550a 100644
--- a/Jellyfin.Data/Entities/Libraries/Genre.cs
+++ b/Jellyfin.Data/Entities/Libraries/Genre.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -14,32 +13,9 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The name.
- /// The metadata.
- public Genre(string name, ItemMetadata itemMetadata)
+ public Genre(string name)
{
- if (string.IsNullOrEmpty(name))
- {
- throw new ArgumentNullException(nameof(name));
- }
-
Name = name;
-
- if (itemMetadata == null)
- {
- throw new ArgumentNullException(nameof(itemMetadata));
- }
-
- itemMetadata.Genres.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Genre()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs b/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
index d74330c051..a0efa66e46 100644
--- a/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
@@ -42,16 +42,6 @@ namespace Jellyfin.Data.Entities.Libraries
Sources = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to being abstract.
- ///
- protected ItemMetadata()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Library.cs b/Jellyfin.Data/Entities/Libraries/Library.cs
index 4f82a2e2a7..3ec4341a48 100644
--- a/Jellyfin.Data/Entities/Libraries/Library.cs
+++ b/Jellyfin.Data/Entities/Libraries/Library.cs
@@ -24,16 +24,6 @@ namespace Jellyfin.Data.Entities.Libraries
Name = name;
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Library()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/LibraryItem.cs b/Jellyfin.Data/Entities/Libraries/LibraryItem.cs
index a9167aa7fd..504b9c853b 100644
--- a/Jellyfin.Data/Entities/Libraries/LibraryItem.cs
+++ b/Jellyfin.Data/Entities/Libraries/LibraryItem.cs
@@ -20,13 +20,6 @@ namespace Jellyfin.Data.Entities.Libraries
Library = library;
}
- ///
- /// Initializes a new instance of the class.
- ///
- protected LibraryItem()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/MediaFile.cs b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
index 9924d5728d..7f64978e24 100644
--- a/Jellyfin.Data/Entities/Libraries/MediaFile.cs
+++ b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
@@ -19,8 +19,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The path relative to the LibraryRoot.
/// The file kind.
- /// The release.
- public MediaFile(string path, MediaFileKind kind, Release release)
+ public MediaFile(string path, MediaFileKind kind)
{
if (string.IsNullOrEmpty(path))
{
@@ -30,26 +29,9 @@ namespace Jellyfin.Data.Entities.Libraries
Path = path;
Kind = kind;
- if (release == null)
- {
- throw new ArgumentNullException(nameof(release));
- }
-
- release.MediaFiles.Add(this);
-
MediaFileStreams = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MediaFile()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/MediaFileStream.cs b/Jellyfin.Data/Entities/Libraries/MediaFileStream.cs
index 5b03e260e2..c4468766f9 100644
--- a/Jellyfin.Data/Entities/Libraries/MediaFileStream.cs
+++ b/Jellyfin.Data/Entities/Libraries/MediaFileStream.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -14,27 +13,9 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The number of this stream.
- /// The media file.
- public MediaFileStream(int streamNumber, MediaFile mediaFile)
+ public MediaFileStream(int streamNumber)
{
StreamNumber = streamNumber;
-
- if (mediaFile == null)
- {
- throw new ArgumentNullException(nameof(mediaFile));
- }
-
- mediaFile.MediaFileStreams.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MediaFileStream()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/MetadataProvider.cs b/Jellyfin.Data/Entities/Libraries/MetadataProvider.cs
index a18a612bcd..20de5bf4bb 100644
--- a/Jellyfin.Data/Entities/Libraries/MetadataProvider.cs
+++ b/Jellyfin.Data/Entities/Libraries/MetadataProvider.cs
@@ -24,16 +24,6 @@ namespace Jellyfin.Data.Entities.Libraries
Name = name;
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MetadataProvider()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs b/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
index fcfb35bfac..12672dd25b 100644
--- a/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
+++ b/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
@@ -14,8 +14,7 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The provider id.
- /// The metadata entity.
- public MetadataProviderId(string providerId, ItemMetadata itemMetadata)
+ public MetadataProviderId(string providerId)
{
if (string.IsNullOrEmpty(providerId))
{
@@ -23,23 +22,6 @@ namespace Jellyfin.Data.Entities.Libraries
}
ProviderId = providerId;
-
- if (itemMetadata == null)
- {
- throw new ArgumentNullException(nameof(itemMetadata));
- }
-
- itemMetadata.Sources.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MetadataProviderId()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Movie.cs b/Jellyfin.Data/Entities/Libraries/Movie.cs
index 08db904fa8..f89cacff44 100644
--- a/Jellyfin.Data/Entities/Libraries/Movie.cs
+++ b/Jellyfin.Data/Entities/Libraries/Movie.cs
@@ -13,7 +13,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public Movie()
+ /// The library.
+ public Movie(Library library) : base(library)
{
Releases = new HashSet();
MovieMetadata = new HashSet();
diff --git a/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs b/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
index aa1501a5cc..8cf7ca6a7f 100644
--- a/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
@@ -17,22 +17,9 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the movie.
/// ISO-639-3 3-character language codes.
- /// The movie.
- public MovieMetadata(string title, string language, Movie movie) : base(title, language)
+ public MovieMetadata(string title, string language) : base(title, language)
{
Studios = new HashSet();
-
- movie.MovieMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MovieMetadata()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs b/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
index 06aff6f457..4049cdac8e 100644
--- a/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
+++ b/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
@@ -12,7 +12,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public MusicAlbum()
+ /// The library.
+ public MusicAlbum(Library library) : base(library)
{
MusicAlbumMetadata = new HashSet();
Tracks = new HashSet
/// The title or name of the album.
/// ISO-639-3 3-character language codes.
- /// The music album.
- public MusicAlbumMetadata(string title, string language, MusicAlbum album) : base(title, language)
+ public MusicAlbumMetadata(string title, string language) : base(title, language)
{
Labels = new HashSet();
-
- album.MusicAlbumMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected MusicAlbumMetadata()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Person.cs b/Jellyfin.Data/Entities/Libraries/Person.cs
index af4c87b73c..cc4b9e0f9f 100644
--- a/Jellyfin.Data/Entities/Libraries/Person.cs
+++ b/Jellyfin.Data/Entities/Libraries/Person.cs
@@ -31,16 +31,6 @@ namespace Jellyfin.Data.Entities.Libraries
Sources = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Person()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/PersonRole.cs b/Jellyfin.Data/Entities/Libraries/PersonRole.cs
index cd38ee83d0..3ae2e4a685 100644
--- a/Jellyfin.Data/Entities/Libraries/PersonRole.cs
+++ b/Jellyfin.Data/Entities/Libraries/PersonRole.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -18,31 +17,12 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The role type.
- /// The metadata.
- public PersonRole(PersonRoleType type, ItemMetadata itemMetadata)
+ public PersonRole(PersonRoleType type)
{
Type = type;
-
- if (itemMetadata == null)
- {
- throw new ArgumentNullException(nameof(itemMetadata));
- }
-
- itemMetadata.PersonRoles.Add(this);
-
Sources = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected PersonRole()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Photo.cs b/Jellyfin.Data/Entities/Libraries/Photo.cs
index 25562ec96f..eb5c962675 100644
--- a/Jellyfin.Data/Entities/Libraries/Photo.cs
+++ b/Jellyfin.Data/Entities/Libraries/Photo.cs
@@ -13,7 +13,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public Photo()
+ /// The library.
+ public Photo(Library library) : base(library)
{
PhotoMetadata = new HashSet();
Releases = new HashSet();
diff --git a/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs b/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
index ffc790b574..6c284307d7 100644
--- a/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
@@ -1,5 +1,3 @@
-using System;
-
namespace Jellyfin.Data.Entities.Libraries
{
///
@@ -12,24 +10,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the photo.
/// ISO-639-3 3-character language codes.
- /// The photo.
- public PhotoMetadata(string title, string language, Photo photo) : base(title, language)
- {
- if (photo == null)
- {
- throw new ArgumentNullException(nameof(photo));
- }
-
- photo.PhotoMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected PhotoMetadata()
+ public PhotoMetadata(string title, string language) : base(title, language)
{
}
}
diff --git a/Jellyfin.Data/Entities/Libraries/Rating.cs b/Jellyfin.Data/Entities/Libraries/Rating.cs
index 98226cd802..0ea933fd79 100644
--- a/Jellyfin.Data/Entities/Libraries/Rating.cs
+++ b/Jellyfin.Data/Entities/Libraries/Rating.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -14,27 +13,9 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The value.
- /// The metadata.
- public Rating(double value, ItemMetadata itemMetadata)
+ public Rating(double value)
{
Value = value;
-
- if (itemMetadata == null)
- {
- throw new ArgumentNullException(nameof(itemMetadata));
- }
-
- itemMetadata.Ratings.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Rating()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/RatingSource.cs b/Jellyfin.Data/Entities/Libraries/RatingSource.cs
index 549f418042..7e1a5a8f46 100644
--- a/Jellyfin.Data/Entities/Libraries/RatingSource.cs
+++ b/Jellyfin.Data/Entities/Libraries/RatingSource.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Interfaces;
@@ -15,28 +14,10 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The minimum value.
/// The maximum value.
- /// The rating.
- public RatingSource(double minimumValue, double maximumValue, Rating rating)
+ public RatingSource(double minimumValue, double maximumValue)
{
MinimumValue = minimumValue;
MaximumValue = maximumValue;
-
- if (rating == null)
- {
- throw new ArgumentNullException(nameof(rating));
- }
-
- rating.RatingType = this;
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected RatingSource()
- {
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Release.cs b/Jellyfin.Data/Entities/Libraries/Release.cs
index b633e08fb3..1871e0f10b 100644
--- a/Jellyfin.Data/Entities/Libraries/Release.cs
+++ b/Jellyfin.Data/Entities/Libraries/Release.cs
@@ -17,8 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The name of this release.
- /// The owner of this release.
- public Release(string name, IHasReleases owner)
+ public Release(string name)
{
if (string.IsNullOrEmpty(name))
{
@@ -27,22 +26,10 @@ namespace Jellyfin.Data.Entities.Libraries
Name = name;
- owner?.Releases.Add(this);
-
MediaFiles = new HashSet();
Chapters = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Release()
- {
- }
-
///
/// Gets or sets the id.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Season.cs b/Jellyfin.Data/Entities/Libraries/Season.cs
index eb6674dbc3..04f723a1d1 100644
--- a/Jellyfin.Data/Entities/Libraries/Season.cs
+++ b/Jellyfin.Data/Entities/Libraries/Season.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
namespace Jellyfin.Data.Entities.Libraries
@@ -13,30 +12,13 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- /// The series.
- public Season(Series series)
+ /// The library.
+ public Season(Library library) : base(library)
{
- if (series == null)
- {
- throw new ArgumentNullException(nameof(series));
- }
-
- series.Seasons.Add(this);
-
Episodes = new HashSet();
SeasonMetadata = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Season()
- {
- }
-
///
/// Gets or sets the season number.
///
diff --git a/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs b/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
index 7ce79756b2..61714f9095 100644
--- a/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
namespace Jellyfin.Data.Entities.Libraries
@@ -13,24 +12,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The season.
- public SeasonMetadata(string title, string language, Season season) : base(title, language)
- {
- if (season == null)
- {
- throw new ArgumentNullException(nameof(season));
- }
-
- season.SeasonMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected SeasonMetadata()
+ public SeasonMetadata(string title, string language) : base(title, language)
{
}
diff --git a/Jellyfin.Data/Entities/Libraries/Series.cs b/Jellyfin.Data/Entities/Libraries/Series.cs
index 8c8317d14b..59508831e4 100644
--- a/Jellyfin.Data/Entities/Libraries/Series.cs
+++ b/Jellyfin.Data/Entities/Libraries/Series.cs
@@ -13,7 +13,8 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- public Series()
+ /// The library.
+ public Series(Library library) : base(library)
{
DateAdded = DateTime.UtcNow;
Seasons = new HashSet();
diff --git a/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs b/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
index 877dbfc69c..e1acd2d457 100644
--- a/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -18,29 +17,11 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The series.
- public SeriesMetadata(string title, string language, Series series) : base(title, language)
+ public SeriesMetadata(string title, string language) : base(title, language)
{
- if (series == null)
- {
- throw new ArgumentNullException(nameof(series));
- }
-
- series.SeriesMetadata.Add(this);
-
Networks = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected SeriesMetadata()
- {
- }
-
///
/// Gets or sets the outline.
///
diff --git a/Jellyfin.Data/Entities/Libraries/Track.cs b/Jellyfin.Data/Entities/Libraries/Track.cs
index 782bfb5ce7..86a3edff83 100644
--- a/Jellyfin.Data/Entities/Libraries/Track.cs
+++ b/Jellyfin.Data/Entities/Libraries/Track.cs
@@ -1,6 +1,5 @@
#pragma warning disable CA2227
-using System;
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
@@ -14,30 +13,13 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// Initializes a new instance of the class.
///
- /// The album.
- public Track(MusicAlbum album)
+ /// The library.
+ public Track(Library library) : base(library)
{
- if (album == null)
- {
- throw new ArgumentNullException(nameof(album));
- }
-
- album.Tracks.Add(this);
-
Releases = new HashSet();
TrackMetadata = new HashSet();
}
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Track()
- {
- }
-
///
/// Gets or sets the track number.
///
diff --git a/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs b/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
index 321f93bf2e..042d2b90db 100644
--- a/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
@@ -1,5 +1,3 @@
-using System;
-
namespace Jellyfin.Data.Entities.Libraries
{
///
@@ -12,24 +10,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- /// The track.
- public TrackMetadata(string title, string language, Track track) : base(title, language)
- {
- if (track == null)
- {
- throw new ArgumentNullException(nameof(track));
- }
-
- track.TrackMetadata.Add(this);
- }
-
- ///
- /// Initializes a new instance of the class.
- ///
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected TrackMetadata()
+ public TrackMetadata(string title, string language) : base(title, language)
{
}
}
diff --git a/Jellyfin.Data/Entities/Permission.cs b/Jellyfin.Data/Entities/Permission.cs
index d92e5d9d25..17e3bf50e1 100644
--- a/Jellyfin.Data/Entities/Permission.cs
+++ b/Jellyfin.Data/Entities/Permission.cs
@@ -22,14 +22,6 @@ namespace Jellyfin.Data.Entities
Value = value;
}
- ///
- /// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Permission()
- {
- }
-
///
/// Gets or sets the id of this permission.
///
diff --git a/Jellyfin.Data/Entities/Preference.cs b/Jellyfin.Data/Entities/Preference.cs
index 4efddf2a41..40f2f8ede9 100644
--- a/Jellyfin.Data/Entities/Preference.cs
+++ b/Jellyfin.Data/Entities/Preference.cs
@@ -23,14 +23,6 @@ namespace Jellyfin.Data.Entities
Value = value ?? throw new ArgumentNullException(nameof(value));
}
- ///
- /// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected Preference()
- {
- }
-
///
/// Gets or sets the id of this preference.
///
diff --git a/Jellyfin.Data/Entities/User.cs b/Jellyfin.Data/Entities/User.cs
index 362f3b4ebb..28e12adde6 100644
--- a/Jellyfin.Data/Entities/User.cs
+++ b/Jellyfin.Data/Entities/User.cs
@@ -77,14 +77,6 @@ namespace Jellyfin.Data.Entities
AddDefaultPreferences();
}
- ///
- /// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected User()
- {
- }
-
///
/// Gets or sets the Id of the user.
///