vbytes-lan-registration/src/Registration/Registration.API/Controllers/RegistrationController.cs
2026-01-26 21:38:33 +01:00

40 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Registration.Infra.Repositories;
namespace Registration.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class RegistrationController(IMemberRepository memberRepository) : ControllerBase
{
private readonly IMemberRepository _memberRepository = memberRepository;
[HttpPost("register/{ssn}")]
public async Task<IActionResult> RegisterMember(string ssn)
{
var added = await _memberRepository.AddRegistration(ssn);
if (added)
{
return Ok(new { Message = "Member registered successfully." });
}
else
{
return Conflict(new { Message = "Member is already registered." });
}
}
[HttpGet("registered/{ssn}")]
public async Task<IActionResult> IsMemberRegistered(string ssn)
{
var isRegistered = await _memberRepository.GetIsRegistered(ssn);
return Ok(new { IsRegistered = isRegistered });
}
[HttpDelete("clear")]
public async Task<IActionResult> ClearRegistrations()
{
await _memberRepository.ClearRegistrations();
return Ok(new { Message = "All registrations cleared." });
}
}
}