Merge pull request #3038 from barronpm/generated-code-cleanup

Clean up generated code
This commit is contained in:
Bond-009 2020-05-12 10:38:45 +02:00 committed by GitHub
commit 94a96c93a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 5731 additions and 7333 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +1,5 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -48,7 +30,7 @@ namespace Jellyfin.Data.Entities
/// <param name="kind"></param> /// <param name="kind"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
/// <param name="_personrole1"></param> /// <param name="_personrole1"></param>
public Artwork(string path, global::Jellyfin.Data.Enums.ArtKind kind, global::Jellyfin.Data.Entities.Metadata _metadata0, global::Jellyfin.Data.Entities.PersonRole _personrole1) public Artwork(string path, Enums.ArtKind kind, Metadata _metadata0, PersonRole _personrole1)
{ {
if (string.IsNullOrEmpty(path)) throw new ArgumentNullException(nameof(path)); if (string.IsNullOrEmpty(path)) throw new ArgumentNullException(nameof(path));
this.Path = path; this.Path = path;
@ -72,7 +54,7 @@ namespace Jellyfin.Data.Entities
/// <param name="kind"></param> /// <param name="kind"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
/// <param name="_personrole1"></param> /// <param name="_personrole1"></param>
public static Artwork Create(string path, global::Jellyfin.Data.Enums.ArtKind kind, global::Jellyfin.Data.Entities.Metadata _metadata0, global::Jellyfin.Data.Entities.PersonRole _personrole1) public static Artwork Create(string path, Enums.ArtKind kind, Metadata _metadata0, PersonRole _personrole1)
{ {
return new Artwork(path, kind, _metadata0, _personrole1); return new Artwork(path, kind, _metadata0, _personrole1);
} }
@ -159,31 +141,31 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Backing field for Kind /// Backing field for Kind
/// </summary> /// </summary>
internal global::Jellyfin.Data.Enums.ArtKind _Kind; internal Enums.ArtKind _Kind;
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before setting. /// When provided in a partial class, allows value of Kind to be changed before setting.
/// </summary> /// </summary>
partial void SetKind(global::Jellyfin.Data.Enums.ArtKind oldValue, ref global::Jellyfin.Data.Enums.ArtKind newValue); partial void SetKind(Enums.ArtKind oldValue, ref Enums.ArtKind newValue);
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before returning. /// When provided in a partial class, allows value of Kind to be changed before returning.
/// </summary> /// </summary>
partial void GetKind(ref global::Jellyfin.Data.Enums.ArtKind result); partial void GetKind(ref Enums.ArtKind result);
/// <summary> /// <summary>
/// Indexed, Required /// Indexed, Required
/// </summary> /// </summary>
[Required] [Required]
public global::Jellyfin.Data.Enums.ArtKind Kind public Enums.ArtKind Kind
{ {
get get
{ {
global::Jellyfin.Data.Enums.ArtKind value = _Kind; Enums.ArtKind value = _Kind;
GetKind(ref value); GetKind(ref value);
return (_Kind = value); return (_Kind = value);
} }
set set
{ {
global::Jellyfin.Data.Enums.ArtKind oldValue = _Kind; Enums.ArtKind oldValue = _Kind;
SetKind(oldValue, ref value); SetKind(oldValue, ref value);
if (oldValue != value) if (oldValue != value)
{ {
@ -193,11 +175,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Book: global::Jellyfin.Data.Entities.LibraryItem public partial class Book : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Book(): base() protected Book()
{ {
BookMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.BookMetadata>(); BookMetadata = new HashSet<BookMetadata>();
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.BookMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.BookMetadata>(); this.BookMetadata = new HashSet<BookMetadata>();
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
Init(); Init();
} }
@ -75,9 +58,11 @@ namespace Jellyfin.Data.Entities
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.BookMetadata> BookMetadata { get; protected set; } [ForeignKey("BookMetadata_BookMetadata_Id")]
public virtual ICollection<BookMetadata> BookMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; } [ForeignKey("Release_Releases_Id")]
public virtual ICollection<Release> Releases { get; protected set; }
} }
} }

View File

@ -1,36 +1,19 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class BookMetadata: global::Jellyfin.Data.Entities.Metadata public partial class BookMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected BookMetadata(): base() protected BookMetadata()
{ {
Publishers = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); Publishers = new HashSet<Company>();
Init(); Init();
} }
@ -49,7 +32,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_book0"></param> /// <param name="_book0"></param>
public BookMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Book _book0) public BookMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Book _book0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -60,7 +43,7 @@ namespace Jellyfin.Data.Entities
if (_book0 == null) throw new ArgumentNullException(nameof(_book0)); if (_book0 == null) throw new ArgumentNullException(nameof(_book0));
_book0.BookMetadata.Add(this); _book0.BookMetadata.Add(this);
this.Publishers = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); this.Publishers = new HashSet<Company>();
Init(); Init();
} }
@ -71,7 +54,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_book0"></param> /// <param name="_book0"></param>
public static BookMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Book _book0) public static BookMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Book _book0)
{ {
return new BookMetadata(title, language, dateadded, datemodified, _book0); return new BookMetadata(title, language, dateadded, datemodified, _book0);
} }
@ -116,7 +99,8 @@ namespace Jellyfin.Data.Entities
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.Company> Publishers { get; protected set; } [ForeignKey("Company_Publishers_Id")]
public virtual ICollection<Company> Publishers { get; protected set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -47,7 +30,7 @@ namespace Jellyfin.Data.Entities
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="timestart"></param> /// <param name="timestart"></param>
/// <param name="_release0"></param> /// <param name="_release0"></param>
public Chapter(string language, long timestart, global::Jellyfin.Data.Entities.Release _release0) public Chapter(string language, long timestart, Release _release0)
{ {
if (string.IsNullOrEmpty(language)) throw new ArgumentNullException(nameof(language)); if (string.IsNullOrEmpty(language)) throw new ArgumentNullException(nameof(language));
this.Language = language; this.Language = language;
@ -67,7 +50,7 @@ namespace Jellyfin.Data.Entities
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="timestart"></param> /// <param name="timestart"></param>
/// <param name="_release0"></param> /// <param name="_release0"></param>
public static Chapter Create(string language, long timestart, global::Jellyfin.Data.Entities.Release _release0) public static Chapter Create(string language, long timestart, Release _release0)
{ {
return new Chapter(language, timestart, _release0); return new Chapter(language, timestart, _release0);
} }
@ -94,6 +77,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -259,11 +243,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,7 +13,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
public Collection() public Collection()
{ {
CollectionItem = new System.Collections.Generic.LinkedList<global::Jellyfin.Data.Entities.CollectionItem>(); CollectionItem = new LinkedList<CollectionItem>();
Init(); Init();
} }
@ -57,6 +40,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -114,17 +98,22 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("CollectionItem_CollectionItem_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.CollectionItem> CollectionItem { get; protected set; } public virtual ICollection<CollectionItem> CollectionItem { get; protected set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -50,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_collection0"></param> /// <param name="_collection0"></param>
/// <param name="_collectionitem1"></param> /// <param name="_collectionitem1"></param>
/// <param name="_collectionitem2"></param> /// <param name="_collectionitem2"></param>
public CollectionItem(global::Jellyfin.Data.Entities.Collection _collection0, global::Jellyfin.Data.Entities.CollectionItem _collectionitem1, global::Jellyfin.Data.Entities.CollectionItem _collectionitem2) public CollectionItem(Collection _collection0, CollectionItem _collectionitem1, CollectionItem _collectionitem2)
{ {
// NOTE: This class has one-to-one associations with CollectionItem. // NOTE: This class has one-to-one associations with CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -74,7 +57,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_collection0"></param> /// <param name="_collection0"></param>
/// <param name="_collectionitem1"></param> /// <param name="_collectionitem1"></param>
/// <param name="_collectionitem2"></param> /// <param name="_collectionitem2"></param>
public static CollectionItem Create(global::Jellyfin.Data.Entities.Collection _collection0, global::Jellyfin.Data.Entities.CollectionItem _collectionitem1, global::Jellyfin.Data.Entities.CollectionItem _collectionitem2) public static CollectionItem Create(Collection _collection0, CollectionItem _collectionitem1, CollectionItem _collectionitem2)
{ {
return new CollectionItem(_collection0, _collectionitem1, _collectionitem2); return new CollectionItem(_collection0, _collectionitem1, _collectionitem2);
} }
@ -101,6 +84,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -121,11 +105,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -134,17 +123,20 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.LibraryItem LibraryItem { get; set; } [ForeignKey("LibraryItem_Id")]
public virtual LibraryItem LibraryItem { get; set; }
/// <remarks> /// <remarks>
/// 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
/// </remarks> /// </remarks>
public virtual global::Jellyfin.Data.Entities.CollectionItem Next { get; set; } [ForeignKey("CollectionItem_Next_Id")]
public virtual CollectionItem Next { get; set; }
/// <remarks> /// <remarks>
/// 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
/// </remarks> /// </remarks>
public virtual global::Jellyfin.Data.Entities.CollectionItem Previous { get; set; } [ForeignKey("CollectionItem_Previous_Id")]
public virtual CollectionItem Previous { get; set; }
} }
} }

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,7 +14,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected Company() protected Company()
{ {
CompanyMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.CompanyMetadata>(); CompanyMetadata = new HashSet<CompanyMetadata>();
Init(); Init();
} }
@ -51,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_musicalbummetadata2"></param> /// <param name="_musicalbummetadata2"></param>
/// <param name="_bookmetadata3"></param> /// <param name="_bookmetadata3"></param>
/// <param name="_company4"></param> /// <param name="_company4"></param>
public Company(global::Jellyfin.Data.Entities.MovieMetadata _moviemetadata0, global::Jellyfin.Data.Entities.SeriesMetadata _seriesmetadata1, global::Jellyfin.Data.Entities.MusicAlbumMetadata _musicalbummetadata2, global::Jellyfin.Data.Entities.BookMetadata _bookmetadata3, global::Jellyfin.Data.Entities.Company _company4) public Company(MovieMetadata _moviemetadata0, SeriesMetadata _seriesmetadata1, MusicAlbumMetadata _musicalbummetadata2, BookMetadata _bookmetadata3, Company _company4)
{ {
if (_moviemetadata0 == null) throw new ArgumentNullException(nameof(_moviemetadata0)); if (_moviemetadata0 == null) throw new ArgumentNullException(nameof(_moviemetadata0));
_moviemetadata0.Studios.Add(this); _moviemetadata0.Studios.Add(this);
@ -68,7 +52,7 @@ namespace Jellyfin.Data.Entities
if (_company4 == null) throw new ArgumentNullException(nameof(_company4)); if (_company4 == null) throw new ArgumentNullException(nameof(_company4));
_company4.Parent = this; _company4.Parent = this;
this.CompanyMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.CompanyMetadata>(); this.CompanyMetadata = new HashSet<CompanyMetadata>();
Init(); Init();
} }
@ -81,7 +65,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_musicalbummetadata2"></param> /// <param name="_musicalbummetadata2"></param>
/// <param name="_bookmetadata3"></param> /// <param name="_bookmetadata3"></param>
/// <param name="_company4"></param> /// <param name="_company4"></param>
public static Company Create(global::Jellyfin.Data.Entities.MovieMetadata _moviemetadata0, global::Jellyfin.Data.Entities.SeriesMetadata _seriesmetadata1, global::Jellyfin.Data.Entities.MusicAlbumMetadata _musicalbummetadata2, global::Jellyfin.Data.Entities.BookMetadata _bookmetadata3, global::Jellyfin.Data.Entities.Company _company4) public static Company Create(MovieMetadata _moviemetadata0, SeriesMetadata _seriesmetadata1, MusicAlbumMetadata _musicalbummetadata2, BookMetadata _bookmetadata3, Company _company4)
{ {
return new Company(_moviemetadata0, _seriesmetadata1, _musicalbummetadata2, _bookmetadata3, _company4); return new Company(_moviemetadata0, _seriesmetadata1, _musicalbummetadata2, _bookmetadata3, _company4);
} }
@ -108,6 +92,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -128,19 +113,24 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("CompanyMetadata_CompanyMetadata_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.CompanyMetadata> CompanyMetadata { get; protected set; } public virtual ICollection<CompanyMetadata> CompanyMetadata { get; protected set; }
[ForeignKey("Company_Parent_Id")]
public virtual global::Jellyfin.Data.Entities.Company Parent { get; set; } public virtual Company Parent { get; set; }
} }
} }

