diff --git a/Jellyfin.Data/Entities/ActivityLog.cs b/Jellyfin.Data/Entities/ActivityLog.cs
index 3858916d15..620e828306 100644
--- a/Jellyfin.Data/Entities/ActivityLog.cs
+++ b/Jellyfin.Data/Entities/ActivityLog.cs
@@ -1,5 +1,3 @@
-#pragma warning disable CS1591
-
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -11,7 +9,7 @@ namespace Jellyfin.Data.Entities
///
/// An entity referencing an activity log entry.
///
- public partial class ActivityLog : IHasConcurrencyToken
+ public class ActivityLog : IHasConcurrencyToken
{
///
/// Initializes a new instance of the class.
@@ -32,13 +30,11 @@ namespace Jellyfin.Data.Entities
throw new ArgumentNullException(nameof(type));
}
- this.Name = name;
- this.Type = type;
- this.UserId = userId;
- this.DateCreated = DateTime.UtcNow;
- this.LogSeverity = LogLevel.Trace;
-
- Init();
+ Name = name;
+ Type = type;
+ UserId = userId;
+ DateCreated = DateTime.UtcNow;
+ LogSeverity = LogLevel.Trace;
}
///
@@ -47,38 +43,21 @@ namespace Jellyfin.Data.Entities
///
protected ActivityLog()
{
- Init();
- }
-
- ///
- /// Static create function (for use in LINQ queries, etc.)
- ///
- /// The name.
- /// The type.
- /// The user's id.
- /// The new instance.
- public static ActivityLog Create(string name, string type, Guid userId)
- {
- return new ActivityLog(name, type, userId);
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
///
/// Gets or sets the identity of this instance.
/// This is the key in the backing database.
///
- [Key]
- [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; }
///
/// Gets or sets the name.
- /// Required, Max length = 512.
///
+ ///
+ /// Required, Max length = 512.
+ ///
[Required]
[MaxLength(512)]
[StringLength(512)]
@@ -86,24 +65,30 @@ namespace Jellyfin.Data.Entities
///
/// Gets or sets the overview.
- /// Max length = 512.
///
+ ///
+ /// Max length = 512.
+ ///
[MaxLength(512)]
[StringLength(512)]
public string Overview { get; set; }
///
/// Gets or sets the short overview.
- /// Max length = 512.
///
+ ///
+ /// Max length = 512.
+ ///
[MaxLength(512)]
[StringLength(512)]
public string ShortOverview { get; set; }
///
/// Gets or sets the type.
- /// Required, Max length = 256.
///
+ ///
+ /// Required, Max length = 256.
+ ///
[Required]
[MaxLength(256)]
[StringLength(256)]
@@ -111,43 +96,42 @@ namespace Jellyfin.Data.Entities
///
/// Gets or sets the user id.
- /// Required.
///
- [Required]
+ ///
+ /// Required.
+ ///
public Guid UserId { get; set; }
///
/// Gets or sets the item id.
- /// Max length = 256.
///
+ ///
+ /// Max length = 256.
+ ///
[MaxLength(256)]
[StringLength(256)]
public string ItemId { get; set; }
///
/// Gets or sets the date created. This should be in UTC.
- /// Required.
///
- [Required]
+ ///
+ /// Required.
+ ///
public DateTime DateCreated { get; set; }
///
/// Gets or sets the log severity. Default is .
- /// Required.
///
- [Required]
+ ///
+ /// Required.
+ ///
public LogLevel LogSeverity { get; set; }
- ///
- /// Gets or sets the row version.
- /// Required, ConcurrencyToken.
- ///
+ ///
[ConcurrencyCheck]
- [Required]
public uint RowVersion { get; set; }
- partial void Init();
-
///
public void OnSavingChanges()
{
diff --git a/Jellyfin.Data/Entities/DisplayPreferences.cs b/Jellyfin.Data/Entities/DisplayPreferences.cs
index cda83f6bb7..701e4df004 100644
--- a/Jellyfin.Data/Entities/DisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/DisplayPreferences.cs
@@ -1,4 +1,6 @@
-using System;
+#pragma warning disable CA2227
+
+using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
diff --git a/Jellyfin.Data/Entities/Group.cs b/Jellyfin.Data/Entities/Group.cs
index ca12ba4213..878811e59c 100644
--- a/Jellyfin.Data/Entities/Group.cs
+++ b/Jellyfin.Data/Entities/Group.cs
@@ -1,9 +1,8 @@
-#pragma warning disable CS1591
+#pragma warning disable CA2227
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Jellyfin.Data.Enums;
using Jellyfin.Data.Interfaces;
@@ -13,11 +12,10 @@ namespace Jellyfin.Data.Entities
///
/// An entity representing a group.
///
- public partial class Group : IHasPermissions, IHasConcurrencyToken
+ public class Group : IHasPermissions, IHasConcurrencyToken
{
///
/// Initializes a new instance of the class.
- /// Public constructor with required data.
///
/// The name of the group.
public Group(string name)
@@ -31,33 +29,25 @@ namespace Jellyfin.Data.Entities
Id = Guid.NewGuid();
Permissions = new HashSet();
- ProviderMappings = new HashSet();
Preferences = new HashSet();
-
- Init();
}
///
/// Initializes a new instance of the class.
- /// Default constructor. Protected due to required properties, but present because EF needs it.
///
+ ///
+ /// Default constructor. Protected due to required properties, but present because EF needs it.
+ ///
protected Group()
{
- Init();
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
///
/// Gets or sets the id of this group.
///
///
/// Identity, Indexed, Required.
///
- [Key]
- [Required]
public Guid Id { get; protected set; }
///
@@ -71,42 +61,19 @@ namespace Jellyfin.Data.Entities
[StringLength(255)]
public string Name { get; set; }
- ///
- /// Gets or sets the row version.
- ///
- ///
- /// Required, Concurrency Token.
- ///
+ ///
[ConcurrencyCheck]
- [Required]
public uint RowVersion { get; set; }
- public void OnSavingChanges()
- {
- RowVersion++;
- }
-
- /*************************************************************************
- * Navigation properties
- *************************************************************************/
-
- [ForeignKey("Permission_GroupPermissions_Id")]
+ ///
+ /// Gets or sets a collection containing the group's permissions.
+ ///
public virtual ICollection Permissions { get; protected set; }
- [ForeignKey("ProviderMapping_ProviderMappings_Id")]
- public virtual ICollection ProviderMappings { get; protected set; }
-
- [ForeignKey("Preference_Preferences_Id")]
- public virtual ICollection Preferences { get; protected set; }
-
///
- /// Static create function (for use in LINQ queries, etc.)
+ /// Gets or sets a collection containing the group's preferences.
///
- /// The name of this group.
- public static Group Create(string name)
- {
- return new Group(name);
- }
+ public virtual ICollection Preferences { get; protected set; }
///
public bool HasPermission(PermissionKind kind)
@@ -120,6 +87,10 @@ namespace Jellyfin.Data.Entities
Permissions.First(p => p.Kind == kind).Value = value;
}
- partial void Init();
+ ///
+ public void OnSavingChanges()
+ {
+ RowVersion++;
+ }
}
}
diff --git a/Jellyfin.Data/Entities/ImageInfo.cs b/Jellyfin.Data/Entities/ImageInfo.cs
index cf0895ad43..ab8452e62c 100644
--- a/Jellyfin.Data/Entities/ImageInfo.cs
+++ b/Jellyfin.Data/Entities/ImageInfo.cs
@@ -1,32 +1,65 @@
-#pragma warning disable CS1591
-
-using System;
+using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Jellyfin.Data.Entities
{
+ ///
+ /// An entity representing an image.
+ ///
public class ImageInfo
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The path.
public ImageInfo(string path)
{
Path = path;
LastModified = DateTime.UtcNow;
}
- [Key]
- [Required]
+ ///
+ /// 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.
+ ///
+ ///
+ /// Identity, Indexed, Required.
+ ///
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; }
+ ///
+ /// Gets or sets the user id.
+ ///
public Guid? UserId { get; protected set; }
+ ///
+ /// Gets or sets the path of the image.
+ ///
+ ///
+ /// Required.
+ ///
[Required]
[MaxLength(512)]
[StringLength(512)]
public string Path { get; set; }
- [Required]
+ ///
+ /// Gets or sets the date last modified.
+ ///
+ ///
+ /// Required.
+ ///
public DateTime LastModified { get; set; }
}
}
diff --git a/Jellyfin.Data/Entities/ItemDisplayPreferences.cs b/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
index 023cdc7400..d81e4a31c4 100644
--- a/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
+++ b/Jellyfin.Data/Entities/ItemDisplayPreferences.cs
@@ -1,12 +1,13 @@
-#pragma warning disable CS1591
-
-using System;
+using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Enums;
namespace Jellyfin.Data.Entities
{
+ ///
+ /// An entity that represents a user's display preferences for a specific item.
+ ///
public class ItemDisplayPreferences
{
///
diff --git a/Jellyfin.Data/Entities/Libraries/Artwork.cs b/Jellyfin.Data/Entities/Libraries/Artwork.cs
index 7be22af254..06cd333301 100644
--- a/Jellyfin.Data/Entities/Libraries/Artwork.cs
+++ b/Jellyfin.Data/Entities/Libraries/Artwork.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
diff --git a/Jellyfin.Data/Entities/Libraries/Book.cs b/Jellyfin.Data/Entities/Libraries/Book.cs
index 8337788ddd..2e63f75bd9 100644
--- a/Jellyfin.Data/Entities/Libraries/Book.cs
+++ b/Jellyfin.Data/Entities/Libraries/Book.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/BookMetadata.cs b/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
index bd716712b1..4a3d290f01 100644
--- a/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/BookMetadata.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
@@ -8,7 +10,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity containing metadata for a book.
///
- public class BookMetadata : Metadata, IHasCompanies
+ public class BookMetadata : ItemMetadata, IHasCompanies
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Chapter.cs b/Jellyfin.Data/Entities/Libraries/Chapter.cs
index d9293c3cc4..f503de3794 100644
--- a/Jellyfin.Data/Entities/Libraries/Chapter.cs
+++ b/Jellyfin.Data/Entities/Libraries/Chapter.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
diff --git a/Jellyfin.Data/Entities/Libraries/Collection.cs b/Jellyfin.Data/Entities/Libraries/Collection.cs
index 2e1bbcfb60..39eded752d 100644
--- a/Jellyfin.Data/Entities/Libraries/Collection.cs
+++ b/Jellyfin.Data/Entities/Libraries/Collection.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
diff --git a/Jellyfin.Data/Entities/Libraries/CollectionItem.cs b/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
index c9306f630a..4467c9bbdc 100644
--- a/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
+++ b/Jellyfin.Data/Entities/Libraries/CollectionItem.cs
@@ -73,7 +73,7 @@ namespace Jellyfin.Data.Entities.Libraries
/// Gets or sets the next item in the collection.
///
///
- /// TODO check if this properly updated dependant and has the proper principal relationship
+ /// TODO check if this properly updated dependant and has the proper principal relationship.
///
public virtual CollectionItem Next { get; set; }
@@ -81,7 +81,7 @@ namespace Jellyfin.Data.Entities.Libraries
/// Gets or sets the previous item in the collection.
///
///
- /// TODO check if this properly updated dependant and has the proper principal relationship
+ /// TODO check if this properly updated dependant and has the proper principal relationship.
///
public virtual CollectionItem Previous { get; set; }
diff --git a/Jellyfin.Data/Entities/Libraries/Company.cs b/Jellyfin.Data/Entities/Libraries/Company.cs
index 02da26bc22..3b6ed3309a 100644
--- a/Jellyfin.Data/Entities/Libraries/Company.cs
+++ b/Jellyfin.Data/Entities/Libraries/Company.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
diff --git a/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs b/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
index 60cc96a340..8aa0486afa 100644
--- a/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/CompanyMetadata.cs
@@ -6,7 +6,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity holding metadata for a .
///
- public class CompanyMetadata : Metadata
+ public class CompanyMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/CustomItem.cs b/Jellyfin.Data/Entities/Libraries/CustomItem.cs
index 6a4f0a5378..115489c786 100644
--- a/Jellyfin.Data/Entities/Libraries/CustomItem.cs
+++ b/Jellyfin.Data/Entities/Libraries/CustomItem.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs b/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
index bc18355281..f0daedfbe8 100644
--- a/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/CustomItemMetadata.cs
@@ -5,7 +5,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity containing metadata for a custom item.
///
- public class CustomItemMetadata : Metadata
+ public class CustomItemMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Episode.cs b/Jellyfin.Data/Entities/Libraries/Episode.cs
index 430a11e3c8..0bdc2d7642 100644
--- a/Jellyfin.Data/Entities/Libraries/Episode.cs
+++ b/Jellyfin.Data/Entities/Libraries/Episode.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs b/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
index 348100cb4c..7efb840f0b 100644
--- a/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/EpisodeMetadata.cs
@@ -6,7 +6,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity containing metadata for an .
///
- public class EpisodeMetadata : Metadata
+ public class EpisodeMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Genre.cs b/Jellyfin.Data/Entities/Libraries/Genre.cs
index aeedd7bfde..2a2dbd1a5d 100644
--- a/Jellyfin.Data/Entities/Libraries/Genre.cs
+++ b/Jellyfin.Data/Entities/Libraries/Genre.cs
@@ -14,8 +14,8 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The name.
- /// The metadata.
- public Genre(string name, Metadata metadata)
+ /// The metadata.
+ public Genre(string name, ItemMetadata itemMetadata)
{
if (string.IsNullOrEmpty(name))
{
@@ -24,12 +24,12 @@ namespace Jellyfin.Data.Entities.Libraries
Name = name;
- if (metadata == null)
+ if (itemMetadata == null)
{
- throw new ArgumentNullException(nameof(metadata));
+ throw new ArgumentNullException(nameof(itemMetadata));
}
- metadata.Genres.Add(this);
+ itemMetadata.Genres.Add(this);
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Metadata.cs b/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
similarity index 92%
rename from Jellyfin.Data/Entities/Libraries/Metadata.cs
rename to Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
index 877bb5fbdc..1d2dc0f669 100644
--- a/Jellyfin.Data/Entities/Libraries/Metadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/ItemMetadata.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -9,14 +11,14 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An abstract class that holds metadata.
///
- public abstract class Metadata : IHasArtwork, IHasConcurrencyToken
+ public abstract class ItemMetadata : IHasArtwork, IHasConcurrencyToken
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The title or name of the object.
/// ISO-639-3 3-character language codes.
- protected Metadata(string title, string language)
+ protected ItemMetadata(string title, string language)
{
if (string.IsNullOrEmpty(title))
{
@@ -41,12 +43,12 @@ namespace Jellyfin.Data.Entities.Libraries
}
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
///
/// Default constructor. Protected due to being abstract.
///
- protected Metadata()
+ protected ItemMetadata()
{
}
diff --git a/Jellyfin.Data/Entities/Libraries/MediaFile.cs b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
index 8bc649c98f..9924d5728d 100644
--- a/Jellyfin.Data/Entities/Libraries/MediaFile.cs
+++ b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
diff --git a/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs b/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
index 6e6de598e8..fcfb35bfac 100644
--- a/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
+++ b/Jellyfin.Data/Entities/Libraries/MetadataProviderId.cs
@@ -14,8 +14,8 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The provider id.
- /// The metadata entity.
- public MetadataProviderId(string providerId, Metadata metadata)
+ /// The metadata entity.
+ public MetadataProviderId(string providerId, ItemMetadata itemMetadata)
{
if (string.IsNullOrEmpty(providerId))
{
@@ -24,12 +24,12 @@ namespace Jellyfin.Data.Entities.Libraries
ProviderId = providerId;
- if (metadata == null)
+ if (itemMetadata == null)
{
- throw new ArgumentNullException(nameof(metadata));
+ throw new ArgumentNullException(nameof(itemMetadata));
}
- metadata.Sources.Add(this);
+ itemMetadata.Sources.Add(this);
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Movie.cs b/Jellyfin.Data/Entities/Libraries/Movie.cs
index 0a8cc83dda..08db904fa8 100644
--- a/Jellyfin.Data/Entities/Libraries/Movie.cs
+++ b/Jellyfin.Data/Entities/Libraries/Movie.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs b/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
index 31102bf130..aa1501a5cc 100644
--- a/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/MovieMetadata.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -8,7 +10,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity holding the metadata for a movie.
///
- public class MovieMetadata : Metadata, IHasCompanies
+ public class MovieMetadata : ItemMetadata, IHasCompanies
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs b/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
index 2ed1f78c56..06aff6f457 100644
--- a/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
+++ b/Jellyfin.Data/Entities/Libraries/MusicAlbum.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
namespace Jellyfin.Data.Entities.Libraries
diff --git a/Jellyfin.Data/Entities/Libraries/MusicAlbumMetadata.cs b/Jellyfin.Data/Entities/Libraries/MusicAlbumMetadata.cs
index cc5919bfe3..05c0b0374b 100644
--- a/Jellyfin.Data/Entities/Libraries/MusicAlbumMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/MusicAlbumMetadata.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -6,7 +8,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity holding the metadata for a music album.
///
- public class MusicAlbumMetadata : Metadata
+ public class MusicAlbumMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Person.cs b/Jellyfin.Data/Entities/Libraries/Person.cs
index 8beb3dd084..af4c87b73c 100644
--- a/Jellyfin.Data/Entities/Libraries/Person.cs
+++ b/Jellyfin.Data/Entities/Libraries/Person.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
diff --git a/Jellyfin.Data/Entities/Libraries/PersonRole.cs b/Jellyfin.Data/Entities/Libraries/PersonRole.cs
index 5290228d6e..cd38ee83d0 100644
--- a/Jellyfin.Data/Entities/Libraries/PersonRole.cs
+++ b/Jellyfin.Data/Entities/Libraries/PersonRole.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -16,17 +18,17 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The role type.
- /// The metadata.
- public PersonRole(PersonRoleType type, Metadata metadata)
+ /// The metadata.
+ public PersonRole(PersonRoleType type, ItemMetadata itemMetadata)
{
Type = type;
- if (metadata == null)
+ if (itemMetadata == null)
{
- throw new ArgumentNullException(nameof(metadata));
+ throw new ArgumentNullException(nameof(itemMetadata));
}
- metadata.PersonRoles.Add(this);
+ itemMetadata.PersonRoles.Add(this);
Sources = new HashSet();
}
diff --git a/Jellyfin.Data/Entities/Libraries/Photo.cs b/Jellyfin.Data/Entities/Libraries/Photo.cs
index 44338a4cea..25562ec96f 100644
--- a/Jellyfin.Data/Entities/Libraries/Photo.cs
+++ b/Jellyfin.Data/Entities/Libraries/Photo.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs b/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
index 1ef9dd5f9c..ffc790b574 100644
--- a/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/PhotoMetadata.cs
@@ -5,7 +5,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity that holds metadata for a photo.
///
- public class PhotoMetadata : Metadata
+ public class PhotoMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Rating.cs b/Jellyfin.Data/Entities/Libraries/Rating.cs
index ba054a39e0..98226cd802 100644
--- a/Jellyfin.Data/Entities/Libraries/Rating.cs
+++ b/Jellyfin.Data/Entities/Libraries/Rating.cs
@@ -14,17 +14,17 @@ namespace Jellyfin.Data.Entities.Libraries
/// Initializes a new instance of the class.
///
/// The value.
- /// The metadata.
- public Rating(double value, Metadata metadata)
+ /// The metadata.
+ public Rating(double value, ItemMetadata itemMetadata)
{
Value = value;
- if (metadata == null)
+ if (itemMetadata == null)
{
- throw new ArgumentNullException(nameof(metadata));
+ throw new ArgumentNullException(nameof(itemMetadata));
}
- metadata.Ratings.Add(this);
+ itemMetadata.Ratings.Add(this);
}
///
diff --git a/Jellyfin.Data/Entities/Libraries/Release.cs b/Jellyfin.Data/Entities/Libraries/Release.cs
index 43c7080d79..b633e08fb3 100644
--- a/Jellyfin.Data/Entities/Libraries/Release.cs
+++ b/Jellyfin.Data/Entities/Libraries/Release.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
diff --git a/Jellyfin.Data/Entities/Libraries/Season.cs b/Jellyfin.Data/Entities/Libraries/Season.cs
index eef788bad2..eb6674dbc3 100644
--- a/Jellyfin.Data/Entities/Libraries/Season.cs
+++ b/Jellyfin.Data/Entities/Libraries/Season.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
diff --git a/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs b/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
index eedeb089e8..7ce79756b2 100644
--- a/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/SeasonMetadata.cs
@@ -6,7 +6,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity that holds metadata for seasons.
///
- public class SeasonMetadata : Metadata
+ public class SeasonMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Series.cs b/Jellyfin.Data/Entities/Libraries/Series.cs
index e959c1fe00..8c8317d14b 100644
--- a/Jellyfin.Data/Entities/Libraries/Series.cs
+++ b/Jellyfin.Data/Entities/Libraries/Series.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
diff --git a/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs b/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
index 898f3006dc..877dbfc69c 100644
--- a/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/SeriesMetadata.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -9,7 +11,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity representing series metadata.
///
- public class SeriesMetadata : Metadata, IHasCompanies
+ public class SeriesMetadata : ItemMetadata, IHasCompanies
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Libraries/Track.cs b/Jellyfin.Data/Entities/Libraries/Track.cs
index 09ce82a9b4..782bfb5ce7 100644
--- a/Jellyfin.Data/Entities/Libraries/Track.cs
+++ b/Jellyfin.Data/Entities/Libraries/Track.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CA2227
+
using System;
using System.Collections.Generic;
using Jellyfin.Data.Interfaces;
diff --git a/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs b/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
index 048068a1a3..321f93bf2e 100644
--- a/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
+++ b/Jellyfin.Data/Entities/Libraries/TrackMetadata.cs
@@ -5,7 +5,7 @@ namespace Jellyfin.Data.Entities.Libraries
///
/// An entity holding metadata for a track.
///
- public class TrackMetadata : Metadata
+ public class TrackMetadata : ItemMetadata
{
///
/// Initializes a new instance of the class.
diff --git a/Jellyfin.Data/Entities/Permission.cs b/Jellyfin.Data/Entities/Permission.cs
index c0f67f8363..d92e5d9d25 100644
--- a/Jellyfin.Data/Entities/Permission.cs
+++ b/Jellyfin.Data/Entities/Permission.cs
@@ -1,5 +1,3 @@
-#pragma warning disable CS1591
-
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Jellyfin.Data.Enums;
@@ -10,7 +8,7 @@ namespace Jellyfin.Data.Entities
///
/// An entity representing whether the associated user has a specific permission.
///
- public partial class Permission : IHasConcurrencyToken
+ public class Permission : IHasConcurrencyToken
{
///
/// Initializes a new instance of the class.
@@ -22,8 +20,6 @@ namespace Jellyfin.Data.Entities
{
Kind = kind;
Value = value;
-
- Init();
}
///
@@ -32,21 +28,14 @@ namespace Jellyfin.Data.Entities
///
protected Permission()
{
- Init();
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
///
/// Gets or sets the id of this permission.
///
///
/// Identity, Indexed, Required.
///
- [Key]
- [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; }
@@ -56,7 +45,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public PermissionKind Kind { get; protected set; }
///
@@ -65,36 +53,16 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool Value { get; set; }
- ///
- /// Gets or sets the row version.
- ///
- ///
- /// Required, ConcurrencyToken.
- ///
+ ///
[ConcurrencyCheck]
- [Required]
public uint RowVersion { get; set; }
- ///
- /// Static create function (for use in LINQ queries, etc.)
- ///
- /// The permission kind.
- /// The value of this permission.
- /// The newly created instance.
- public static Permission Create(PermissionKind kind, bool value)
- {
- return new Permission(kind, value);
- }
-
///
public void OnSavingChanges()
{
RowVersion++;
}
-
- partial void Init();
}
}
diff --git a/Jellyfin.Data/Entities/Preference.cs b/Jellyfin.Data/Entities/Preference.cs
index 1797f0a401..4efddf2a41 100644
--- a/Jellyfin.Data/Entities/Preference.cs
+++ b/Jellyfin.Data/Entities/Preference.cs
@@ -31,18 +31,12 @@ namespace Jellyfin.Data.Entities
{
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
///
/// Gets or sets the id of this preference.
///
///
/// Identity, Indexed, Required.
///
- [Key]
- [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; }
@@ -52,7 +46,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public PreferenceKind Kind { get; protected set; }
///
@@ -66,27 +59,10 @@ namespace Jellyfin.Data.Entities
[StringLength(65535)]
public string Value { get; set; }
- ///
- /// Gets or sets the row version.
- ///
- ///
- /// Required, ConcurrencyToken.
- ///
+ ///
[ConcurrencyCheck]
- [Required]
public uint RowVersion { get; set; }
- ///
- /// Static create function (for use in LINQ queries, etc.)
- ///
- /// The preference kind.
- /// The value.
- /// The new instance.
- public static Preference Create(PreferenceKind kind, string value)
- {
- return new Preference(kind, value);
- }
-
///
public void OnSavingChanges()
{
diff --git a/Jellyfin.Data/Entities/ProviderMapping.cs b/Jellyfin.Data/Entities/ProviderMapping.cs
deleted file mode 100644
index 44ebfba76d..0000000000
--- a/Jellyfin.Data/Entities/ProviderMapping.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-#pragma warning disable CS1591
-
-using System;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-namespace Jellyfin.Data.Entities
-{
- public partial class ProviderMapping
- {
- partial void Init();
-
- ///
- /// Default constructor. Protected due to required properties, but present because EF needs it.
- ///
- protected ProviderMapping()
- {
- Init();
- }
-
- ///
- /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving.
- ///
- public static ProviderMapping CreateProviderMappingUnsafe()
- {
- return new ProviderMapping();
- }
-
- ///
- /// Public constructor with required data.
- ///
- ///
- ///
- ///
- ///
- ///
- public ProviderMapping(string providername, string providersecrets, string providerdata, User _user0, Group _group1)
- {
- if (string.IsNullOrEmpty(providername))
- {
- throw new ArgumentNullException(nameof(providername));
- }
-
- this.ProviderName = providername;
-
- if (string.IsNullOrEmpty(providersecrets))
- {
- throw new ArgumentNullException(nameof(providersecrets));
- }
-
- this.ProviderSecrets = providersecrets;
-
- if (string.IsNullOrEmpty(providerdata))
- {
- throw new ArgumentNullException(nameof(providerdata));
- }
-
- this.ProviderData = providerdata;
-
- Init();
- }
-
- ///
- /// Static create function (for use in LINQ queries, etc.)
- ///
- ///
- ///
- ///
- ///
- ///
- public static ProviderMapping Create(string providername, string providersecrets, string providerdata, User _user0, Group _group1)
- {
- return new ProviderMapping(providername, providersecrets, providerdata, _user0, _group1);
- }
-
- /*************************************************************************
- * Properties
- *************************************************************************/
-
- ///
- /// Identity, Indexed, Required.
- ///
- [Key]
- [Required]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id { get; protected set; }
-
- ///
- /// Required, Max length = 255
- ///
- [Required]
- [MaxLength(255)]
- [StringLength(255)]
- public string ProviderName { get; set; }
-
- ///
- /// Required, Max length = 65535
- ///
- [Required]
- [MaxLength(65535)]
- [StringLength(65535)]
- public string ProviderSecrets { get; set; }
-
- ///
- /// Required, Max length = 65535
- ///
- [Required]
- [MaxLength(65535)]
- [StringLength(65535)]
- public string ProviderData { get; set; }
-
- ///
- /// Required, ConcurrenyToken.
- ///
- [ConcurrencyCheck]
- [Required]
- public uint RowVersion { get; set; }
-
- public void OnSavingChanges()
- {
- RowVersion++;
- }
-
- /*************************************************************************
- * Navigation properties
- *************************************************************************/
- }
-}
-
diff --git a/Jellyfin.Data/Entities/User.cs b/Jellyfin.Data/Entities/User.cs
index 7ea1f44986..f7ab57a1b1 100644
--- a/Jellyfin.Data/Entities/User.cs
+++ b/Jellyfin.Data/Entities/User.cs
@@ -1,4 +1,4 @@
-#pragma warning disable CS1591
+#pragma warning disable CA2227
using System;
using System.Collections.Generic;
@@ -15,7 +15,7 @@ namespace Jellyfin.Data.Entities
///
/// An entity representing a user.
///
- public partial class User : IHasPermissions, IHasConcurrencyToken
+ public class User : IHasPermissions, IHasConcurrencyToken
{
///
/// The values being delimited here are Guids, so commas work as they do not appear in Guids.
@@ -75,7 +75,6 @@ namespace Jellyfin.Data.Entities
AddDefaultPermissions();
AddDefaultPreferences();
- Init();
}
///
@@ -84,21 +83,14 @@ namespace Jellyfin.Data.Entities
///
protected User()
{
- Init();
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
///
/// Gets or sets the Id of the user.
///
///
/// Identity, Indexed, Required.
///
- [Key]
- [Required]
[JsonIgnore]
public Guid Id { get; set; }
@@ -139,7 +131,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool MustUpdatePassword { get; set; }
///
@@ -180,7 +171,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public int InvalidLoginAttemptCount { get; set; }
///
@@ -204,7 +194,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public SubtitlePlaybackMode SubtitleMode { get; set; }
///
@@ -213,7 +202,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool PlayDefaultAudioTrack { get; set; }
///
@@ -232,7 +220,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool DisplayMissingEpisodes { get; set; }
///
@@ -241,7 +228,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool DisplayCollectionsView { get; set; }
///
@@ -250,7 +236,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool EnableLocalPassword { get; set; }
///
@@ -259,7 +244,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool HidePlayedInLatest { get; set; }
///
@@ -268,7 +252,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool RememberAudioSelections { get; set; }
///
@@ -277,7 +260,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool RememberSubtitleSelections { get; set; }
///
@@ -286,7 +268,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool EnableNextEpisodeAutoPlay { get; set; }
///
@@ -295,7 +276,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool EnableAutoLogin { get; set; }
///
@@ -304,7 +284,6 @@ namespace Jellyfin.Data.Entities
///
/// Required.
///
- [Required]
public bool EnableUserPreferenceAccess { get; set; }
///
@@ -322,7 +301,6 @@ namespace Jellyfin.Data.Entities
/// 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.
///
- [Required]
public long InternalId { get; set; }
///
@@ -340,7 +318,9 @@ namespace Jellyfin.Data.Entities
[Required]
public virtual DisplayPreferences DisplayPreferences { get; set; }
- [Required]
+ ///
+ /// Gets or sets the level of sync play permissions this user has.
+ ///
public SyncPlayAccess SyncPlayAccess { get; set; }
///
@@ -350,13 +330,8 @@ namespace Jellyfin.Data.Entities
/// Required, Concurrency Token.
///
[ConcurrencyCheck]
- [Required]
public uint RowVersion { get; set; }
- /*************************************************************************
- * Navigation properties
- *************************************************************************/
-
///
/// Gets or sets the list of access schedules this user has.
///
@@ -395,18 +370,6 @@ namespace Jellyfin.Data.Entities
[ForeignKey("Preference_Preferences_Guid")]
public virtual ICollection Preferences { get; protected set; }
- ///
- /// Static create function (for use in LINQ queries, etc.)
- ///
- /// The username for the created user.
- /// The Id of the user's authentication provider.
- /// The Id of the user's password reset provider.
- /// The created instance.
- public static User Create(string username, string authenticationProviderId, string passwordResetProviderId)
- {
- return new User(username, authenticationProviderId, passwordResetProviderId);
- }
-
///
public void OnSavingChanges()
{
@@ -519,7 +482,5 @@ namespace Jellyfin.Data.Entities
Preferences.Add(new Preference(val, string.Empty));
}
}
-
- partial void Init();
}
}
diff --git a/Jellyfin.Data/Enums/ArtKind.cs b/Jellyfin.Data/Enums/ArtKind.cs
index 71b4db6f26..f7a73848c8 100644
--- a/Jellyfin.Data/Enums/ArtKind.cs
+++ b/Jellyfin.Data/Enums/ArtKind.cs
@@ -1,13 +1,33 @@
-#pragma warning disable CS1591
-
namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing types of art.
+ ///
public enum ArtKind
{
- Other,
- Poster,
- Banner,
- Thumbnail,
- Logo
+ ///
+ /// Another type of art, not covered by the other members.
+ ///
+ Other = 0,
+
+ ///
+ /// A poster.
+ ///
+ Poster = 1,
+
+ ///
+ /// A banner.
+ ///
+ Banner = 2,
+
+ ///
+ /// A thumbnail.
+ ///
+ Thumbnail = 3,
+
+ ///
+ /// A logo.
+ ///
+ Logo = 4
}
}
diff --git a/Jellyfin.Data/Enums/DynamicDayOfWeek.cs b/Jellyfin.Data/Enums/DynamicDayOfWeek.cs
index a33cd9d1cd..d3d8dd8227 100644
--- a/Jellyfin.Data/Enums/DynamicDayOfWeek.cs
+++ b/Jellyfin.Data/Enums/DynamicDayOfWeek.cs
@@ -1,18 +1,58 @@
-#pragma warning disable CS1591
-
namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum that represents a day of the week, weekdays, weekends, or all days.
+ ///
public enum DynamicDayOfWeek
{
+ ///
+ /// Sunday.
+ ///
Sunday = 0,
+
+ ///
+ /// Monday.
+ ///
Monday = 1,
+
+ ///
+ /// Tuesday.
+ ///
Tuesday = 2,
+
+ ///
+ /// Wednesday.
+ ///
Wednesday = 3,
+
+ ///
+ /// Thursday.
+ ///
Thursday = 4,
+
+ ///
+ /// Friday.
+ ///
Friday = 5,
+
+ ///
+ /// Saturday.
+ ///
Saturday = 6,
+
+ ///
+ /// All days of the week.
+ ///
Everyday = 7,
+
+ ///
+ /// A week day, or Monday-Friday.
+ ///
Weekday = 8,
+
+ ///
+ /// Saturday and Sunday.
+ ///
Weekend = 9
}
}
diff --git a/Jellyfin.Data/Enums/IndexingKind.cs b/Jellyfin.Data/Enums/IndexingKind.cs
index fafe47e0c1..c0df077143 100644
--- a/Jellyfin.Data/Enums/IndexingKind.cs
+++ b/Jellyfin.Data/Enums/IndexingKind.cs
@@ -1,7 +1,8 @@
-#pragma warning disable CS1591
-
-namespace Jellyfin.Data.Enums
+namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing a type of indexing in a user's display preferences.
+ ///
public enum IndexingKind
{
///
diff --git a/Jellyfin.Data/Enums/MediaFileKind.cs b/Jellyfin.Data/Enums/MediaFileKind.cs
index b03591fb80..797c26ec27 100644
--- a/Jellyfin.Data/Enums/MediaFileKind.cs
+++ b/Jellyfin.Data/Enums/MediaFileKind.cs
@@ -1,13 +1,33 @@
-#pragma warning disable CS1591
-
namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing the type of media file.
+ ///
public enum MediaFileKind
{
- Main,
- Sidecar,
- AdditionalPart,
- AlternativeFormat,
- AdditionalStream
+ ///
+ /// The main file.
+ ///
+ Main = 0,
+
+ ///
+ /// A sidecar file.
+ ///
+ Sidecar = 1,
+
+ ///
+ /// An additional part to the main file.
+ ///
+ AdditionalPart = 2,
+
+ ///
+ /// An alternative format to the main file.
+ ///
+ AlternativeFormat = 3,
+
+ ///
+ /// An additional stream for the main file.
+ ///
+ AdditionalStream = 4
}
}
diff --git a/Jellyfin.Data/Enums/PersonRoleType.cs b/Jellyfin.Data/Enums/PersonRoleType.cs
index 2d80eaa4ca..1e619f5eef 100644
--- a/Jellyfin.Data/Enums/PersonRoleType.cs
+++ b/Jellyfin.Data/Enums/PersonRoleType.cs
@@ -1,20 +1,68 @@
-#pragma warning disable CS1591
-
namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing a person's role in a specific media item.
+ ///
public enum PersonRoleType
{
- Other,
- Director,
- Artist,
- OriginalArtist,
- Actor,
- VoiceActor,
- Producer,
- Remixer,
- Conductor,
- Composer,
- Author,
- Editor
+ ///
+ /// Another role, not covered by the other types.
+ ///
+ Other = 0,
+
+ ///
+ /// The director of the media.
+ ///
+ Director = 1,
+
+ ///
+ /// An artist.
+ ///
+ Artist = 2,
+
+ ///
+ /// The original artist.
+ ///
+ OriginalArtist = 3,
+
+ ///
+ /// An actor.
+ ///
+ Actor = 4,
+
+ ///
+ /// A voice actor.
+ ///
+ VoiceActor = 5,
+
+ ///
+ /// A producer.
+ ///
+ Producer = 6,
+
+ ///
+ /// A remixer.
+ ///
+ Remixer = 7,
+
+ ///
+ /// A conductor.
+ ///
+ Conductor = 8,
+
+ ///
+ /// A composer.
+ ///
+ Composer = 9,
+
+ ///
+ /// An author.
+ ///
+ Author = 10,
+
+ ///
+ /// An editor.
+ ///
+ Editor = 11
}
}
diff --git a/Jellyfin.Data/Enums/SubtitlePlaybackMode.cs b/Jellyfin.Data/Enums/SubtitlePlaybackMode.cs
index c8fc211593..ca41300edf 100644
--- a/Jellyfin.Data/Enums/SubtitlePlaybackMode.cs
+++ b/Jellyfin.Data/Enums/SubtitlePlaybackMode.cs
@@ -1,13 +1,33 @@
-#pragma warning disable CS1591
-
-namespace Jellyfin.Data.Enums
+namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing a subtitle playback mode.
+ ///
public enum SubtitlePlaybackMode
{
+ ///
+ /// The default subtitle playback mode.
+ ///
Default = 0,
+
+ ///
+ /// Always show subtitles.
+ ///
Always = 1,
+
+ ///
+ /// Only show forced subtitles.
+ ///
OnlyForced = 2,
+
+ ///
+ /// Don't show subtitles.
+ ///
None = 3,
+
+ ///
+ /// Only show subtitles when the current audio stream is in a different language.
+ ///
Smart = 4
}
}
diff --git a/Jellyfin.Data/Enums/UnratedItem.cs b/Jellyfin.Data/Enums/UnratedItem.cs
index 5259e77394..871794086d 100644
--- a/Jellyfin.Data/Enums/UnratedItem.cs
+++ b/Jellyfin.Data/Enums/UnratedItem.cs
@@ -1,17 +1,53 @@
-#pragma warning disable CS1591
-
namespace Jellyfin.Data.Enums
{
+ ///
+ /// An enum representing an unrated item.
+ ///
public enum UnratedItem
{
- Movie,
- Trailer,
- Series,
- Music,
- Book,
- LiveTvChannel,
- LiveTvProgram,
- ChannelContent,
- Other
+ ///
+ /// A movie.
+ ///
+ Movie = 0,
+
+ ///
+ /// A trailer.
+ ///
+ Trailer = 1,
+
+ ///
+ /// A series.
+ ///
+ Series = 2,
+
+ ///
+ /// Music.
+ ///
+ Music = 3,
+
+ ///
+ /// A book.
+ ///
+ Book = 4,
+
+ ///
+ /// A live TV channel
+ ///
+ LiveTvChannel = 5,
+
+ ///
+ /// A live TV program.
+ ///
+ LiveTvProgram = 6,
+
+ ///
+ /// Channel content.
+ ///
+ ChannelContent = 7,
+
+ ///
+ /// Another type, not covered by the other fields.
+ ///
+ Other = 8
}
}
diff --git a/Jellyfin.Data/Jellyfin.Data.csproj b/Jellyfin.Data/Jellyfin.Data.csproj
index 203eeaf3bb..95343f91b5 100644
--- a/Jellyfin.Data/Jellyfin.Data.csproj
+++ b/Jellyfin.Data/Jellyfin.Data.csproj
@@ -4,7 +4,7 @@
netstandard2.0;netstandard2.1
false
true
- true
+ true
true
true
true
@@ -45,4 +45,8 @@
+
+
+
+