mirror of
https://github.com/C9Glax/tranga.git
synced 2025-10-17 10:50:45 +02:00
Fix filter endtime
This commit is contained in:
@@ -37,9 +37,9 @@ public class ActionsController(ActionsContext context) : Controller
|
||||
[ProducesResponseType(Status500InternalServerError)]
|
||||
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsInterval([FromBody]Filter filter)
|
||||
{
|
||||
if (await context.Filter(filter.MangaId, filter.ChapterId)
|
||||
if (await context.FilterActions(filter.MangaId, filter.ChapterId)
|
||||
.Where(a => filter.Start == null || a.PerformedAt >= filter.Start.Value.ToUniversalTime())
|
||||
.Where(a => filter.End == null || a.PerformedAt >= filter.End.Value.ToUniversalTime())
|
||||
.Where(a => filter.End == null || a.PerformedAt <= filter.End.Value.ToUniversalTime())
|
||||
.Where(a => filter.Action == null || a.Action == filter.Action)
|
||||
.ToListAsync(HttpContext.RequestAborted) is not { } actions)
|
||||
return TypedResults.InternalServerError();
|
||||
@@ -73,7 +73,7 @@ public class ActionsController(ActionsContext context) : Controller
|
||||
[ProducesResponseType(Status500InternalServerError)]
|
||||
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsRelatedToManga(string MangaId)
|
||||
{
|
||||
if(await context.FilterManga(MangaId).ToListAsync(HttpContext.RequestAborted) is not { } actions)
|
||||
if(await context.FilterActionsManga(MangaId).ToListAsync(HttpContext.RequestAborted) is not { } actions)
|
||||
return TypedResults.InternalServerError();
|
||||
|
||||
return TypedResults.Ok(actions.Select(a => new ActionRecord(a)));
|
||||
@@ -89,7 +89,7 @@ public class ActionsController(ActionsContext context) : Controller
|
||||
[ProducesResponseType(Status500InternalServerError)]
|
||||
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsRelatedToChapter(string ChapterId)
|
||||
{
|
||||
if(await context.FilterChapter(ChapterId).ToListAsync(HttpContext.RequestAborted) is not { } actions)
|
||||
if(await context.FilterActionsChapter(ChapterId).ToListAsync(HttpContext.RequestAborted) is not { } actions)
|
||||
return TypedResults.InternalServerError();
|
||||
|
||||
return TypedResults.Ok(actions.Select(a => new ActionRecord(a)));
|
||||
|
@@ -32,23 +32,23 @@ public class ActionsContext(DbContextOptions<ActionsContext> options) : TrangaBa
|
||||
modelBuilder.Entity<LibraryMovedActionRecord>().Property(a => a.MangaId).HasColumnName("MangaId");
|
||||
}
|
||||
|
||||
public IQueryable<ActionRecord> FilterManga(string MangaId) => this.Actions
|
||||
public IQueryable<ActionRecord> FilterActionsManga(string MangaId) => this.Actions
|
||||
.FromSqlInterpolated($"""SELECT * FROM public."Actions" WHERE "MangaId" = {MangaId}""");
|
||||
|
||||
public IQueryable<ActionRecord> FilterChapter(string ChapterId) => this.Actions
|
||||
public IQueryable<ActionRecord> FilterActionsChapter(string ChapterId) => this.Actions
|
||||
.FromSqlInterpolated($"""SELECT * FROM public."Actions" WHERE "ChapterId" = {ChapterId}""");
|
||||
|
||||
public IQueryable<ActionRecord> FilterMangaAndChapter(string MangaId, string ChapterId) => this.Actions
|
||||
public IQueryable<ActionRecord> FilterActionsMangaAndChapter(string MangaId, string ChapterId) => this.Actions
|
||||
.FromSqlInterpolated($"""SELECT * FROM public."Actions" WHERE "MangaId" = {MangaId} AND "ChapterId" = {ChapterId}""");
|
||||
|
||||
public IQueryable<ActionRecord> Filter(string? MangaId, string? ChapterId)
|
||||
public IQueryable<ActionRecord> FilterActions(string? MangaId, string? ChapterId)
|
||||
{
|
||||
if (MangaId is { } mangaId && ChapterId is { } chapterId)
|
||||
return FilterMangaAndChapter(mangaId, chapterId);
|
||||
return FilterActionsMangaAndChapter(mangaId, chapterId);
|
||||
if (MangaId is { } mangaId2)
|
||||
return FilterManga(mangaId2);
|
||||
return FilterActionsManga(mangaId2);
|
||||
if (ChapterId is { } chapterId2)
|
||||
return FilterChapter(chapterId2);
|
||||
return FilterActionsChapter(chapterId2);
|
||||
return this.Actions.AsQueryable();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user