diff --git a/back/src/Kyoo.Abstractions/Models/Resources/Movie.cs b/back/src/Kyoo.Abstractions/Models/Resources/Movie.cs index 62c5395c..fc881351 100644 --- a/back/src/Kyoo.Abstractions/Models/Resources/Movie.cs +++ b/back/src/Kyoo.Abstractions/Models/Resources/Movie.cs @@ -125,10 +125,10 @@ namespace Kyoo.Abstractions.Models /// [LoadableRelation(nameof(StudioId))] public Studio? Studio { get; set; } - /// - /// The list of people that made this show. - /// - [SerializeIgnore] public ICollection? People { get; set; } + // /// + // /// The list of people that made this show. + // /// + // [SerializeIgnore] public ICollection? People { get; set; } /// /// The list of collections that contains this show. @@ -147,11 +147,11 @@ namespace Kyoo.Abstractions.Models /// public void OnMerge(object merged) { - if (People != null) - { - foreach (PeopleRole link in People) - link.Movie = this; - } + // if (People != null) + // { + // foreach (PeopleRole link in People) + // link.Movie = this; + // } } public Movie() { } diff --git a/back/src/Kyoo.Abstractions/Models/Resources/Show.cs b/back/src/Kyoo.Abstractions/Models/Resources/Show.cs index 5216645d..fd6bcaa4 100644 --- a/back/src/Kyoo.Abstractions/Models/Resources/Show.cs +++ b/back/src/Kyoo.Abstractions/Models/Resources/Show.cs @@ -128,10 +128,10 @@ namespace Kyoo.Abstractions.Models /// [LoadableRelation(nameof(StudioId))] public Studio? Studio { get; set; } - /// - /// The list of people that made this show. - /// - [SerializeIgnore] public ICollection? People { get; set; } + // /// + // /// The list of people that made this show. + // /// + // [SerializeIgnore] public ICollection? People { get; set; } /// /// The different seasons in this show. If this is a movie, this list is always null or empty. @@ -181,11 +181,11 @@ namespace Kyoo.Abstractions.Models /// public void OnMerge(object merged) { - if (People != null) - { - foreach (PeopleRole link in People) - link.Show = this; - } + // if (People != null) + // { + // foreach (PeopleRole link in People) + // link.Show = this; + // } if (Seasons != null) { diff --git a/back/src/Kyoo.Abstractions/Models/Resources/User.cs b/back/src/Kyoo.Abstractions/Models/Resources/User.cs index 65982bfd..0d9b90a0 100644 --- a/back/src/Kyoo.Abstractions/Models/Resources/User.cs +++ b/back/src/Kyoo.Abstractions/Models/Resources/User.cs @@ -69,18 +69,6 @@ namespace Kyoo.Abstractions.Models /// public Image? Logo { get; set; } - /// - /// The list of shows the user has finished. - /// - [SerializeIgnore] - public ICollection? Watched { get; set; } - - /// - /// The list of episodes the user is watching (stopped in progress or the next episode of the show) - /// - [SerializeIgnore] - public ICollection? CurrentlyWatching { get; set; } - public User() { } [JsonConstructor] diff --git a/back/src/Kyoo.Abstractions/Models/Resources/WatchedEpisode.cs b/back/src/Kyoo.Abstractions/Models/Resources/WatchedEpisode.cs deleted file mode 100644 index b5a76d68..00000000 --- a/back/src/Kyoo.Abstractions/Models/Resources/WatchedEpisode.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Kyoo - A portable and vast media library solution. -// Copyright (c) Kyoo. -// -// See AUTHORS.md and LICENSE file in the project root for full license information. -// -// Kyoo is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// Kyoo is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Kyoo. If not, see . - -namespace Kyoo.Abstractions.Models -{ - /// - /// Metadata of episode currently watching by an user - /// - public class WatchedEpisode - { - /// - /// The ID of the user that started watching this episode. - /// - public int UserID { get; set; } - - /// - /// The ID of the episode started. - /// - public int EpisodeID { get; set; } - - /// - /// The started. - /// - public Episode? Episode { get; set; } - - /// - /// Where the player has stopped watching the episode (between 0 and 100). - /// - public int WatchedPercentage { get; set; } - } -} diff --git a/back/src/Kyoo.Core/Controllers/Repositories/MovieRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/MovieRepository.cs index e7c82827..d4c0f7c0 100644 --- a/back/src/Kyoo.Core/Controllers/Repositories/MovieRepository.cs +++ b/back/src/Kyoo.Core/Controllers/Repositories/MovieRepository.cs @@ -94,16 +94,16 @@ namespace Kyoo.Core.Controllers resource.StudioId = resource.Studio.Id; } - if (resource.People != null) - { - foreach (PeopleRole role in resource.People) - { - role.People = _database.LocalEntity(role.People.Slug) - ?? await _people.CreateIfNotExists(role.People); - role.PeopleID = role.People.Id; - _database.Entry(role).State = EntityState.Added; - } - } + // if (resource.People != null) + // { + // foreach (PeopleRole role in resource.People) + // { + // role.People = _database.LocalEntity(role.People.Slug) + // ?? await _people.CreateIfNotExists(role.People); + // role.PeopleID = role.People.Id; + // _database.Entry(role).State = EntityState.Added; + // } + // } } /// @@ -117,11 +117,11 @@ namespace Kyoo.Core.Controllers resource.Studio = changed.Studio; } - if (changed.People != null) - { - await Database.Entry(resource).Collection(x => x.People!).LoadAsync(); - resource.People = changed.People; - } + // if (changed.People != null) + // { + // await Database.Entry(resource).Collection(x => x.People!).LoadAsync(); + // resource.People = changed.People; + // } } /// diff --git a/back/src/Kyoo.Core/Controllers/Repositories/ShowRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/ShowRepository.cs index bf37e761..471a1e85 100644 --- a/back/src/Kyoo.Core/Controllers/Repositories/ShowRepository.cs +++ b/back/src/Kyoo.Core/Controllers/Repositories/ShowRepository.cs @@ -95,16 +95,16 @@ namespace Kyoo.Core.Controllers resource.StudioId = resource.Studio.Id; } - if (resource.People != null) - { - foreach (PeopleRole role in resource.People) - { - role.People = _database.LocalEntity(role.People.Slug) - ?? await _people.CreateIfNotExists(role.People); - role.PeopleID = role.People.Id; - _database.Entry(role).State = EntityState.Added; - } - } + // if (resource.People != null) + // { + // foreach (PeopleRole role in resource.People) + // { + // role.People = _database.LocalEntity(role.People.Slug) + // ?? await _people.CreateIfNotExists(role.People); + // role.PeopleID = role.People.Id; + // _database.Entry(role).State = EntityState.Added; + // } + // } } /// @@ -118,11 +118,11 @@ namespace Kyoo.Core.Controllers resource.Studio = changed.Studio; } - if (changed.People != null) - { - await Database.Entry(resource).Collection(x => x.People!).LoadAsync(); - resource.People = changed.People; - } + // if (changed.People != null) + // { + // await Database.Entry(resource).Collection(x => x.People!).LoadAsync(); + // resource.People = changed.People; + // } } /// diff --git a/back/src/Kyoo.Core/Views/Helper/CrudApi.cs b/back/src/Kyoo.Core/Views/Helper/CrudApi.cs index b1528b79..18330046 100644 --- a/back/src/Kyoo.Core/Views/Helper/CrudApi.cs +++ b/back/src/Kyoo.Core/Views/Helper/CrudApi.cs @@ -166,7 +166,7 @@ namespace Kyoo.Core.Api [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task> Edit([FromBody] T resource) { - if (resource.Id != null) + if (resource.Id != Guid.Empty) return await Repository.Edit(resource); T old = await Repository.Get(resource.Slug); diff --git a/back/src/Kyoo.Core/Views/Helper/Serializers/PeopleRoleConverter.cs b/back/src/Kyoo.Core/Views/Helper/Serializers/PeopleRoleConverter.cs index 3aa4304b..8e4aa173 100644 --- a/back/src/Kyoo.Core/Views/Helper/Serializers/PeopleRoleConverter.cs +++ b/back/src/Kyoo.Core/Views/Helper/Serializers/PeopleRoleConverter.cs @@ -33,28 +33,28 @@ namespace Kyoo.Core.Api /// public override void WriteJson(JsonWriter writer, PeopleRole? value, JsonSerializer serializer) { - if (value == null) - { - writer.WriteNull(); - return; - } - - ICollection? oldPeople = value.Show?.People; - ICollection? oldRoles = value.People?.Roles; - if (value.Show != null) - value.Show.People = null; - if (value.People != null) - value.People.Roles = null; - - JObject obj = JObject.FromObject((value.ForPeople ? value.People : value.Show)!, serializer); - obj.Add("role", value.Role); - obj.Add("type", value.Type); - obj.WriteTo(writer); - - if (value.Show != null) - value.Show.People = oldPeople; - if (value.People != null) - value.People.Roles = oldRoles; + // if (value == null) + // { + // writer.WriteNull(); + // return; + // } + // + // ICollection? oldPeople = value.Show?.People; + // ICollection? oldRoles = value.People?.Roles; + // if (value.Show != null) + // value.Show.People = null; + // if (value.People != null) + // value.People.Roles = null; + // + // JObject obj = JObject.FromObject((value.ForPeople ? value.People : value.Show)!, serializer); + // obj.Add("role", value.Role); + // obj.Add("type", value.Type); + // obj.WriteTo(writer); + // + // if (value.Show != null) + // value.Show.People = oldPeople; + // if (value.People != null) + // value.People.Roles = oldRoles; } /// diff --git a/back/src/Kyoo.Postgresql/DatabaseContext.cs b/back/src/Kyoo.Postgresql/DatabaseContext.cs index 47277789..36ae17e0 100644 --- a/back/src/Kyoo.Postgresql/DatabaseContext.cs +++ b/back/src/Kyoo.Postgresql/DatabaseContext.cs @@ -72,10 +72,10 @@ namespace Kyoo.Postgresql /// public DbSet Episodes { get; set; } - /// - /// All people of Kyoo. See . - /// - public DbSet People { get; set; } + // /// + // /// All people of Kyoo. See . + // /// + // public DbSet People { get; set; } /// /// All studios of Kyoo. See . @@ -87,10 +87,10 @@ namespace Kyoo.Postgresql /// public DbSet Users { get; set; } - /// - /// All people's role. See . - /// - public DbSet PeopleRoles { get; set; } + // /// + // /// All people's role. See . + // /// + // public DbSet PeopleRoles { get; set; } /// /// Add a many to many link between two resources. @@ -243,9 +243,8 @@ namespace Kyoo.Postgresql .Ignore(x => x.PreviousEpisode) .Ignore(x => x.NextEpisode); - modelBuilder.Entity() - .Ignore(x => x.ForPeople); - + // modelBuilder.Entity() + // .Ignore(x => x.ForPeople); modelBuilder.Entity() .HasMany(x => x.Seasons) .WithOne(x => x.Show) @@ -271,17 +270,12 @@ namespace Kyoo.Postgresql _HasManyToMany(modelBuilder, x => x.Movies, x => x.Collections); _HasManyToMany(modelBuilder, x => x.Shows, x => x.Collections); - modelBuilder.Entity() - .HasMany(x => x.Watched) - .WithMany("Users") - .UsingEntity(x => x.ToTable(LinkName())); - _HasMetadata(modelBuilder); _HasMetadata(modelBuilder); _HasMetadata(modelBuilder); _HasMetadata(modelBuilder); _HasMetadata(modelBuilder); - _HasMetadata(modelBuilder); + // _HasMetadata(modelBuilder); _HasMetadata(modelBuilder); _HasImages(modelBuilder); @@ -289,7 +283,7 @@ namespace Kyoo.Postgresql _HasImages(modelBuilder); _HasImages(modelBuilder); _HasImages(modelBuilder); - _HasImages(modelBuilder); + // _HasImages(modelBuilder); _HasAddedDate(modelBuilder); _HasAddedDate(modelBuilder); @@ -300,15 +294,12 @@ namespace Kyoo.Postgresql modelBuilder.Entity().OwnsOne(x => x.Logo); - modelBuilder.Entity() - .HasKey(x => new { User = x.UserID, Episode = x.EpisodeID }); - modelBuilder.Entity() .HasIndex(x => x.Slug) .IsUnique(); - modelBuilder.Entity() - .HasIndex(x => x.Slug) - .IsUnique(); + // modelBuilder.Entity() + // .HasIndex(x => x.Slug) + // .IsUnique(); modelBuilder.Entity() .HasIndex(x => x.Slug) .IsUnique();