Invitation globale work

+ tests
+ new services
+ InvitationDto and IInvitationReqest
This commit is contained in:
Artemy
2025-06-24 21:20:43 +07:00
parent f99ec0b17b
commit 76094af15b
38 changed files with 483 additions and 1640 deletions
+12 -2
View File
@@ -1,3 +1,4 @@
using Govor.API.Services;
using Govor.API.Services.Authentication;
using Govor.Core.DTOs;
using Govor.API.Services.Authentication.Interfaces;
@@ -9,12 +10,14 @@ namespace Govor.API.Controllers;
[Route("api/[controller]")]
public class AuthController : Controller
{
private IInvitesService _invitesService;
private IAccountService _accountService;
private ILogger<AuthController> _logger;
public AuthController(IAccountService accountService, ILogger<AuthController> logger)
public AuthController(IAccountService accountService, IInvitesService invitesService, ILogger<AuthController> logger)
{
_accountService = accountService;
_invitesService = invitesService;
_logger = logger;
}
@@ -29,7 +32,9 @@ public class AuthController : Controller
return BadRequest(ModelState);
}
var token = await _accountService.RegistrationAsync(registrationDto.Name, registrationDto.Password, registrationDto.InviteLink);
var invite = _invitesService.Validate(registrationDto.InviteLink);
var token = await _accountService.RegistrationAsync(registrationDto.Name, registrationDto.Password, invite);
_logger.LogInformation($"Register request for {registrationDto.Name}");
return Ok(new { token });
}
@@ -38,6 +43,11 @@ public class AuthController : Controller
_logger.LogWarning(ex, $"Registration failed for user {registrationDto.Name}");
return BadRequest("Registration failed: user already exists.");
}
catch (InviteLinkInvalidException ex)
{
_logger.LogWarning(ex, $"Invite link invalid: {registrationDto.InviteLink}");
return BadRequest("Invite link invalid.");
}
catch (Exception ex)
{
_logger.LogError(ex, "Unexpected error during registration for user {Name}", registrationDto.Name);