View File

@ -1,34 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class CompanyMetadata: global::Jellyfin.Data.Entities.Metadata public partial class CompanyMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected CompanyMetadata(): base() protected CompanyMetadata()
{ {
Init(); Init();
} }
@ -47,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_company0"></param> /// <param name="_company0"></param>
public CompanyMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Company _company0) public CompanyMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Company _company0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +50,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_company0"></param> /// <param name="_company0"></param>
public static CompanyMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Company _company0) public static CompanyMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Company _company0)
{ {
return new CompanyMetadata(title, language, dateadded, datemodified, _company0); return new CompanyMetadata(title, language, dateadded, datemodified, _company0);
} }

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class CustomItem: global::Jellyfin.Data.Entities.LibraryItem public partial class CustomItem : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected CustomItem(): base() protected CustomItem()
{ {
CustomItemMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.CustomItemMetadata>(); CustomItemMetadata = new HashSet<CustomItemMetadata>();
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.CustomItemMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.CustomItemMetadata>(); this.CustomItemMetadata = new HashSet<CustomItemMetadata>();
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
Init(); Init();
} }
@ -74,10 +57,11 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("CustomItemMetadata_CustomItemMetadata_Id")]
public virtual ICollection<CustomItemMetadata> CustomItemMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.CustomItemMetadata> CustomItemMetadata { get; protected set; } [ForeignKey("Release_Releases_Id")]
public virtual ICollection<Release> Releases { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; }
} }
} }

View File

@ -1,34 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class CustomItemMetadata: global::Jellyfin.Data.Entities.Metadata public partial class CustomItemMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected CustomItemMetadata(): base() protected CustomItemMetadata()
{ {
Init(); Init();
} }
@ -47,7 +28,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_customitem0"></param> /// <param name="_customitem0"></param>
public CustomItemMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.CustomItem _customitem0) public CustomItemMetadata(string title, string language, DateTime dateadded, DateTime datemodified, CustomItem _customitem0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +49,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_customitem0"></param> /// <param name="_customitem0"></param>
public static CustomItemMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.CustomItem _customitem0) public static CustomItemMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, CustomItem _customitem0)
{ {
return new CustomItemMetadata(title, language, dateadded, datemodified, _customitem0); return new CustomItemMetadata(title, language, dateadded, datemodified, _customitem0);
} }

View File

@ -1,40 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Episode: global::Jellyfin.Data.Entities.LibraryItem public partial class Episode : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Episode(): base() protected Episode()
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
EpisodeMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.EpisodeMetadata>(); EpisodeMetadata = new HashSet<EpisodeMetadata>();
Init(); Init();
} }
@ -52,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_season0"></param> /// <param name="_season0"></param>
public Episode(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.Season _season0) public Episode(Guid urlid, DateTime dateadded, Season _season0)
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -62,8 +45,8 @@ namespace Jellyfin.Data.Entities
if (_season0 == null) throw new ArgumentNullException(nameof(_season0)); if (_season0 == null) throw new ArgumentNullException(nameof(_season0));
_season0.Episodes.Add(this); _season0.Episodes.Add(this);
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
this.EpisodeMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.EpisodeMetadata>(); this.EpisodeMetadata = new HashSet<EpisodeMetadata>();
Init(); Init();
} }
@ -73,7 +56,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_season0"></param> /// <param name="_season0"></param>
public static Episode Create(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.Season _season0) public static Episode Create(Guid urlid, DateTime dateadded, Season _season0)
{ {
return new Episode(urlid, dateadded, _season0); return new Episode(urlid, dateadded, _season0);
} }
@ -117,10 +100,10 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("Release_Releases_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; } public virtual ICollection<Release> Releases { get; protected set; }
[ForeignKey("EpisodeMetadata_EpisodeMetadata_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.EpisodeMetadata> EpisodeMetadata { get; protected set; } public virtual ICollection<EpisodeMetadata> EpisodeMetadata { get; protected set; }
} }
} }

View File

