aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Data/Entities/Libraries/MediaFile.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Data/Entities/Libraries/MediaFile.cs')
-rw-r--r--Jellyfin.Data/Entities/Libraries/MediaFile.cs200
1 files changed, 41 insertions, 159 deletions
diff --git a/Jellyfin.Data/Entities/Libraries/MediaFile.cs b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
index c9efdb143..8bc649c98 100644
--- a/Jellyfin.Data/Entities/Libraries/MediaFile.cs
+++ b/Jellyfin.Data/Entities/Libraries/MediaFile.cs
@@ -1,212 +1,94 @@
-#pragma warning disable CS1591
-
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
+using Jellyfin.Data.Enums;
+using Jellyfin.Data.Interfaces;
namespace Jellyfin.Data.Entities.Libraries
{
- public partial class MediaFile
+ /// <summary>
+ /// An entity representing a file on disk.
+ /// </summary>
+ public class MediaFile : IHasConcurrencyToken
{
- partial void Init();
-
/// <summary>
- /// Default constructor. Protected due to required properties, but present because EF needs it.
+ /// Initializes a new instance of the <see cref="MediaFile"/> class.
/// </summary>
- protected MediaFile()
- {
- MediaFileStreams = new HashSet<MediaFileStream>();
-
- Init();
- }
-
- /// <summary>
- /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving.
- /// </summary>
- public static MediaFile CreateMediaFileUnsafe()
- {
- return new MediaFile();
- }
-
- /// <summary>
- /// Public constructor with required data.
- /// </summary>
- /// <param name="path">Relative to the LibraryRoot.</param>
- /// <param name="kind"></param>
- /// <param name="_release0"></param>
- public MediaFile(string path, Enums.MediaFileKind kind, Release _release0)
+ /// <param name="path">The path relative to the LibraryRoot.</param>
+ /// <param name="kind">The file kind.</param>
+ /// <param name="release">The release.</param>
+ public MediaFile(string path, MediaFileKind kind, Release release)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException(nameof(path));
}
- this.Path = path;
-
- this.Kind = kind;
+ Path = path;
+ Kind = kind;
- if (_release0 == null)
+ if (release == null)
{
- throw new ArgumentNullException(nameof(_release0));
+ throw new ArgumentNullException(nameof(release));
}
- _release0.MediaFiles.Add(this);
+ release.MediaFiles.Add(this);
- this.MediaFileStreams = new HashSet<MediaFileStream>();
-
- Init();
+ MediaFileStreams = new HashSet<MediaFileStream>();
}
/// <summary>
- /// Static create function (for use in LINQ queries, etc.)
+ /// Initializes a new instance of the <see cref="MediaFile"/> class.
/// </summary>
- /// <param name="path">Relative to the LibraryRoot.</param>
- /// <param name="kind"></param>
- /// <param name="_release0"></param>
- public static MediaFile Create(string path, Enums.MediaFileKind kind, Release _release0)
+ /// <remarks>
+ /// Default constructor. Protected due to required properties, but present because EF needs it.
+ /// </remarks>
+ protected MediaFile()
{
- return new MediaFile(path, kind, _release0);
}
- /*************************************************************************
- * Properties
- *************************************************************************/
-
- /// <summary>
- /// Backing field for Id.
- /// </summary>
- internal int _Id;
/// <summary>
- /// When provided in a partial class, allows value of Id to be changed before setting.
+ /// Gets or sets the id.
/// </summary>
- partial void SetId(int oldValue, ref int newValue);
- /// <summary>
- /// When provided in a partial class, allows value of Id to be changed before returning.
- /// </summary>
- partial void GetId(ref int result);
-
- /// <summary>
+ /// <remarks>
/// Identity, Indexed, Required.
- /// </summary>
- [Key]
- [Required]
+ /// </remarks>
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int Id
- {
- get
- {
- int value = _Id;
- GetId(ref value);
- return _Id = value;
- }
-
- protected set
- {
- int oldValue = _Id;
- SetId(oldValue, ref value);
- if (oldValue != value)
- {
- _Id = value;
- }
- }
- }
+ public int Id { get; protected set; }
/// <summary>
- /// Backing field for Path.
- /// </summary>
- protected string _Path;
- /// <summary>
- /// When provided in a partial class, allows value of Path to be changed before setting.
- /// </summary>
- partial void SetPath(string oldValue, ref string newValue);
- /// <summary>
- /// When provided in a partial class, allows value of Path to be changed before returning.
- /// </summary>
- partial void GetPath(ref string result);
-
- /// <summary>
- /// Required, Max length = 65535
- /// Relative to the LibraryRoot.
+ /// Gets or sets the path relative to the library root.
/// </summary>
+ /// <remarks>
+ /// Required, Max length = 65535.
+ /// </remarks>
[Required]
[MaxLength(65535)]
[StringLength(65535)]
- public string Path
- {
- get
- {
- string value = _Path;
- GetPath(ref value);
- return _Path = value;
- }
+ public string Path { get; set; }
- set
- {
- string oldValue = _Path;
- SetPath(oldValue, ref value);
- if (oldValue != value)
- {
- _Path = value;
- }
- }
- }
-
- /// <summary>
- /// Backing field for Kind.
- /// </summary>
- protected Enums.MediaFileKind _Kind;
/// <summary>
- /// When provided in a partial class, allows value of Kind to be changed before setting.
+ /// Gets or sets the kind of media file.
/// </summary>
- partial void SetKind(Enums.MediaFileKind oldValue, ref Enums.MediaFileKind newValue);
- /// <summary>
- /// When provided in a partial class, allows value of Kind to be changed before returning.
- /// </summary>
- partial void GetKind(ref Enums.MediaFileKind result);
-
- /// <summary>
+ /// <remarks>
/// Required.
- /// </summary>
- [Required]
- public Enums.MediaFileKind Kind
- {
- get
- {
- Enums.MediaFileKind value = _Kind;
- GetKind(ref value);
- return _Kind = value;
- }
+ /// </remarks>
+ public MediaFileKind Kind { get; set; }
- set
- {
- Enums.MediaFileKind oldValue = _Kind;
- SetKind(oldValue, ref value);
- if (oldValue != value)
- {
- _Kind = value;
- }
- }
- }
+ /// <inheritdoc />
+ [ConcurrencyCheck]
+ public uint RowVersion { get; set; }
/// <summary>
- /// Required, ConcurrenyToken.
+ /// Gets or sets a collection containing the streams in this file.
/// </summary>
- [ConcurrencyCheck]
- [Required]
- public uint RowVersion { get; set; }
+ public virtual ICollection<MediaFileStream> MediaFileStreams { get; protected set; }
+ /// <inheritdoc />
public void OnSavingChanges()
{
RowVersion++;
}
-
- /*************************************************************************
- * Navigation properties
- *************************************************************************/
-
- [ForeignKey("MediaFileStream_MediaFileStreams_Id")]
- public virtual ICollection<MediaFileStream> MediaFileStreams { get; protected set; }
}
}
-