In-Depth Filtering (#850)

* Laying the foundation for the filter rework

* Filtering by Genre is now possible.

* Cleaned up code and preparing for People filtering

* People filtering is hooked up for the frontend

* Filtering now works. On Deck does not work with filtering currently due to a unique implementation.

* More cleanup

* Implemented the ability to reset the filters

* Added a mobile drawer for filtering

* Added some additional cases for NaturalSortComparer. Filter now uses a drawer on smaller screens.

* Fixed a bug where backup service was not pointing to the correct directory.

* Undid the fix, it's working as expected
This commit is contained in:
Joseph Milazzo 2021-12-15 10:23:10 -06:00 committed by GitHub
parent ca893930d3
commit 28688ada8e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 2354 additions and 187 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,57 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace API.Data.Migrations
{
public partial class SeriesIncludes : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_AppUserRating_SeriesId",
table: "AppUserRating",
column: "SeriesId");
migrationBuilder.CreateIndex(
name: "IX_AppUserProgresses_SeriesId",
table: "AppUserProgresses",
column: "SeriesId");
migrationBuilder.AddForeignKey(
name: "FK_AppUserProgresses_Series_SeriesId",
table: "AppUserProgresses",
column: "SeriesId",
principalTable: "Series",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_AppUserRating_Series_SeriesId",
table: "AppUserRating",
column: "SeriesId",
principalTable: "Series",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_AppUserProgresses_Series_SeriesId",
table: "AppUserProgresses");
migrationBuilder.DropForeignKey(
name: "FK_AppUserRating_Series_SeriesId",
table: "AppUserRating");
migrationBuilder.DropIndex(
name: "IX_AppUserRating_SeriesId",
table: "AppUserRating");
migrationBuilder.DropIndex(
name: "IX_AppUserProgresses_SeriesId",
table: "AppUserProgresses");
}
}
}

View file

@ -240,6 +240,8 @@ namespace API.Data.Migrations
b.HasIndex("AppUserId");
b.HasIndex("SeriesId");
b.ToTable("AppUserProgresses");
});
@ -265,6 +267,8 @@ namespace API.Data.Migrations
b.HasIndex("AppUserId");
b.HasIndex("SeriesId");
b.ToTable("AppUserRating");
});
@ -887,6 +891,12 @@ namespace API.Data.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("API.Entities.Series", null)
.WithMany("Progress")
.HasForeignKey("SeriesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AppUser");
});
@ -898,6 +908,12 @@ namespace API.Data.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("API.Entities.Series", null)
.WithMany("Ratings")
.HasForeignKey("SeriesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AppUser");
});
@ -1193,6 +1209,10 @@ namespace API.Data.Migrations
{
b.Navigation("Metadata");
b.Navigation("Progress");
b.Navigation("Ratings");
b.Navigation("Volumes");
});