@ -1,34 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class EpisodeMetadata: global::Jellyfin.Data.Entities.Metadata public partial class EpisodeMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected EpisodeMetadata(): base() protected EpisodeMetadata()
{ {
Init(); Init();
} }
@ -47,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_episode0"></param> /// <param name="_episode0"></param>
public EpisodeMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Episode _episode0) public EpisodeMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Episode _episode0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +50,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_episode0"></param> /// <param name="_episode0"></param>
public static EpisodeMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Episode _episode0) public static EpisodeMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Episode _episode0)
{ {
return new EpisodeMetadata(title, language, dateadded, datemodified, _episode0); return new EpisodeMetadata(title, language, dateadded, datemodified, _episode0);
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -46,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public Genre(string name, global::Jellyfin.Data.Entities.Metadata _metadata0) public Genre(string name, Metadata _metadata0)
{ {
if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name)); if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name));
this.Name = name; this.Name = name;
@ -63,7 +46,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public static Genre Create(string name, global::Jellyfin.Data.Entities.Metadata _metadata0) public static Genre Create(string name, Metadata _metadata0)
{ {
return new Genre(name, _metadata0); return new Genre(name, _metadata0);
} }
@ -90,6 +73,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -148,11 +132,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,9 +14,9 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected Group() protected Group()
{ {
GroupPermissions = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Permission>(); GroupPermissions = new HashSet<Permission>();
ProviderMappings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.ProviderMapping>(); ProviderMappings = new HashSet<ProviderMapping>();
Preferences = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Preference>(); Preferences = new HashSet<Preference>();
Init(); Init();
} }
@ -50,7 +34,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
public Group(string name, global::Jellyfin.Data.Entities.User _user0) public Group(string name, User _user0)
{ {
if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name)); if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name));
this.Name = name; this.Name = name;
@ -58,9 +42,9 @@ namespace Jellyfin.Data.Entities
if (_user0 == null) throw new ArgumentNullException(nameof(_user0)); if (_user0 == null) throw new ArgumentNullException(nameof(_user0));
_user0.Groups.Add(this); _user0.Groups.Add(this);
this.GroupPermissions = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Permission>(); this.GroupPermissions = new HashSet<Permission>();
this.ProviderMappings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.ProviderMapping>(); this.ProviderMappings = new HashSet<ProviderMapping>();
this.Preferences = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Preference>(); this.Preferences = new HashSet<Preference>();
Init(); Init();
} }
@ -70,7 +54,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
public static Group Create(string name, global::Jellyfin.Data.Entities.User _user0) public static Group Create(string name, User _user0)
{ {
return new Group(name, _user0); return new Group(name, _user0);
} }
@ -84,6 +68,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; } public int Id { get; protected set; }
/// <summary> /// <summary>
@ -95,20 +80,29 @@ namespace Jellyfin.Data.Entities
public string Name { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// Concurrency token /// Required, ConcurrenyToken
/// </summary> /// </summary>
[Timestamp] [ConcurrencyCheck]
public Byte[] Timestamp { get; set; } [Required]
public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.Permission> GroupPermissions { get; protected set; } [ForeignKey("Permission_GroupPermissions_Id")]
public virtual ICollection<Permission> GroupPermissions { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.ProviderMapping> ProviderMappings { get; protected set; } [ForeignKey("ProviderMapping_ProviderMappings_Id")]
public virtual ICollection<ProviderMapping> ProviderMappings { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Preference> Preferences { get; protected set; } [ForeignKey("Preference_Preferences_Id")]
public virtual ICollection<Preference> Preferences { get; protected set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -85,6 +68,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -143,11 +127,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -67,6 +50,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -160,11 +144,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -173,7 +162,8 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.LibraryRoot LibraryRoot { get; set; } [ForeignKey("LibraryRoot_Id")]
public virtual LibraryRoot LibraryRoot { get; set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -85,6 +68,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -182,11 +166,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -195,7 +184,8 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.Library Library { get; set; } [ForeignKey("Library_Id")]
public virtual Library Library { get; set; }
} }
} }

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,7 +14,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected MediaFile() protected MediaFile()
{ {
MediaFileStreams = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MediaFileStream>(); MediaFileStreams = new HashSet<MediaFileStream>();
Init(); Init();
} }
@ -49,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="path">Relative to the LibraryRoot</param> /// <param name="path">Relative to the LibraryRoot</param>
/// <param name="kind"></param> /// <param name="kind"></param>
/// <param name="_release0"></param> /// <param name="_release0"></param>
public MediaFile(string path, global::Jellyfin.Data.Enums.MediaFileKind kind, global::Jellyfin.Data.Entities.Release _release0) public MediaFile(string path, Enums.MediaFileKind kind, Release _release0)
{ {
if (string.IsNullOrEmpty(path)) throw new ArgumentNullException(nameof(path)); if (string.IsNullOrEmpty(path)) throw new ArgumentNullException(nameof(path));
this.Path = path; this.Path = path;
@ -59,7 +43,7 @@ namespace Jellyfin.Data.Entities
if (_release0 == null) throw new ArgumentNullException(nameof(_release0)); if (_release0 == null) throw new ArgumentNullException(nameof(_release0));
_release0.MediaFiles.Add(this); _release0.MediaFiles.Add(this);
this.MediaFileStreams = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MediaFileStream>(); this.MediaFileStreams = new HashSet<MediaFileStream>();
Init(); Init();
} }
@ -70,7 +54,7 @@ namespace Jellyfin.Data.Entities
/// <param name="path">Relative to the LibraryRoot</param> /// <param name="path">Relative to the LibraryRoot</param>
/// <param name="kind"></param> /// <param name="kind"></param>
/// <param name="_release0"></param> /// <param name="_release0"></param>
public static MediaFile Create(string path, global::Jellyfin.Data.Enums.MediaFileKind kind, global::Jellyfin.Data.Entities.Release _release0) public static MediaFile Create(string path, Enums.MediaFileKind kind, Release _release0)
{ {
return new MediaFile(path, kind, _release0); return new MediaFile(path, kind, _release0);
} }
@ -97,6 +81,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -158,31 +143,31 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Backing field for Kind /// Backing field for Kind
/// </summary> /// </summary>
protected global::Jellyfin.Data.Enums.MediaFileKind _Kind; protected Enums.MediaFileKind _Kind;
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before setting. /// When provided in a partial class, allows value of Kind to be changed before setting.
/// </summary> /// </summary>
partial void SetKind(global::Jellyfin.Data.Enums.MediaFileKind oldValue, ref global::Jellyfin.Data.Enums.MediaFileKind newValue); partial void SetKind(Enums.MediaFileKind oldValue, ref Enums.MediaFileKind newValue);
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before returning. /// When provided in a partial class, allows value of Kind to be changed before returning.
/// </summary> /// </summary>
partial void GetKind(ref global::Jellyfin.Data.Enums.MediaFileKind result); partial void GetKind(ref Enums.MediaFileKind result);
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
[Required] [Required]
public global::Jellyfin.Data.Enums.MediaFileKind Kind public Enums.MediaFileKind Kind
{ {
get get
{ {
global::Jellyfin.Data.Enums.MediaFileKind value = _Kind; Enums.MediaFileKind value = _Kind;
GetKind(ref value); GetKind(ref value);
return (_Kind = value); return (_Kind = value);
} }
set set
{ {
global::Jellyfin.Data.Enums.MediaFileKind oldValue = _Kind; Enums.MediaFileKind oldValue = _Kind;
SetKind(oldValue, ref value); SetKind(oldValue, ref value);
if (oldValue != value) if (oldValue != value)
{ {
@ -192,17 +177,23 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.MediaFileStream> MediaFileStreams { get; protected set; } [ForeignKey("MediaFileStream_MediaFileStreams_Id")]
public virtual ICollection<MediaFileStream> MediaFileStreams { get; protected set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -46,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="streamnumber"></param> /// <param name="streamnumber"></param>
/// <param name="_mediafile0"></param> /// <param name="_mediafile0"></param>
public MediaFileStream(int streamnumber, global::Jellyfin.Data.Entities.MediaFile _mediafile0) public MediaFileStream(int streamnumber, MediaFile _mediafile0)
{ {
this.StreamNumber = streamnumber; this.StreamNumber = streamnumber;
@ -62,7 +45,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="streamnumber"></param> /// <param name="streamnumber"></param>
/// <param name="_mediafile0"></param> /// <param name="_mediafile0"></param>
public static MediaFileStream Create(int streamnumber, global::Jellyfin.Data.Entities.MediaFile _mediafile0) public static MediaFileStream Create(int streamnumber, MediaFile _mediafile0)
{ {
return new MediaFileStream(streamnumber, _mediafile0); return new MediaFileStream(streamnumber, _mediafile0);
} }
@ -89,6 +72,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -145,11 +129,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,11 +14,11 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected Metadata() protected Metadata()
{ {
PersonRoles = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.PersonRole>(); PersonRoles = new HashSet<PersonRole>();
Genres = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Genre>(); Genres = new HashSet<Genre>();
Artwork = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Artwork>(); Artwork = new HashSet<Artwork>();
Ratings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Rating>(); Ratings = new HashSet<Rating>();
Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -52,11 +36,11 @@ namespace Jellyfin.Data.Entities
if (string.IsNullOrEmpty(language)) throw new ArgumentNullException(nameof(language)); if (string.IsNullOrEmpty(language)) throw new ArgumentNullException(nameof(language));
this.Language = language; this.Language = language;
this.PersonRoles = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.PersonRole>(); this.PersonRoles = new HashSet<PersonRole>();
this.Genres = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Genre>(); this.Genres = new HashSet<Genre>();
this.Artwork = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Artwork>(); this.Artwork = new HashSet<Artwork>();
this.Ratings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Rating>(); this.Ratings = new HashSet<Rating>();
this.Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); this.Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -83,6 +67,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -360,25 +345,35 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.PersonRole> PersonRoles { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")]
public virtual ICollection<PersonRole> PersonRoles { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Genre> Genres { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")]
public virtual ICollection<Genre> Genres { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Artwork> Artwork { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")]
public virtual ICollection<Artwork> Artwork { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Rating> Ratings { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")]
public virtual ICollection<Rating> Ratings { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.MetadataProviderId> Sources { get; protected set; } [ForeignKey("PersonRole_PersonRoles_Id")]
public virtual ICollection<MetadataProviderId> Sources { get; protected set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -85,6 +68,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -143,11 +127,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -52,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_person1"></param> /// <param name="_person1"></param>
/// <param name="_personrole2"></param> /// <param name="_personrole2"></param>
/// <param name="_ratingsource3"></param> /// <param name="_ratingsource3"></param>
public MetadataProviderId(string providerid, global::Jellyfin.Data.Entities.Metadata _metadata0, global::Jellyfin.Data.Entities.Person _person1, global::Jellyfin.Data.Entities.PersonRole _personrole2, global::Jellyfin.Data.Entities.RatingSource _ratingsource3) public MetadataProviderId(string providerid, Metadata _metadata0, Person _person1, PersonRole _personrole2, RatingSource _ratingsource3)
{ {
// NOTE: This class has one-to-one associations with MetadataProviderId. // NOTE: This class has one-to-one associations with MetadataProviderId.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -84,7 +67,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_person1"></param> /// <param name="_person1"></param>
/// <param name="_personrole2"></param> /// <param name="_personrole2"></param>
/// <param name="_ratingsource3"></param> /// <param name="_ratingsource3"></param>
public static MetadataProviderId Create(string providerid, global::Jellyfin.Data.Entities.Metadata _metadata0, global::Jellyfin.Data.Entities.Person _person1, global::Jellyfin.Data.Entities.PersonRole _personrole2, global::Jellyfin.Data.Entities.RatingSource _ratingsource3) public static MetadataProviderId Create(string providerid, Metadata _metadata0, Person _person1, PersonRole _personrole2, RatingSource _ratingsource3)
{ {
return new MetadataProviderId(providerid, _metadata0, _person1, _personrole2, _ratingsource3); return new MetadataProviderId(providerid, _metadata0, _person1, _personrole2, _ratingsource3);
} }
@ -111,6 +94,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -169,11 +153,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -182,7 +171,8 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.MetadataProvider MetadataProvider { get; set; } [ForeignKey("MetadataProvider_Id")]
public virtual MetadataProvider MetadataProvider { get; set; }
} }
} }

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Movie: global::Jellyfin.Data.Entities.LibraryItem public partial class Movie : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Movie(): base() protected Movie()
{ {
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
MovieMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MovieMetadata>(); MovieMetadata = new HashSet<MovieMetadata>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
this.MovieMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MovieMetadata>(); this.MovieMetadata = new HashSet<MovieMetadata>();
Init(); Init();
} }
@ -75,9 +58,11 @@ namespace Jellyfin.Data.Entities
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; } [ForeignKey("Release_Releases_Id")]
public virtual ICollection<Release> Releases { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.MovieMetadata> MovieMetadata { get; protected set; } [ForeignKey("MovieMetadata_MovieMetadata_Id")]
public virtual ICollection<MovieMetadata> MovieMetadata { get; protected set; }
} }
} }

View File

@ -1,36 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class MovieMetadata: global::Jellyfin.Data.Entities.Metadata public partial class MovieMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected MovieMetadata(): base() protected MovieMetadata()
{ {
Studios = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); Studios = new HashSet<Company>();
Init(); Init();
} }
@ -49,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_movie0"></param> /// <param name="_movie0"></param>
public MovieMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Movie _movie0) public MovieMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Movie _movie0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -60,7 +44,7 @@ namespace Jellyfin.Data.Entities
if (_movie0 == null) throw new ArgumentNullException(nameof(_movie0)); if (_movie0 == null) throw new ArgumentNullException(nameof(_movie0));
_movie0.MovieMetadata.Add(this); _movie0.MovieMetadata.Add(this);
this.Studios = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); this.Studios = new HashSet<Company>();
Init(); Init();
} }
@ -71,7 +55,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_movie0"></param> /// <param name="_movie0"></param>
public static MovieMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Movie _movie0) public static MovieMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Movie _movie0)
{ {
return new MovieMetadata(title, language, dateadded, datemodified, _movie0); return new MovieMetadata(title, language, dateadded, datemodified, _movie0);
} }
@ -231,8 +215,8 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("Company_Studios_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.Company> Studios { get; protected set; } public virtual ICollection<Company> Studios { get; protected set; }
} }
} }

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class MusicAlbum: global::Jellyfin.Data.Entities.LibraryItem public partial class MusicAlbum : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected MusicAlbum(): base() protected MusicAlbum()
{ {
MusicAlbumMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MusicAlbumMetadata>(); MusicAlbumMetadata = new HashSet<MusicAlbumMetadata>();
Tracks = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Track>(); Tracks = new HashSet<Track>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.MusicAlbumMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MusicAlbumMetadata>(); this.MusicAlbumMetadata = new HashSet<MusicAlbumMetadata>();
this.Tracks = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Track>(); this.Tracks = new HashSet<Track>();
Init(); Init();
} }
@ -74,10 +57,11 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("MusicAlbumMetadata_MusicAlbumMetadata_Id")]
public virtual ICollection<MusicAlbumMetadata> MusicAlbumMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.MusicAlbumMetadata> MusicAlbumMetadata { get; protected set; } [ForeignKey("Track_Tracks_Id")]
public virtual ICollection<Track> Tracks { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Track> Tracks { get; protected set; }
} }
} }

