Fixed error with date for random challenge

This commit is contained in:
2026-04-12 14:45:37 +01:00
parent 5e0884a420
commit 34e3fbdd24
2 changed files with 5 additions and 10 deletions
@@ -7,25 +7,20 @@ using FastEndpoints;
namespace BeReadyBackend.Endpoints.RandomChallenges; namespace BeReadyBackend.Endpoints.RandomChallenges;
public class GenerateRequest
{
public DateOnly Today { get; set; }
}
public class GenerateRandomChallengeEndpoint( public class GenerateRandomChallengeEndpoint(
RandomChallengesRepository randomChallengesRepository, RandomChallengesRepository randomChallengesRepository,
UserRandomChallengesRepository userRandomChallengesRepository, UserRandomChallengesRepository userRandomChallengesRepository,
UsersRepository usersRepository) UsersRepository usersRepository)
: Endpoint<GenerateRequest, GetRandomChallengeDto> : EndpointWithoutRequest<GetRandomChallengeDto>
{ {
public override void Configure() public override void Configure()
{ {
Post("/RandomChallenges/"); Post("/RandomChallenges/");
} }
public override async Task HandleAsync(GenerateRequest req, CancellationToken ct) public override async Task HandleAsync(CancellationToken ct)
{ {
RandomChallenge? randomChallenge = await randomChallengesRepository.SingleOrDefaultAsync(new GetRandomChallengeByDateSpec(req.Today), ct); RandomChallenge? randomChallenge = await randomChallengesRepository.SingleOrDefaultAsync(new GetRandomChallengeByDateSpec(), ct);
if (randomChallenge is null) if (randomChallenge is null)
{ {
@@ -5,9 +5,9 @@ namespace BeReadyBackend.Specifications.RandomChallenges;
public class GetRandomChallengeByDateSpec : SingleResultSpecification<RandomChallenge> public class GetRandomChallengeByDateSpec : SingleResultSpecification<RandomChallenge>
{ {
public GetRandomChallengeByDateSpec(DateOnly today) public GetRandomChallengeByDateSpec()
{ {
Query Query
.Where(x => x.GeneratedAt != null && DateOnly.FromDateTime(x.GeneratedAt.Value) == today); .Where(x => x.GeneratedAt != null && DateOnly.FromDateTime(x.GeneratedAt.Value) == DateOnly.FromDateTime(DateTime.Now));
} }
} }