From 57fdbfb1f1261e37eba3dd8897c176553bd74cb2 Mon Sep 17 00:00:00 2001 From: da3dsoul Date: Sun, 7 Jul 2024 14:43:49 -0400 Subject: [PATCH] Fix Custom Directory Filters in V2 --- Shoko.Server/API/v2/Modules/Common.cs | 2 +- Shoko.Server/Repositories/Cached/AnimeSeriesRepository.cs | 1 + Shoko.Server/Repositories/Cached/FilterPresetRepository.cs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Shoko.Server/API/v2/Modules/Common.cs b/Shoko.Server/API/v2/Modules/Common.cs index 6a364b221..016f78c2c 100644 --- a/Shoko.Server/API/v2/Modules/Common.cs +++ b/Shoko.Server/API/v2/Modules/Common.cs @@ -2738,7 +2738,7 @@ internal object GetAllFilters(int uid, bool nocast, bool notag, int level, bool var evaluator = HttpContext.RequestServices.GetRequiredService(); var user = HttpContext.GetUser(); var hideCategories = user.GetHideCategories(); - var allFPs = level > 1 + var allFPs = level > 0 ? RepoFactory.FilterPreset.GetAllFiltersForLegacy().Where(a => !a.Hidden && ((a.FilterType & GroupFilterType.Tag) == 0 || !hideCategories.Contains(a.Name))).ToList() : RepoFactory.FilterPreset.GetAllFiltersForLegacy(true).Where(a => !a.Hidden).ToList(); var result = evaluator.BatchEvaluateFilters(allFPs, user.JMMUserID, true); diff --git a/Shoko.Server/Repositories/Cached/AnimeSeriesRepository.cs b/Shoko.Server/Repositories/Cached/AnimeSeriesRepository.cs index 57203179a..fc4a850db 100644 --- a/Shoko.Server/Repositories/Cached/AnimeSeriesRepository.cs +++ b/Shoko.Server/Repositories/Cached/AnimeSeriesRepository.cs @@ -342,6 +342,7 @@ public List GetWithMultipleReleases(bool ignoreVariations) public IEnumerable GetAllYears() { var anime = RepoFactory.AnimeSeries.GetAll().Select(a => RepoFactory.AniDB_Anime.GetByAnimeID(a.AniDB_ID)).Where(a => a?.AirDate != null).ToList(); + if (anime.Count == 0) yield break; var minDate = anime.Min(a => a.AirDate!.Value); var maxDate = anime.Max(o => o.EndDate ?? DateTime.Today); diff --git a/Shoko.Server/Repositories/Cached/FilterPresetRepository.cs b/Shoko.Server/Repositories/Cached/FilterPresetRepository.cs index 3b5e3059d..b4f516da1 100644 --- a/Shoko.Server/Repositories/Cached/FilterPresetRepository.cs +++ b/Shoko.Server/Repositories/Cached/FilterPresetRepository.cs @@ -331,7 +331,7 @@ public static IReadOnlyList GetAllTagFilters(int offset = 0) public IReadOnlyList GetAllFiltersForLegacy(bool topLevel = false) { if (topLevel) - return GetTopLevel().Where(a => !a.IsDirectory()).Concat(DirectoryFilters).ToList(); + return GetTopLevel().Concat(DirectoryFilters).ToList(); var filters = GetAll().ToList(); filters.AddRange(DirectoryFilters);