View File

@ -1,36 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class MusicAlbumMetadata: global::Jellyfin.Data.Entities.Metadata public partial class MusicAlbumMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected MusicAlbumMetadata(): base() protected MusicAlbumMetadata()
{ {
Labels = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); Labels = new HashSet<Company>();
Init(); Init();
} }
@ -49,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_musicalbum0"></param> /// <param name="_musicalbum0"></param>
public MusicAlbumMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.MusicAlbum _musicalbum0) public MusicAlbumMetadata(string title, string language, DateTime dateadded, DateTime datemodified, MusicAlbum _musicalbum0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -60,7 +44,7 @@ namespace Jellyfin.Data.Entities
if (_musicalbum0 == null) throw new ArgumentNullException(nameof(_musicalbum0)); if (_musicalbum0 == null) throw new ArgumentNullException(nameof(_musicalbum0));
_musicalbum0.MusicAlbumMetadata.Add(this); _musicalbum0.MusicAlbumMetadata.Add(this);
this.Labels = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); this.Labels = new HashSet<Company>();
Init(); Init();
} }
@ -71,7 +55,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_musicalbum0"></param> /// <param name="_musicalbum0"></param>
public static MusicAlbumMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.MusicAlbum _musicalbum0) public static MusicAlbumMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, MusicAlbum _musicalbum0)
{ {
return new MusicAlbumMetadata(title, language, dateadded, datemodified, _musicalbum0); return new MusicAlbumMetadata(title, language, dateadded, datemodified, _musicalbum0);
} }
@ -195,7 +179,8 @@ namespace Jellyfin.Data.Entities
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.Company> Labels { get; protected set; } [ForeignKey("Company_Labels_Id")]
public virtual ICollection<Company> Labels { get; protected set; }
} }
} }

View File

@ -1,22 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
@ -48,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public Permission(global::Jellyfin.Data.Enums.PermissionKind kind, bool value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public Permission(Enums.PermissionKind kind, bool value, User _user0, Group _group1)
{ {
this.Kind = kind; this.Kind = kind;
@ -71,7 +56,7 @@ namespace Jellyfin.Data.Entities
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public static Permission Create(global::Jellyfin.Data.Enums.PermissionKind kind, bool value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public static Permission Create(Enums.PermissionKind kind, bool value, User _user0, Group _group1)
{ {
return new Permission(kind, value, _user0, _group1); return new Permission(kind, value, _user0, _group1);
} }
@ -85,36 +70,37 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; } public int Id { get; protected set; }
/// <summary> /// <summary>
/// Backing field for Kind /// Backing field for Kind
/// </summary> /// </summary>
protected global::Jellyfin.Data.Enums.PermissionKind _Kind; protected Enums.PermissionKind _Kind;
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before setting. /// When provided in a partial class, allows value of Kind to be changed before setting.
/// </summary> /// </summary>
partial void SetKind(global::Jellyfin.Data.Enums.PermissionKind oldValue, ref global::Jellyfin.Data.Enums.PermissionKind newValue); partial void SetKind(Enums.PermissionKind oldValue, ref Enums.PermissionKind newValue);
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Kind to be changed before returning. /// When provided in a partial class, allows value of Kind to be changed before returning.
/// </summary> /// </summary>
partial void GetKind(ref global::Jellyfin.Data.Enums.PermissionKind result); partial void GetKind(ref Enums.PermissionKind result);
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
[Required] [Required]
public global::Jellyfin.Data.Enums.PermissionKind Kind public Enums.PermissionKind Kind
{ {
get get
{ {
global::Jellyfin.Data.Enums.PermissionKind value = _Kind; Enums.PermissionKind value = _Kind;
GetKind(ref value); GetKind(ref value);
return (_Kind = value); return (_Kind = value);
} }
set set
{ {
global::Jellyfin.Data.Enums.PermissionKind oldValue = _Kind; Enums.PermissionKind oldValue = _Kind;
SetKind(oldValue, ref value); SetKind(oldValue, ref value);
if (oldValue != value) if (oldValue != value)
{ {
@ -131,10 +117,16 @@ namespace Jellyfin.Data.Entities
public bool Value { get; set; } public bool Value { get; set; }
/// <summary> /// <summary>
/// Concurrency token /// Required, ConcurrenyToken
/// </summary> /// </summary>
[Timestamp] [ConcurrencyCheck]
public Byte[] Timestamp { get; set; } [Required]
public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,40 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums
{
public enum PermissionKind : Int32
{
IsAdministrator,
IsHidden,
IsDisabled,
BlockUnrateditems,
EnbleSharedDeviceControl,
EnableRemoteAccess,
EnableLiveTvManagement,
EnableLiveTvAccess,
EnableMediaPlayback,
EnableAudioPlaybackTranscoding,
EnableVideoPlaybackTranscoding,
EnableContentDeletion,
EnableContentDownloading,
EnableSyncTranscoding,
EnableMediaConversion,
EnableAllDevices,
EnableAllChannels,
EnableAllFolders,
EnablePublicSharing,
AccessSchedules
}
}

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,7 +14,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected Person() protected Person()
{ {
Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -55,7 +39,7 @@ namespace Jellyfin.Data.Entities
if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name)); if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name));
this.Name = name; this.Name = name;
this.Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); this.Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -92,6 +76,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -295,17 +280,22 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("MetadataProviderId_Sources_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.MetadataProviderId> Sources { get; protected set; } public virtual ICollection<MetadataProviderId> Sources { get; protected set; }
} }
} }

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -33,7 +17,7 @@ namespace Jellyfin.Data.Entities
// NOTE: This class has one-to-one associations with PersonRole. // NOTE: This class has one-to-one associations with PersonRole.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -51,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="type"></param> /// <param name="type"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public PersonRole(global::Jellyfin.Data.Enums.PersonRoleType type, global::Jellyfin.Data.Entities.Metadata _metadata0) public PersonRole(Enums.PersonRoleType type, Metadata _metadata0)
{ {
// NOTE: This class has one-to-one associations with PersonRole. // NOTE: This class has one-to-one associations with PersonRole.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -61,7 +45,7 @@ namespace Jellyfin.Data.Entities
if (_metadata0 == null) throw new ArgumentNullException(nameof(_metadata0)); if (_metadata0 == null) throw new ArgumentNullException(nameof(_metadata0));
_metadata0.PersonRoles.Add(this); _metadata0.PersonRoles.Add(this);
this.Sources = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MetadataProviderId>(); this.Sources = new HashSet<MetadataProviderId>();
Init(); Init();
} }
@ -71,7 +55,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="type"></param> /// <param name="type"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public static PersonRole Create(global::Jellyfin.Data.Enums.PersonRoleType type, global::Jellyfin.Data.Entities.Metadata _metadata0) public static PersonRole Create(Enums.PersonRoleType type, Metadata _metadata0)
{ {
return new PersonRole(type, _metadata0); return new PersonRole(type, _metadata0);
} }
@ -98,6 +82,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -157,31 +142,31 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Backing field for Type /// Backing field for Type
/// </summary> /// </summary>
protected global::Jellyfin.Data.Enums.PersonRoleType _Type; protected Enums.PersonRoleType _Type;
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Type to be changed before setting. /// When provided in a partial class, allows value of Type to be changed before setting.
/// </summary> /// </summary>
partial void SetType(global::Jellyfin.Data.Enums.PersonRoleType oldValue, ref global::Jellyfin.Data.Enums.PersonRoleType newValue); partial void SetType(Enums.PersonRoleType oldValue, ref Enums.PersonRoleType newValue);
/// <summary> /// <summary>
/// When provided in a partial class, allows value of Type to be changed before returning. /// When provided in a partial class, allows value of Type to be changed before returning.
/// </summary> /// </summary>
partial void GetType(ref global::Jellyfin.Data.Enums.PersonRoleType result); partial void GetType(ref Enums.PersonRoleType result);
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
[Required] [Required]
public global::Jellyfin.Data.Enums.PersonRoleType Type public Enums.PersonRoleType Type
{ {
get get
{ {
global::Jellyfin.Data.Enums.PersonRoleType value = _Type; Enums.PersonRoleType value = _Type;
GetType(ref value); GetType(ref value);
return (_Type = value); return (_Type = value);
} }
set set
{ {
global::Jellyfin.Data.Enums.PersonRoleType oldValue = _Type; Enums.PersonRoleType oldValue = _Type;
SetType(oldValue, ref value); SetType(oldValue, ref value);
if (oldValue != value) if (oldValue != value)
{ {
@ -191,11 +176,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -204,11 +194,15 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.Person Person { get; set; } [ForeignKey("Person_Id")]
public virtual global::Jellyfin.Data.Entities.Artwork Artwork { get; set; } public virtual Person Person { get; set; }
public virtual ICollection<global::Jellyfin.Data.Entities.MetadataProviderId> Sources { get; protected set; } [ForeignKey("Artwork_Artwork_Id")]
public virtual Artwork Artwork { get; set; }
[ForeignKey("MetadataProviderId_Sources_Id")]
public virtual ICollection<MetadataProviderId> Sources { get; protected set; }
} }
} }

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Photo: global::Jellyfin.Data.Entities.LibraryItem public partial class Photo : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Photo(): base() protected Photo()
{ {
PhotoMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.PhotoMetadata>(); PhotoMetadata = new HashSet<PhotoMetadata>();
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.PhotoMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.PhotoMetadata>(); this.PhotoMetadata = new HashSet<PhotoMetadata>();
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
Init(); Init();
} }
@ -74,10 +57,11 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("PhotoMetadata_PhotoMetadata_Id")]
public virtual ICollection<PhotoMetadata> PhotoMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.PhotoMetadata> PhotoMetadata { get; protected set; } [ForeignKey("Release_Releases_Id")]
public virtual ICollection<Release> Releases { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; }
} }
} }

