diff --git a/back/src/Kyoo.Abstractions/Controllers/IRepository.cs b/back/src/Kyoo.Abstractions/Controllers/IRepository.cs
index fb00b768..56b9b26b 100644
--- a/back/src/Kyoo.Abstractions/Controllers/IRepository.cs
+++ b/back/src/Kyoo.Abstractions/Controllers/IRepository.cs
@@ -327,7 +327,7 @@ namespace Kyoo.Abstractions.Controllers
///
/// A repository to handle library items (A wrapper around shows and collections).
///
- public interface ILibraryItemRepository : IRepository { }
+ public interface ILibraryItemRepository : IRepository { }
///
/// A repository for collections
diff --git a/back/src/Kyoo.Abstractions/Models/LibraryItem.cs b/back/src/Kyoo.Abstractions/Models/LibraryItem.cs
index 6190bf6f..fb3a24e4 100644
--- a/back/src/Kyoo.Abstractions/Models/LibraryItem.cs
+++ b/back/src/Kyoo.Abstractions/Models/LibraryItem.cs
@@ -45,7 +45,7 @@ namespace Kyoo.Abstractions.Models
Collection
}
- public class LibraryItem : IResource, ILibraryItem, IThumbnails, IMetadata
+ public class LibraryItem : IResource, IThumbnails, IMetadata
{
///
public int Id { get; set; }
@@ -124,7 +124,9 @@ namespace Kyoo.Abstractions.Models
///
public string? Trailer { get; set; }
- ///
+ ///
+ /// Is the item a collection, a movie or a show?
+ ///
public ItemKind Kind { get; set; }
///
@@ -149,31 +151,4 @@ namespace Kyoo.Abstractions.Models
Name = name;
}
}
-
- ///
- /// A type union between and .
- /// This is used to list content put inside a library.
- ///
- public interface ILibraryItem : IResource
- {
- ///
- /// Is the item a collection, a movie or a show?
- ///
- public ItemKind Kind { get; }
-
- ///
- /// The title of this show.
- ///
- public string Name { get; }
-
- ///
- /// The summary of this show.
- ///
- public string? Overview { get; }
-
- ///
- /// The date this movie aired.
- ///
- public DateTime? AirDate { get; }
- }
}
diff --git a/back/src/Kyoo.Abstractions/Models/SearchResult.cs b/back/src/Kyoo.Abstractions/Models/SearchResult.cs
index 54ff93bf..f10983eb 100644
--- a/back/src/Kyoo.Abstractions/Models/SearchResult.cs
+++ b/back/src/Kyoo.Abstractions/Models/SearchResult.cs
@@ -38,7 +38,7 @@ namespace Kyoo.Abstractions.Models
///
/// The items that matched the search.
///
- public ICollection Items { get; init; }
+ public ICollection Items { get; init; }
///
/// The movies that matched the search.
diff --git a/back/src/Kyoo.Core/Controllers/LibraryManager.cs b/back/src/Kyoo.Core/Controllers/LibraryManager.cs
index 318e7aff..3d3f77bf 100644
--- a/back/src/Kyoo.Core/Controllers/LibraryManager.cs
+++ b/back/src/Kyoo.Core/Controllers/LibraryManager.cs
@@ -74,7 +74,7 @@ namespace Kyoo.Core.Controllers
public LibraryManager(IEnumerable repositories)
{
_repositories = repositories.ToArray();
- LibraryItemRepository = GetRepository() as ILibraryItemRepository;
+ LibraryItemRepository = GetRepository() as ILibraryItemRepository;
CollectionRepository = GetRepository() as ICollectionRepository;
MovieRepository = GetRepository() as IMovieRepository;
ShowRepository = GetRepository() as IShowRepository;
diff --git a/back/src/Kyoo.Core/Controllers/Repositories/LibraryItemRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/LibraryItemRepository.cs
index 0b5da1e7..1bc010f0 100644
--- a/back/src/Kyoo.Core/Controllers/Repositories/LibraryItemRepository.cs
+++ b/back/src/Kyoo.Core/Controllers/Repositories/LibraryItemRepository.cs
@@ -32,7 +32,7 @@ namespace Kyoo.Core.Controllers
///
/// A local repository to handle library items.
///
- public class LibraryItemRepository : LocalRepository, ILibraryItemRepository
+ public class LibraryItemRepository : LocalRepository, ILibraryItemRepository
{
///
/// The database handle
@@ -40,7 +40,7 @@ namespace Kyoo.Core.Controllers
private readonly DatabaseContext _database;
///
- protected override Sort DefaultSort => new Sort.By(x => x.Name);
+ protected override Sort DefaultSort => new Sort.By(x => x.Name);
///
/// Create a new .
@@ -54,26 +54,26 @@ namespace Kyoo.Core.Controllers
}
///
- public override async Task GetOrDefault(int id)
+ public override async Task GetOrDefault(int id)
{
return await _database.LibraryItems.SingleOrDefaultAsync(x => x.Id == id).Then(SetBackingImage);
}
///
- public override async Task GetOrDefault(string slug)
+ public override async Task GetOrDefault(string slug)
{
return await _database.LibraryItems.SingleOrDefaultAsync(x => x.Slug == slug).Then(SetBackingImage);
}
///
- public override async Task GetOrDefault(Expression> where, Sort sortBy = default)
+ public override async Task GetOrDefault(Expression> where, Sort sortBy = default)
{
return await Sort(_database.LibraryItems, sortBy).FirstOrDefaultAsync(where).Then(SetBackingImage);
}
///
- public override async Task> GetAll(Expression> where = null,
- Sort sort = default,
+ public override async Task> GetAll(Expression> where = null,
+ Sort sort = default,
Pagination limit = default)
{
return (await ApplyFilters(_database.LibraryItems, where, sort, limit))
@@ -81,16 +81,16 @@ namespace Kyoo.Core.Controllers
}
///
- public override Task GetCount(Expression> where = null)
+ public override Task GetCount(Expression> where = null)
{
- IQueryable query = _database.LibraryItems;
+ IQueryable query = _database.LibraryItems;
if (where != null)
query = query.Where(where);
return query.CountAsync();
}
///
- public override async Task> Search(string query)
+ public override async Task> Search(string query)
{
return (await Sort(
_database.LibraryItems
@@ -103,19 +103,19 @@ namespace Kyoo.Core.Controllers
}
///
- public override Task Create(ILibraryItem obj)
+ public override Task Create(LibraryItem obj)
=> throw new InvalidOperationException();
///
- public override Task CreateIfNotExists(ILibraryItem obj)
+ public override Task CreateIfNotExists(LibraryItem obj)
=> throw new InvalidOperationException();
///
- public override Task Edit(ILibraryItem edited)
+ public override Task Edit(LibraryItem edited)
=> throw new InvalidOperationException();
///
- public override Task Patch(int id, Func> patch)
+ public override Task Patch(int id, Func> patch)
=> throw new InvalidOperationException();
///
@@ -127,7 +127,7 @@ namespace Kyoo.Core.Controllers
=> throw new InvalidOperationException();
///
- public override Task Delete(ILibraryItem obj)
+ public override Task Delete(LibraryItem obj)
=> throw new InvalidOperationException();
}
}
diff --git a/back/src/Kyoo.Core/Controllers/Repositories/LocalRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/LocalRepository.cs
index 81f2f57b..1af459b4 100644
--- a/back/src/Kyoo.Core/Controllers/Repositories/LocalRepository.cs
+++ b/back/src/Kyoo.Core/Controllers/Repositories/LocalRepository.cs
@@ -237,7 +237,7 @@ namespace Kyoo.Core.Controllers
{
if (obj is not IThumbnails thumbs)
return;
- string type = obj is ILibraryItem item
+ string type = obj is LibraryItem item
? item.Kind.ToString().ToLowerInvariant()
: typeof(T).Name.ToLowerInvariant();
diff --git a/back/src/Kyoo.Core/Views/Resources/LibraryItemApi.cs b/back/src/Kyoo.Core/Views/Resources/LibraryItemApi.cs
index 8046a942..3c5459b5 100644
--- a/back/src/Kyoo.Core/Views/Resources/LibraryItemApi.cs
+++ b/back/src/Kyoo.Core/Views/Resources/LibraryItemApi.cs
@@ -77,14 +77,14 @@ namespace Kyoo.Core.Api
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest, Type = typeof(RequestError))]
[ProducesResponseType(StatusCodes.Status404NotFound)]
- public async Task>> GetAll(
+ public async Task>> GetAll(
[FromQuery] string sortBy,
[FromQuery] Dictionary where,
[FromQuery] Pagination pagination)
{
- ICollection resources = await _libraryItems.GetAll(
- ApiHelper.ParseWhere(where),
- Sort.From(sortBy),
+ ICollection resources = await _libraryItems.GetAll(
+ ApiHelper.ParseWhere(where),
+ Sort.From(sortBy),
pagination
);
diff --git a/back/src/Kyoo.Core/Views/Resources/SearchApi.cs b/back/src/Kyoo.Core/Views/Resources/SearchApi.cs
index 4779cb20..fb6fcbc9 100644
--- a/back/src/Kyoo.Core/Views/Resources/SearchApi.cs
+++ b/back/src/Kyoo.Core/Views/Resources/SearchApi.cs
@@ -76,7 +76,7 @@ namespace Kyoo.Core.Api
{
Query = query,
Collections = await _libraryManager.Search(query),
- Items = await _libraryManager.Search(query),
+ Items = await _libraryManager.Search(query),
Movies = await _libraryManager.Search(query),
Shows = await _libraryManager.Search(query),
Episodes = await _libraryManager.Search(query),
@@ -134,9 +134,9 @@ namespace Kyoo.Core.Api
[Permission(nameof(Show), Kind.Read)]
[ApiDefinition("Items")]
[ProducesResponseType(StatusCodes.Status200OK)]
- public Task> SearchItems(string query)
+ public Task> SearchItems(string query)
{
- return _libraryManager.Search(query);
+ return _libraryManager.Search(query);
}
///