mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Rename watch info to watch status
This commit is contained in:
parent
b6bb190e69
commit
4f9c06c7bd
@ -238,16 +238,16 @@ namespace Kyoo.Abstractions.Models
|
||||
|| (x.SeasonNumber == SeasonNumber && x.EpisodeNumber > EpisodeNumber)
|
||||
);
|
||||
|
||||
[SerializeIgnore] public ICollection<EpisodeWatchInfo> Watched { get; set; }
|
||||
[SerializeIgnore] public ICollection<EpisodeWatchStatus> Watched { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Metadata of what an user as started/planned to watch.
|
||||
/// </summary>
|
||||
[Projectable(UseMemberBody = nameof(_WatchInfo), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public EpisodeWatchInfo? WatchInfo { get; set; }
|
||||
[Projectable(UseMemberBody = nameof(_WatchStatus), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public EpisodeWatchStatus? WatchStatus { get; set; }
|
||||
|
||||
// There is a global query filter to filter by user so we just need to do single.
|
||||
private EpisodeWatchInfo? _WatchInfo => Watched.FirstOrDefault();
|
||||
private EpisodeWatchStatus? _WatchStatus => Watched.FirstOrDefault();
|
||||
|
||||
/// <summary>
|
||||
/// Links to watch this episode.
|
||||
|
@ -146,16 +146,16 @@ namespace Kyoo.Abstractions.Models
|
||||
Hls = $"/video/movie/{Slug}/master.m3u8",
|
||||
};
|
||||
|
||||
[SerializeIgnore] public ICollection<MovieWatchInfo> Watched { get; set; }
|
||||
[SerializeIgnore] public ICollection<MovieWatchStatus> Watched { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Metadata of what an user as started/planned to watch.
|
||||
/// </summary>
|
||||
[Projectable(UseMemberBody = nameof(_WatchInfo), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public MovieWatchInfo? WatchInfo { get; set; }
|
||||
[Projectable(UseMemberBody = nameof(_WatchStatus), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public MovieWatchStatus WatchStatus { get; set; }
|
||||
|
||||
// There is a global query filter to filter by user so we just need to do single.
|
||||
private MovieWatchInfo? _WatchInfo => Watched.FirstOrDefault();
|
||||
private MovieWatchStatus? _WatchStatus => Watched.FirstOrDefault();
|
||||
|
||||
/// <inheritdoc />
|
||||
public void OnMerge(object merged)
|
||||
|
@ -178,16 +178,16 @@ namespace Kyoo.Abstractions.Models
|
||||
.ThenBy(x => x.EpisodeNumber)
|
||||
.FirstOrDefault();
|
||||
|
||||
[SerializeIgnore] public ICollection<ShowWatchInfo> Watched { get; set; }
|
||||
[SerializeIgnore] public ICollection<ShowWatchStatus> Watched { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Metadata of what an user as started/planned to watch.
|
||||
/// </summary>
|
||||
[Projectable(UseMemberBody = nameof(_WatchInfo), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public ShowWatchInfo? WatchInfo { get; set; }
|
||||
[Projectable(UseMemberBody = nameof(_WatchStatus), OnlyOnInclude = true)]
|
||||
[LoadableRelation] public ShowWatchStatus? WatchStatus { get; set; }
|
||||
|
||||
// There is a global query filter to filter by user so we just need to do single.
|
||||
private ShowWatchInfo? _WatchInfo => Watched.FirstOrDefault();
|
||||
private ShowWatchStatus? _WatchStatus => Watched.FirstOrDefault();
|
||||
|
||||
/// <inheritdoc />
|
||||
public void OnMerge(object merged)
|
||||
|
@ -52,7 +52,7 @@ namespace Kyoo.Abstractions.Models
|
||||
/// <summary>
|
||||
/// Metadata of what an user as started/planned to watch.
|
||||
/// </summary>
|
||||
public class MovieWatchInfo : IAddedDate
|
||||
public class MovieWatchStatus : IAddedDate
|
||||
{
|
||||
/// <summary>
|
||||
/// The ID of the user that started watching this episode.
|
||||
@ -91,7 +91,7 @@ namespace Kyoo.Abstractions.Models
|
||||
public int? WatchedTime { get; set; }
|
||||
}
|
||||
|
||||
public class EpisodeWatchInfo : IAddedDate
|
||||
public class EpisodeWatchStatus : IAddedDate
|
||||
{
|
||||
/// <summary>
|
||||
/// The ID of the user that started watching this episode.
|
||||
@ -130,7 +130,7 @@ namespace Kyoo.Abstractions.Models
|
||||
public int? WatchedTime { get; set; }
|
||||
}
|
||||
|
||||
public class ShowWatchInfo : IAddedDate
|
||||
public class ShowWatchStatus : IAddedDate
|
||||
{
|
||||
/// <summary>
|
||||
/// The ID of the user that started watching this episode.
|
||||
|
@ -100,11 +100,11 @@ namespace Kyoo.Postgresql
|
||||
// /// </summary>
|
||||
// public DbSet<PeopleRole> PeopleRoles { get; set; }
|
||||
|
||||
public DbSet<MovieWatchInfo> MovieWatchInfo { get; set; }
|
||||
public DbSet<MovieWatchStatus> MovieWatchInfo { get; set; }
|
||||
|
||||
public DbSet<ShowWatchInfo> ShowWatchInfo { get; set; }
|
||||
public DbSet<ShowWatchStatus> ShowWatchInfo { get; set; }
|
||||
|
||||
public DbSet<EpisodeWatchInfo> EpisodeWatchInfo { get; set; }
|
||||
public DbSet<EpisodeWatchStatus> EpisodeWatchInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Add a many to many link between two resources.
|
||||
@ -306,24 +306,24 @@ namespace Kyoo.Postgresql
|
||||
|
||||
modelBuilder.Entity<User>().OwnsOne(x => x.Logo);
|
||||
|
||||
modelBuilder.Entity<MovieWatchInfo>()
|
||||
modelBuilder.Entity<MovieWatchStatus>()
|
||||
.HasKey(x => new { User = x.UserId, Movie = x.MovieId });
|
||||
modelBuilder.Entity<ShowWatchInfo>()
|
||||
modelBuilder.Entity<ShowWatchStatus>()
|
||||
.HasKey(x => new { User = x.UserId, Show = x.ShowId });
|
||||
modelBuilder.Entity<EpisodeWatchInfo>()
|
||||
modelBuilder.Entity<EpisodeWatchStatus>()
|
||||
.HasKey(x => new { User = x.UserId, Episode = x.EpisodeId });
|
||||
|
||||
modelBuilder.Entity<MovieWatchInfo>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
modelBuilder.Entity<ShowWatchInfo>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
modelBuilder.Entity<EpisodeWatchInfo>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
modelBuilder.Entity<MovieWatchStatus>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
modelBuilder.Entity<ShowWatchStatus>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
modelBuilder.Entity<EpisodeWatchStatus>().HasQueryFilter(x => x.UserId == CurrentUserId);
|
||||
|
||||
_HasAddedDate<MovieWatchInfo>(modelBuilder);
|
||||
_HasAddedDate<ShowWatchInfo>(modelBuilder);
|
||||
_HasAddedDate<EpisodeWatchInfo>(modelBuilder);
|
||||
_HasAddedDate<MovieWatchStatus>(modelBuilder);
|
||||
_HasAddedDate<ShowWatchStatus>(modelBuilder);
|
||||
_HasAddedDate<EpisodeWatchStatus>(modelBuilder);
|
||||
|
||||
modelBuilder.Entity<Movie>().Ignore(x => x.WatchInfo);
|
||||
modelBuilder.Entity<Show>().Ignore(x => x.WatchInfo);
|
||||
modelBuilder.Entity<Episode>().Ignore(x => x.WatchInfo);
|
||||
modelBuilder.Entity<Movie>().Ignore(x => x.WatchStatus);
|
||||
modelBuilder.Entity<Show>().Ignore(x => x.WatchStatus);
|
||||
modelBuilder.Entity<Episode>().Ignore(x => x.WatchStatus);
|
||||
|
||||
modelBuilder.Entity<Collection>()
|
||||
.HasIndex(x => x.Slug)
|
||||
|
Loading…
x
Reference in New Issue
Block a user