View File

@ -1,34 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class PhotoMetadata: global::Jellyfin.Data.Entities.Metadata public partial class PhotoMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected PhotoMetadata(): base() protected PhotoMetadata()
{ {
Init(); Init();
} }
@ -47,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_photo0"></param> /// <param name="_photo0"></param>
public PhotoMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Photo _photo0) public PhotoMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Photo _photo0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +50,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_photo0"></param> /// <param name="_photo0"></param>
public static PhotoMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Photo _photo0) public static PhotoMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Photo _photo0)
{ {
return new PhotoMetadata(title, language, dateadded, datemodified, _photo0); return new PhotoMetadata(title, language, dateadded, datemodified, _photo0);
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -48,7 +31,7 @@ namespace Jellyfin.Data.Entities
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public Preference(global::Jellyfin.Data.Enums.PreferenceKind kind, string value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public Preference(Enums.PreferenceKind kind, string value, User _user0, Group _group1)
{ {
this.Kind = kind; this.Kind = kind;
@ -72,7 +55,7 @@ namespace Jellyfin.Data.Entities
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public static Preference Create(global::Jellyfin.Data.Enums.PreferenceKind kind, string value, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public static Preference Create(Enums.PreferenceKind kind, string value, User _user0, Group _group1)
{ {
return new Preference(kind, value, _user0, _group1); return new Preference(kind, value, _user0, _group1);
} }
@ -86,13 +69,14 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; } public int Id { get; protected set; }
/// <summary> /// <summary>
/// Required /// Required
/// </summary> /// </summary>
[Required] [Required]
public global::Jellyfin.Data.Enums.PreferenceKind Kind { get; set; } public Enums.PreferenceKind Kind { get; set; }
/// <summary> /// <summary>
/// Required, Max length = 65535 /// Required, Max length = 65535
@ -103,10 +87,16 @@ namespace Jellyfin.Data.Entities
public string Value { get; set; } public string Value { get; set; }
/// <summary> /// <summary>
/// Concurrency token /// Required, ConcurrenyToken
/// </summary> /// </summary>
[Timestamp] [ConcurrencyCheck]
public Byte[] Timestamp { get; set; } [Required]
public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,27 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums
{
public enum PreferenceKind : Int32
{
MaxParentalRating,
BlockedTags,
RemoteClientBitrateLimit,
EnabledDevices,
EnabledChannels,
EnabledFolders,
EnableContentDeletionFromFolders
}
}

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -49,7 +32,7 @@ namespace Jellyfin.Data.Entities
/// <param name="providerdata"></param> /// <param name="providerdata"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public ProviderMapping(string providername, string providersecrets, string providerdata, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public ProviderMapping(string providername, string providersecrets, string providerdata, User _user0, Group _group1)
{ {
if (string.IsNullOrEmpty(providername)) throw new ArgumentNullException(nameof(providername)); if (string.IsNullOrEmpty(providername)) throw new ArgumentNullException(nameof(providername));
this.ProviderName = providername; this.ProviderName = providername;
@ -78,7 +61,7 @@ namespace Jellyfin.Data.Entities
/// <param name="providerdata"></param> /// <param name="providerdata"></param>
/// <param name="_user0"></param> /// <param name="_user0"></param>
/// <param name="_group1"></param> /// <param name="_group1"></param>
public static ProviderMapping Create(string providername, string providersecrets, string providerdata, global::Jellyfin.Data.Entities.User _user0, global::Jellyfin.Data.Entities.Group _group1) public static ProviderMapping Create(string providername, string providersecrets, string providerdata, User _user0, Group _group1)
{ {
return new ProviderMapping(providername, providersecrets, providerdata, _user0, _group1); return new ProviderMapping(providername, providersecrets, providerdata, _user0, _group1);
} }
@ -92,6 +75,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; } public int Id { get; protected set; }
/// <summary> /// <summary>
@ -119,10 +103,16 @@ namespace Jellyfin.Data.Entities
public string ProviderData { get; set; } public string ProviderData { get; set; }
/// <summary> /// <summary>
/// Concurrency token /// Required, ConcurrenyToken
/// </summary> /// </summary>
[Timestamp] [ConcurrencyCheck]
public Byte[] Timestamp { get; set; } [Required]
public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -46,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public Rating(double value, global::Jellyfin.Data.Entities.Metadata _metadata0) public Rating(double value, Metadata _metadata0)
{ {
this.Value = value; this.Value = value;
@ -62,7 +45,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="value"></param> /// <param name="value"></param>
/// <param name="_metadata0"></param> /// <param name="_metadata0"></param>
public static Rating Create(double value, global::Jellyfin.Data.Entities.Metadata _metadata0) public static Rating Create(double value, Metadata _metadata0)
{ {
return new Rating(value, _metadata0); return new Rating(value, _metadata0);
} }
@ -89,6 +72,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -177,11 +161,16 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
@ -190,7 +179,8 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// If this is NULL it&apos;s the internal user rating. /// If this is NULL it&apos;s the internal user rating.
/// </summary> /// </summary>
public virtual global::Jellyfin.Data.Entities.RatingSource RatingType { get; set; } [ForeignKey("RatingSource_RatingType_Id")]
public virtual RatingSource RatingType { get; set; }
} }
} }

View File

@ -1,23 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -50,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="maximumvalue"></param> /// <param name="maximumvalue"></param>
/// <param name="minimumvalue"></param> /// <param name="minimumvalue"></param>
/// <param name="_rating0"></param> /// <param name="_rating0"></param>
public RatingSource(double maximumvalue, double minimumvalue, global::Jellyfin.Data.Entities.Rating _rating0) public RatingSource(double maximumvalue, double minimumvalue, Rating _rating0)
{ {
this.MaximumValue = maximumvalue; this.MaximumValue = maximumvalue;
@ -69,7 +52,7 @@ namespace Jellyfin.Data.Entities
/// <param name="maximumvalue"></param> /// <param name="maximumvalue"></param>
/// <param name="minimumvalue"></param> /// <param name="minimumvalue"></param>
/// <param name="_rating0"></param> /// <param name="_rating0"></param>
public static RatingSource Create(double maximumvalue, double minimumvalue, global::Jellyfin.Data.Entities.Rating _rating0) public static RatingSource Create(double maximumvalue, double minimumvalue, Rating _rating0)
{ {
return new RatingSource(maximumvalue, minimumvalue, _rating0); return new RatingSource(maximumvalue, minimumvalue, _rating0);
} }
@ -96,6 +79,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -225,17 +209,22 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("MetadataProviderId_Source_Id")]
public virtual global::Jellyfin.Data.Entities.MetadataProviderId Source { get; set; } public virtual MetadataProviderId Source { get; set; }
} }
} }

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,8 +14,8 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected Release() protected Release()
{ {
MediaFiles = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MediaFile>(); MediaFiles = new HashSet<MediaFile>();
Chapters = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Chapter>(); Chapters = new HashSet<Chapter>();
Init(); Init();
} }
@ -54,7 +38,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_customitem3"></param> /// <param name="_customitem3"></param>
/// <param name="_book4"></param> /// <param name="_book4"></param>
/// <param name="_photo5"></param> /// <param name="_photo5"></param>
public Release(string name, global::Jellyfin.Data.Entities.Movie _movie0, global::Jellyfin.Data.Entities.Episode _episode1, global::Jellyfin.Data.Entities.Track _track2, global::Jellyfin.Data.Entities.CustomItem _customitem3, global::Jellyfin.Data.Entities.Book _book4, global::Jellyfin.Data.Entities.Photo _photo5) public Release(string name, Movie _movie0, Episode _episode1, Track _track2, CustomItem _customitem3, Book _book4, Photo _photo5)
{ {
if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name)); if (string.IsNullOrEmpty(name)) throw new ArgumentNullException(nameof(name));
this.Name = name; this.Name = name;
@ -77,8 +61,8 @@ namespace Jellyfin.Data.Entities
if (_photo5 == null) throw new ArgumentNullException(nameof(_photo5)); if (_photo5 == null) throw new ArgumentNullException(nameof(_photo5));
_photo5.Releases.Add(this); _photo5.Releases.Add(this);
this.MediaFiles = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.MediaFile>(); this.MediaFiles = new HashSet<MediaFile>();
this.Chapters = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Chapter>(); this.Chapters = new HashSet<Chapter>();
Init(); Init();
} }
@ -93,7 +77,7 @@ namespace Jellyfin.Data.Entities
/// <param name="_customitem3"></param> /// <param name="_customitem3"></param>
/// <param name="_book4"></param> /// <param name="_book4"></param>
/// <param name="_photo5"></param> /// <param name="_photo5"></param>
public static Release Create(string name, global::Jellyfin.Data.Entities.Movie _movie0, global::Jellyfin.Data.Entities.Episode _episode1, global::Jellyfin.Data.Entities.Track _track2, global::Jellyfin.Data.Entities.CustomItem _customitem3, global::Jellyfin.Data.Entities.Book _book4, global::Jellyfin.Data.Entities.Photo _photo5) public static Release Create(string name, Movie _movie0, Episode _episode1, Track _track2, CustomItem _customitem3, Book _book4, Photo _photo5)
{ {
return new Release(name, _movie0, _episode1, _track2, _customitem3, _book4, _photo5); return new Release(name, _movie0, _episode1, _track2, _customitem3, _book4, _photo5);
} }
@ -120,6 +104,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id public int Id
{ {
get get
@ -178,19 +163,25 @@ namespace Jellyfin.Data.Entities
} }
/// <summary> /// <summary>
/// Required /// Required, ConcurrenyToken
/// </summary> /// </summary>
[ConcurrencyCheck] [ConcurrencyCheck]
[Required] [Required]
public byte[] Timestamp { get; set; } public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("MediaFile_MediaFiles_Id")]
public virtual ICollection<MediaFile> MediaFiles { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.MediaFile> MediaFiles { get; protected set; } [ForeignKey("Chapter_Chapters_Id")]
public virtual ICollection<Chapter> Chapters { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Chapter> Chapters { get; protected set; }
} }
} }

