diff --git a/BeReadyBackend/Endpoints/Users/CreateUserEndpoint.cs b/BeReadyBackend/Endpoints/Users/CreateUserEndpoint.cs index 93916bc..72c342d 100644 --- a/BeReadyBackend/Endpoints/Users/CreateUserEndpoint.cs +++ b/BeReadyBackend/Endpoints/Users/CreateUserEndpoint.cs @@ -1,13 +1,18 @@ using BeReadyBackend.DTO.Users; using BeReadyBackend.Models; using BeReadyBackend.Repositories; +using BeReadyBackend.Specifications.RandomChallenges; using BeReadyBackend.Specifications.Users; using FastEndpoints; using PasswordGenerator; namespace BeReadyBackend.Endpoints.Users; -public class CreateUserEndpoint(UsersRepository usersRepository, AutoMapper.IMapper mapper) : Endpoint +public class CreateUserEndpoint( + UsersRepository usersRepository, + RandomChallengesRepository randomChallengesRepository, + UserRandomChallengesRepository userRandomChallengesRepository, + AutoMapper.IMapper mapper) : Endpoint { public override void Configure() { @@ -33,6 +38,18 @@ public class CreateUserEndpoint(UsersRepository usersRepository, AutoMapper.IMap user.Password = BCrypt.Net.BCrypt.HashPassword(req.Password + salt); await usersRepository.AddAsync(user, ct); + + RandomChallenge? randomChallenge = await randomChallengesRepository.SingleOrDefaultAsync(new GetRandomChallengeByDateSpec(), ct); + if (randomChallenge is not null) + { + UserRandomChallenge userRandomChallenge = new() + { + UserId = user.Id, + RandomChallengeId = randomChallenge.Id + }; + await userRandomChallengesRepository.AddAsync(userRandomChallenge, ct); + } + await Send.NoContentAsync(ct); } } \ No newline at end of file