diff options
| author | JPVenson <github@jpb.email> | 2024-10-11 11:11:15 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.email> | 2024-10-11 11:11:15 +0000 |
| commit | b73985e04f76924ec91692890687461bcfdb4e11 (patch) | |
| tree | 4b309b212d86e03e9d74d9a2025a520018d7eb7f /Jellyfin.Data | |
| parent | f397fc5b98468a370fb51696df608dfbb2f14213 (diff) | |
Expanded People architecture and fixed migration
Diffstat (limited to 'Jellyfin.Data')
| -rw-r--r-- | Jellyfin.Data/Entities/BaseItemEntity.cs | 2 | ||||
| -rw-r--r-- | Jellyfin.Data/Entities/People.cs | 26 | ||||
| -rw-r--r-- | Jellyfin.Data/Entities/PeopleBaseItemMap.cs | 44 |
3 files changed, 50 insertions, 22 deletions
diff --git a/Jellyfin.Data/Entities/BaseItemEntity.cs b/Jellyfin.Data/Entities/BaseItemEntity.cs index 7670c1893..a9f9b1793 100644 --- a/Jellyfin.Data/Entities/BaseItemEntity.cs +++ b/Jellyfin.Data/Entities/BaseItemEntity.cs @@ -154,7 +154,7 @@ public class BaseItemEntity public Guid? SeriesId { get; set; } - public ICollection<People>? Peoples { get; set; } + public ICollection<PeopleBaseItemMap>? Peoples { get; set; } public ICollection<UserData>? UserData { get; set; } diff --git a/Jellyfin.Data/Entities/People.cs b/Jellyfin.Data/Entities/People.cs index 8eb23f5e4..b1834a70d 100644 --- a/Jellyfin.Data/Entities/People.cs +++ b/Jellyfin.Data/Entities/People.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; namespace Jellyfin.Data.Entities; +#pragma warning disable CA2227 // Collection properties should be read only /// <summary> /// People entity. @@ -11,14 +10,9 @@ namespace Jellyfin.Data.Entities; public class People { /// <summary> - /// Gets or Sets The ItemId. + /// Gets or Sets the PeopleId. /// </summary> - public required Guid ItemId { get; set; } - - /// <summary> - /// Gets or Sets Reference Item. - /// </summary> - public required BaseItemEntity Item { get; set; } + public required Guid Id { get; set; } /// <summary> /// Gets or Sets the Persons Name. @@ -26,22 +20,12 @@ public class People public required string Name { get; set; } /// <summary> - /// Gets or Sets the Role. - /// </summary> - public string? Role { get; set; } - - /// <summary> /// Gets or Sets the Type. /// </summary> public string? PersonType { get; set; } /// <summary> - /// Gets or Sets the SortOrder. - /// </summary> - public int? SortOrder { get; set; } - - /// <summary> - /// Gets or Sets the ListOrder. + /// Gets or Sets the mapping of People to BaseItems. /// </summary> - public int? ListOrder { get; set; } + public ICollection<PeopleBaseItemMap>? BaseItems { get; set; } } diff --git a/Jellyfin.Data/Entities/PeopleBaseItemMap.cs b/Jellyfin.Data/Entities/PeopleBaseItemMap.cs new file mode 100644 index 000000000..5ce7300b5 --- /dev/null +++ b/Jellyfin.Data/Entities/PeopleBaseItemMap.cs @@ -0,0 +1,44 @@ +using System; + +namespace Jellyfin.Data.Entities; + +/// <summary> +/// Mapping table for People to BaseItems. +/// </summary> +public class PeopleBaseItemMap +{ + /// <summary> + /// Gets or Sets the SortOrder. + /// </summary> + public int? SortOrder { get; set; } + + /// <summary> + /// Gets or Sets the ListOrder. + /// </summary> + public int? ListOrder { get; set; } + + /// <summary> + /// Gets or Sets the Role name the assosiated actor played in the <see cref="BaseItemEntity"/>. + /// </summary> + public string? Role { get; set; } + + /// <summary> + /// Gets or Sets The ItemId. + /// </summary> + public required Guid ItemId { get; set; } + + /// <summary> + /// Gets or Sets Reference Item. + /// </summary> + public required BaseItemEntity Item { get; set; } + + /// <summary> + /// Gets or Sets The PeopleId. + /// </summary> + public required Guid PeopleId { get; set; } + + /// <summary> + /// Gets or Sets Reference People. + /// </summary> + public required People People { get; set; } +} |