View File

@ -1,40 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Season: global::Jellyfin.Data.Entities.LibraryItem public partial class Season : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Season(): base() protected Season()
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
SeasonMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.SeasonMetadata>(); SeasonMetadata = new HashSet<SeasonMetadata>();
Episodes = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Episode>(); Episodes = new HashSet<Episode>();
Init(); Init();
} }
@ -52,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_series0"></param> /// <param name="_series0"></param>
public Season(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.Series _series0) public Season(Guid urlid, DateTime dateadded, Series _series0)
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -62,8 +45,8 @@ namespace Jellyfin.Data.Entities
if (_series0 == null) throw new ArgumentNullException(nameof(_series0)); if (_series0 == null) throw new ArgumentNullException(nameof(_series0));
_series0.Seasons.Add(this); _series0.Seasons.Add(this);
this.SeasonMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.SeasonMetadata>(); this.SeasonMetadata = new HashSet<SeasonMetadata>();
this.Episodes = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Episode>(); this.Episodes = new HashSet<Episode>();
Init(); Init();
} }
@ -73,7 +56,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_series0"></param> /// <param name="_series0"></param>
public static Season Create(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.Series _series0) public static Season Create(Guid urlid, DateTime dateadded, Series _series0)
{ {
return new Season(urlid, dateadded, _series0); return new Season(urlid, dateadded, _series0);
} }
@ -117,10 +100,11 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("SeasonMetadata_SeasonMetadata_Id")]
public virtual ICollection<SeasonMetadata> SeasonMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.SeasonMetadata> SeasonMetadata { get; protected set; } [ForeignKey("Episode_Episodes_Id")]
public virtual ICollection<Episode> Episodes { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Episode> Episodes { get; protected set; }
} }
} }

View File

@ -1,34 +1,17 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class SeasonMetadata: global::Jellyfin.Data.Entities.Metadata public partial class SeasonMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected SeasonMetadata(): base() protected SeasonMetadata()
{ {
Init(); Init();
} }
@ -47,7 +30,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_season0"></param> /// <param name="_season0"></param>
public SeasonMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Season _season0) public SeasonMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Season _season0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +51,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_season0"></param> /// <param name="_season0"></param>
public static SeasonMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Season _season0) public static SeasonMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Season _season0)
{ {
return new SeasonMetadata(title, language, dateadded, datemodified, _season0); return new SeasonMetadata(title, language, dateadded, datemodified, _season0);
} }

View File

@ -1,37 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Series: global::Jellyfin.Data.Entities.LibraryItem public partial class Series : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Series(): base() protected Series()
{ {
SeriesMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.SeriesMetadata>(); SeriesMetadata = new HashSet<SeriesMetadata>();
Seasons = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Season>(); Seasons = new HashSet<Season>();
Init(); Init();
} }
@ -52,8 +35,8 @@ namespace Jellyfin.Data.Entities
{ {
this.UrlId = urlid; this.UrlId = urlid;
this.SeriesMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.SeriesMetadata>(); this.SeriesMetadata = new HashSet<SeriesMetadata>();
this.Seasons = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Season>(); this.Seasons = new HashSet<Season>();
Init(); Init();
} }
@ -74,27 +57,27 @@ namespace Jellyfin.Data.Entities
/// <summary> /// <summary>
/// Backing field for AirsDayOfWeek /// Backing field for AirsDayOfWeek
/// </summary> /// </summary>
protected global::Jellyfin.Data.Enums.Weekday? _AirsDayOfWeek; protected Enums.Weekday? _AirsDayOfWeek;
/// <summary> /// <summary>
/// When provided in a partial class, allows value of AirsDayOfWeek to be changed before setting. /// When provided in a partial class, allows value of AirsDayOfWeek to be changed before setting.
/// </summary> /// </summary>
partial void SetAirsDayOfWeek(global::Jellyfin.Data.Enums.Weekday? oldValue, ref global::Jellyfin.Data.Enums.Weekday? newValue); partial void SetAirsDayOfWeek(Enums.Weekday? oldValue, ref Enums.Weekday? newValue);
/// <summary> /// <summary>
/// When provided in a partial class, allows value of AirsDayOfWeek to be changed before returning. /// When provided in a partial class, allows value of AirsDayOfWeek to be changed before returning.
/// </summary> /// </summary>
partial void GetAirsDayOfWeek(ref global::Jellyfin.Data.Enums.Weekday? result); partial void GetAirsDayOfWeek(ref Enums.Weekday? result);
public global::Jellyfin.Data.Enums.Weekday? AirsDayOfWeek public Enums.Weekday? AirsDayOfWeek
{ {
get get
{ {
global::Jellyfin.Data.Enums.Weekday? value = _AirsDayOfWeek; Enums.Weekday? value = _AirsDayOfWeek;
GetAirsDayOfWeek(ref value); GetAirsDayOfWeek(ref value);
return (_AirsDayOfWeek = value); return (_AirsDayOfWeek = value);
} }
set set
{ {
global::Jellyfin.Data.Enums.Weekday? oldValue = _AirsDayOfWeek; Enums.Weekday? oldValue = _AirsDayOfWeek;
SetAirsDayOfWeek(oldValue, ref value); SetAirsDayOfWeek(oldValue, ref value);
if (oldValue != value) if (oldValue != value)
{ {
@ -173,10 +156,11 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("SeriesMetadata_SeriesMetadata_Id")]
public virtual ICollection<SeriesMetadata> SeriesMetadata { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.SeriesMetadata> SeriesMetadata { get; protected set; } [ForeignKey("Season_Seasons_Id")]
public virtual ICollection<Season> Seasons { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Season> Seasons { get; protected set; }
} }
} }

View File

@ -1,36 +1,20 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class SeriesMetadata: global::Jellyfin.Data.Entities.Metadata public partial class SeriesMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected SeriesMetadata(): base() protected SeriesMetadata()
{ {
Networks = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); Networks = new HashSet<Company>();
Init(); Init();
} }
@ -49,7 +33,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_series0"></param> /// <param name="_series0"></param>
public SeriesMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Series _series0) public SeriesMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Series _series0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -60,7 +44,7 @@ namespace Jellyfin.Data.Entities
if (_series0 == null) throw new ArgumentNullException(nameof(_series0)); if (_series0 == null) throw new ArgumentNullException(nameof(_series0));
_series0.SeriesMetadata.Add(this); _series0.SeriesMetadata.Add(this);
this.Networks = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Company>(); this.Networks = new HashSet<Company>();
Init(); Init();
} }
@ -71,7 +55,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_series0"></param> /// <param name="_series0"></param>
public static SeriesMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Series _series0) public static SeriesMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Series _series0)
{ {
return new SeriesMetadata(title, language, dateadded, datemodified, _series0); return new SeriesMetadata(title, language, dateadded, datemodified, _series0);
} }
@ -231,8 +215,8 @@ namespace Jellyfin.Data.Entities
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("Company_Networks_Id")]
public virtual ICollection<global::Jellyfin.Data.Entities.Company> Networks { get; protected set; } public virtual ICollection<Company> Networks { get; protected set; }
} }
} }

