Added series gestion

This commit is contained in:
2026-05-14 15:11:45 +01:00
parent eb99eca363
commit 8df7f06d60
2 changed files with 24 additions and 0 deletions
@@ -79,6 +79,11 @@ public class PatchProofEndpoint(
user.TotalChallenge++; // +1 challenge de fait
UserRandomChallenge? lastChallenge = await userRandomChallengesRepository.SingleOrDefaultAsync(new GetLastRandomChallengeSpec(userId), ct);
if (lastChallenge is not null) user.Series++;
else user.Series = 1;
await usersRepository.SaveChangesAsync(ct);
await userRandomChallengesRepository.SaveChangesAsync(ct);
@@ -0,0 +1,19 @@
using Ardalis.Specification;
using BeReadyBackend.Models;
namespace BeReadyBackend.Specifications.RandomChallenges;
public class GetLastRandomChallengeSpec : SingleResultSpecification<UserRandomChallenge>
{
public GetLastRandomChallengeSpec(int userId)
{
Query
.Include(x => x.RandomChallenge)
.Where(x => x.RandomChallenge != null
&& x.UserId == userId
&& x.Proof != null
&& x.RandomChallenge.IsAlreadyPast
&& x.RandomChallenge.GeneratedAt != null
&& DateOnly.FromDateTime(x.RandomChallenge.GeneratedAt.Value) == DateOnly.FromDateTime(DateTime.Now).AddDays(-1));
}
}