Fix filter endtime

This commit is contained in:
2025-10-16 23:56:04 +02:00
parent 0c49ca7bed
commit f302085596
2 changed files with 11 additions and 11 deletions

View File

@@ -37,9 +37,9 @@ public class ActionsController(ActionsContext context) : Controller
[ProducesResponseType(Status500InternalServerError)] [ProducesResponseType(Status500InternalServerError)]
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsInterval([FromBody]Filter filter) 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.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) .Where(a => filter.Action == null || a.Action == filter.Action)
.ToListAsync(HttpContext.RequestAborted) is not { } actions) .ToListAsync(HttpContext.RequestAborted) is not { } actions)
return TypedResults.InternalServerError(); return TypedResults.InternalServerError();
@@ -73,7 +73,7 @@ public class ActionsController(ActionsContext context) : Controller
[ProducesResponseType(Status500InternalServerError)] [ProducesResponseType(Status500InternalServerError)]
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsRelatedToManga(string MangaId) 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.InternalServerError();
return TypedResults.Ok(actions.Select(a => new ActionRecord(a))); return TypedResults.Ok(actions.Select(a => new ActionRecord(a)));
@@ -89,7 +89,7 @@ public class ActionsController(ActionsContext context) : Controller
[ProducesResponseType(Status500InternalServerError)] [ProducesResponseType(Status500InternalServerError)]
public async Task<Results<Ok<IEnumerable<ActionRecord>>, InternalServerError>> GetActionsRelatedToChapter(string ChapterId) 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.InternalServerError();
return TypedResults.Ok(actions.Select(a => new ActionRecord(a))); return TypedResults.Ok(actions.Select(a => new ActionRecord(a)));

View File

@@ -32,23 +32,23 @@ public class ActionsContext(DbContextOptions<ActionsContext> options) : TrangaBa
modelBuilder.Entity<LibraryMovedActionRecord>().Property(a => a.MangaId).HasColumnName("MangaId"); 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}"""); .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}"""); .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}"""); .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) if (MangaId is { } mangaId && ChapterId is { } chapterId)
return FilterMangaAndChapter(mangaId, chapterId); return FilterActionsMangaAndChapter(mangaId, chapterId);
if (MangaId is { } mangaId2) if (MangaId is { } mangaId2)
return FilterManga(mangaId2); return FilterActionsManga(mangaId2);
if (ChapterId is { } chapterId2) if (ChapterId is { } chapterId2)
return FilterChapter(chapterId2); return FilterActionsChapter(chapterId2);
return this.Actions.AsQueryable(); return this.Actions.AsQueryable();
} }
} }