View File

@ -1,40 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class Track: global::Jellyfin.Data.Entities.LibraryItem public partial class Track : LibraryItem
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected Track(): base() protected Track()
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); Releases = new HashSet<Release>();
TrackMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.TrackMetadata>(); TrackMetadata = new HashSet<TrackMetadata>();
Init(); Init();
} }
@ -52,7 +35,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_musicalbum0"></param> /// <param name="_musicalbum0"></param>
public Track(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.MusicAlbum _musicalbum0) public Track(Guid urlid, DateTime dateadded, MusicAlbum _musicalbum0)
{ {
// NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem. // NOTE: This class has one-to-one associations with LibraryRoot, LibraryItem and CollectionItem.
// One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other. // One-to-one associations are not validated in constructors since this causes a scenario where each one must be constructed before the other.
@ -62,8 +45,8 @@ namespace Jellyfin.Data.Entities
if (_musicalbum0 == null) throw new ArgumentNullException(nameof(_musicalbum0)); if (_musicalbum0 == null) throw new ArgumentNullException(nameof(_musicalbum0));
_musicalbum0.Tracks.Add(this); _musicalbum0.Tracks.Add(this);
this.Releases = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Release>(); this.Releases = new HashSet<Release>();
this.TrackMetadata = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.TrackMetadata>(); this.TrackMetadata = new HashSet<TrackMetadata>();
Init(); Init();
} }
@ -73,7 +56,7 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
/// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param> /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
/// <param name="_musicalbum0"></param> /// <param name="_musicalbum0"></param>
public static Track Create(Guid urlid, DateTime dateadded, global::Jellyfin.Data.Entities.MusicAlbum _musicalbum0) public static Track Create(Guid urlid, DateTime dateadded, MusicAlbum _musicalbum0)
{ {
return new Track(urlid, dateadded, _musicalbum0); return new Track(urlid, dateadded, _musicalbum0);
} }
@ -118,9 +101,11 @@ namespace Jellyfin.Data.Entities
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
public virtual ICollection<global::Jellyfin.Data.Entities.Release> Releases { get; protected set; } [ForeignKey("Release_Releases_Id")]
public virtual ICollection<Release> Releases { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.TrackMetadata> TrackMetadata { get; protected set; } [ForeignKey("TrackMetadata_TrackMetadata_Id")]
public virtual ICollection<TrackMetadata> TrackMetadata { get; protected set; }
} }
} }

View File

@ -1,34 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
public partial class TrackMetadata: global::Jellyfin.Data.Entities.Metadata public partial class TrackMetadata : Metadata
{ {
partial void Init(); partial void Init();
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
protected TrackMetadata(): base() protected TrackMetadata()
{ {
Init(); Init();
} }
@ -47,7 +29,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_track0"></param> /// <param name="_track0"></param>
public TrackMetadata(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Track _track0) public TrackMetadata(string title, string language, DateTime dateadded, DateTime datemodified, Track _track0)
{ {
if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title)); if (string.IsNullOrEmpty(title)) throw new ArgumentNullException(nameof(title));
this.Title = title; this.Title = title;
@ -68,7 +50,7 @@ namespace Jellyfin.Data.Entities
/// <param name="title">The title or name of the object</param> /// <param name="title">The title or name of the object</param>
/// <param name="language">ISO-639-3 3-character language codes</param> /// <param name="language">ISO-639-3 3-character language codes</param>
/// <param name="_track0"></param> /// <param name="_track0"></param>
public static TrackMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, global::Jellyfin.Data.Entities.Track _track0) public static TrackMetadata Create(string title, string language, DateTime dateadded, DateTime datemodified, Track _track0)
{ {
return new TrackMetadata(title, language, dateadded, datemodified, _track0); return new TrackMetadata(title, language, dateadded, datemodified, _track0);
} }

View File

@ -1,23 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.CompilerServices;
namespace Jellyfin.Data.Entities namespace Jellyfin.Data.Entities
{ {
@ -30,10 +14,10 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
protected User() protected User()
{ {
Groups = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Group>(); Groups = new HashSet<Group>();
Permissions = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Permission>(); Permissions = new HashSet<Permission>();
ProviderMappings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.ProviderMapping>(); ProviderMappings = new HashSet<ProviderMapping>();
Preferences = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Preference>(); Preferences = new HashSet<Preference>();
Init(); Init();
} }
@ -76,10 +60,10 @@ namespace Jellyfin.Data.Entities
this.PlayDefaultAudioTrack = playdefaultaudiotrack; this.PlayDefaultAudioTrack = playdefaultaudiotrack;
this.Groups = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Group>(); this.Groups = new HashSet<Group>();
this.Permissions = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Permission>(); this.Permissions = new HashSet<Permission>();
this.ProviderMappings = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.ProviderMapping>(); this.ProviderMappings = new HashSet<ProviderMapping>();
this.Preferences = new System.Collections.Generic.HashSet<global::Jellyfin.Data.Entities.Preference>(); this.Preferences = new HashSet<Preference>();
Init(); Init();
} }
@ -108,14 +92,8 @@ namespace Jellyfin.Data.Entities
/// </summary> /// </summary>
[Key] [Key]
[Required] [Required]
public Guid Id { get; protected set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; protected set; }
/// <summary>
/// Required
/// </summary>
[ConcurrencyCheck]
[Required]
public byte[] LastLoginTimestamp { get; set; }
/// <summary> /// <summary>
/// Required, Max length = 255 /// Required, Max length = 255
@ -225,17 +203,32 @@ namespace Jellyfin.Data.Entities
public bool? EnableUserPreferenceAccess { get; set; } public bool? EnableUserPreferenceAccess { get; set; }
/// <summary>
/// Required, ConcurrenyToken
/// </summary>
[ConcurrencyCheck]
[Required]
public uint RowVersion { get; set; }
public void OnSavingChanges()
{
RowVersion++;
}
/************************************************************************* /*************************************************************************
* Navigation properties * Navigation properties
*************************************************************************/ *************************************************************************/
[ForeignKey("Group_Groups_Id")]
public virtual ICollection<Group> Groups { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Group> Groups { get; protected set; } [ForeignKey("Permission_Permissions_Id")]
public virtual ICollection<Permission> Permissions { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Permission> Permissions { get; protected set; } [ForeignKey("ProviderMapping_ProviderMappings_Id")]
public virtual ICollection<ProviderMapping> ProviderMappings { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.ProviderMapping> ProviderMappings { get; protected set; } [ForeignKey("Preference_Preferences_Id")]
public virtual ICollection<Preference> Preferences { get; protected set; }
public virtual ICollection<global::Jellyfin.Data.Entities.Preference> Preferences { get; protected set; }
} }
} }

View File

@ -1,20 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums namespace Jellyfin.Data.Enums
{ {
public enum ArtKind : Int32 public enum ArtKind
{ {
Other, Other,
Poster, Poster,

View File

@ -1,20 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums namespace Jellyfin.Data.Enums
{ {
public enum MediaFileKind : Int32 public enum MediaFileKind
{ {
Main, Main,
Sidecar, Sidecar,

View File

@ -0,0 +1,26 @@
namespace Jellyfin.Data.Enums
{
public enum PermissionKind
{
IsAdministrator,
IsHidden,
IsDisabled,
BlockUnrateditems,
EnbleSharedDeviceControl,
EnableRemoteAccess,
EnableLiveTvManagement,
EnableLiveTvAccess,
EnableMediaPlayback,
EnableAudioPlaybackTranscoding,
EnableVideoPlaybackTranscoding,
EnableContentDeletion,
EnableContentDownloading,
EnableSyncTranscoding,
EnableMediaConversion,
EnableAllDevices,
EnableAllChannels,
EnableAllFolders,
EnablePublicSharing,
AccessSchedules
}
}

View File

@ -1,20 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums namespace Jellyfin.Data.Enums
{ {
public enum PersonRoleType : Int32 public enum PersonRoleType
{ {
Other, Other,
Director, Director,

View File

@ -0,0 +1,13 @@
namespace Jellyfin.Data.Enums
{
public enum PreferenceKind
{
MaxParentalRating,
BlockedTags,
RemoteClientBitrateLimit,
EnabledDevices,
EnabledChannels,
EnabledFolders,
EnableContentDeletionFromFolders
}
}

View File

@ -1,20 +1,6 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
//
// Produced by Entity Framework Visual Editor
// https://github.com/msawczyn/EFDesigner
// </auto-generated>
//------------------------------------------------------------------------------
using System;
namespace Jellyfin.Data.Enums namespace Jellyfin.Data.Enums
{ {
public enum Weekday : Int32 public enum Weekday
{ {
Sunday, Sunday,
Monday, Monday,

View File

@ -0,0 +1,9 @@
#pragma warning disable CS1591
namespace Jellyfin.Data
{
public interface ISavingChanges
{
void OnSavingChanges();
}
}

View File

@ -0,0 +1,34 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<CodeAnalysisRuleSet>../jellyfin.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<!-- Code analysers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8" PrivateAssets="All" />
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\SharedVersion.cs" />
<Compile Remove="Migrations\20200430214405_InitialSchema.cs" />
<Compile Remove="Migrations\20200430214405_InitialSchema.Designer.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jellyfin.Data\Jellyfin.Data.csproj" />
<ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
<ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,115 @@
#pragma warning disable CS1591
#pragma warning disable SA1201 // Constuctors should not follow properties
#pragma warning disable SA1516 // Elements should be followed by a blank line
#pragma warning disable SA1623 // Property's documentation should begin with gets or sets
#pragma warning disable SA1629 // Documentation should end with a period
#pragma warning disable SA1648 // Inheritdoc should be used with inheriting class
using System.Linq;
using Jellyfin.Data;
using Jellyfin.Data.Entities;
using Microsoft.EntityFrameworkCore;
namespace Jellyfin.Server.Implementations
{
/// <inheritdoc/>
public partial class JellyfinDb : DbContext
{
/*public virtual DbSet<Artwork> Artwork { get; set; }
public virtual DbSet<Book> Books { get; set; }
public virtual DbSet<BookMetadata> BookMetadata { get; set; }
public virtual DbSet<Chapter> Chapters { get; set; }
public virtual DbSet<Collection> Collections { get; set; }
public virtual DbSet<CollectionItem> CollectionItems { get; set; }
public virtual DbSet<Company> Companies { get; set; }
public virtual DbSet<CompanyMetadata> CompanyMetadata { get; set; }
public virtual DbSet<CustomItem> CustomItems { get; set; }
public virtual DbSet<CustomItemMetadata> CustomItemMetadata { get; set; }
public virtual DbSet<Episode> Episodes { get; set; }
public virtual DbSet<EpisodeMetadata> EpisodeMetadata { get; set; }
public virtual DbSet<Genre> Genres { get; set; }
public virtual DbSet<Group> Groups { get; set; }
public virtual DbSet<Library> Libraries { get; set; }
public virtual DbSet<LibraryItem> LibraryItems { get; set; }
public virtual DbSet<LibraryRoot> LibraryRoot { get; set; }
public virtual DbSet<MediaFile> MediaFiles { get; set; }
public virtual DbSet<MediaFileStream> MediaFileStream { get; set; }
public virtual DbSet<Metadata> Metadata { get; set; }
public virtual DbSet<MetadataProvider> MetadataProviders { get; set; }
public virtual DbSet<MetadataProviderId> MetadataProviderIds { get; set; }
public virtual DbSet<Movie> Movies { get; set; }
public virtual DbSet<MovieMetadata> MovieMetadata { get; set; }
public virtual DbSet<MusicAlbum> MusicAlbums { get; set; }
public virtual DbSet<MusicAlbumMetadata> MusicAlbumMetadata { get; set; }
public virtual DbSet<Permission> Permissions { get; set; }
public virtual DbSet<Person> People { get; set; }
public virtual DbSet<PersonRole> PersonRoles { get; set; }
public virtual DbSet<Photo> Photo { get; set; }
public virtual DbSet<PhotoMetadata> PhotoMetadata { get; set; }
public virtual DbSet<Preference> Preferences { get; set; }
public virtual DbSet<ProviderMapping> ProviderMappings { get; set; }
public virtual DbSet<Rating> Ratings { get; set; }
/// <summary>
/// Repository for global::Jellyfin.Data.Entities.RatingSource - This is the entity to
/// store review ratings, not age ratings
/// </summary>
public virtual DbSet<RatingSource> RatingSources { get; set; }
public virtual DbSet<Release> Releases { get; set; }
public virtual DbSet<Season> Seasons { get; set; }
public virtual DbSet<SeasonMetadata> SeasonMetadata { get; set; }
public virtual DbSet<Series> Series { get; set; }
public virtual DbSet<SeriesMetadata> SeriesMetadata { get; set; }
public virtual DbSet<Track> Tracks { get; set; }
public virtual DbSet<TrackMetadata> TrackMetadata { get; set; }
public virtual DbSet<User> Users { get; set; } */
/// <summary>
/// Gets or sets the default connection string.
/// </summary>
public static string ConnectionString { get; set; } = @"Data Source=jellyfin.db";
/// <inheritdoc />
public JellyfinDb(DbContextOptions<JellyfinDb> options) : base(options)
{
}
partial void CustomInit(DbContextOptionsBuilder optionsBuilder);
/// <inheritdoc />
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
CustomInit(optionsBuilder);
}
partial void OnModelCreatingImpl(ModelBuilder modelBuilder);
partial void OnModelCreatedImpl(ModelBuilder modelBuilder);
/// <inheritdoc />
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
OnModelCreatingImpl(modelBuilder);
modelBuilder.HasDefaultSchema("jellyfin");
/*modelBuilder.Entity<Artwork>().HasIndex(t => t.Kind);
modelBuilder.Entity<Genre>().HasIndex(t => t.Name)
.IsUnique();
modelBuilder.Entity<LibraryItem>().HasIndex(t => t.UrlId)
.IsUnique();*/
OnModelCreatedImpl(modelBuilder);
}
public override int SaveChanges()
{
foreach (var entity in ChangeTracker.Entries().Where(e => e.State == EntityState.Modified))
{
var saveEntity = entity.Entity as ISavingChanges;
saveEntity.OnSavingChanges();
}
return base.SaveChanges();
}
}
}

View File

@ -68,6 +68,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jellyfin.Controller.Tests",
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Data", "Jellyfin.Data\Jellyfin.Data.csproj", "{F03299F2-469F-40EF-A655-3766F97A5702}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Data", "Jellyfin.Data\Jellyfin.Data.csproj", "{F03299F2-469F-40EF-A655-3766F97A5702}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Server.Implementations", "Jellyfin.Server.Implementations\Jellyfin.Server.Implementations.csproj", "{22C7DA3A-94F2-4E86-9CE6-86AB02B4F843}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MediaBrowser.Api.Tests", "tests\MediaBrowser.Api.Tests\MediaBrowser.Api.Tests.csproj", "{7C93C84F-105C-48E5-A878-406FA0A5B296}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MediaBrowser.Api.Tests", "tests\MediaBrowser.Api.Tests\MediaBrowser.Api.Tests.csproj", "{7C93C84F-105C-48E5-A878-406FA0A5B296}"
EndProject EndProject
Global Global
@ -184,6 +185,10 @@ Global
{F03299F2-469F-40EF-A655-3766F97A5702}.Debug|Any CPU.Build.0 = Debug|Any CPU {F03299F2-469F-40EF-A655-3766F97A5702}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F03299F2-469F-40EF-A655-3766F97A5702}.Release|Any CPU.ActiveCfg = Release|Any CPU {F03299F2-469F-40EF-A655-3766F97A5702}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F03299F2-469F-40EF-A655-3766F97A5702}.Release|Any CPU.Build.0 = Release|Any CPU {F03299F2-469F-40EF-A655-3766F97A5702}.Release|Any CPU.Build.0 = Release|Any CPU
{22C7DA3A-94F2-4E86-9CE6-86AB02B4F843}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22C7DA3A-94F2-4E86-9CE6-86AB02B4F843}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22C7DA3A-94F2-4E86-9CE6-86AB02B4F843}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22C7DA3A-94F2-4E86-9CE6-86AB02B4F843}.Release|Any CPU.Build.0 = Release|Any CPU
{7C93C84F-105C-48E5-A878-406FA0A5B296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7C93C84F-105C-48E5-A878-406FA0A5B296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7C93C84F-105C-48E5-A878-406FA0A5B296}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C93C84F-105C-48E5-A878-406FA0A5B296}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7C93C84F-105C-48E5-A878-406FA0A5B296}.Release|Any CPU.ActiveCfg = Release|Any CPU {7C93C84F-105C-48E5-A878-406FA0A5B296}.Release|Any CPU.ActiveCfg = Release|Any CPU