46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
using AccessQueueService.Models;
|
|
using AccessQueueService.Services;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace AccessQueueService.Controllers
|
|
{
|
|
[ApiController]
|
|
[Route("access")]
|
|
public class AccessController : ControllerBase
|
|
{
|
|
private readonly IAccessService _accessService;
|
|
|
|
public AccessController(IAccessService accessService)
|
|
{
|
|
_accessService = accessService;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("{id}")]
|
|
public async Task<AccessResponse> Get(string id)
|
|
{
|
|
return await _accessService.RequestAccess(id);
|
|
}
|
|
|
|
[HttpDelete]
|
|
[Route("{id}")]
|
|
public async Task<bool> Delete(string id)
|
|
{
|
|
return await _accessService.RevokeAccess(id);
|
|
}
|
|
|
|
[HttpGet("configuration")]
|
|
public ActionResult<AccessQueueConfig> GetConfiguration()
|
|
{
|
|
return Ok(_accessService.GetConfiguration());
|
|
}
|
|
|
|
[HttpPost("configuration")]
|
|
public IActionResult UpdateConfiguration([FromBody] AccessQueueConfig config)
|
|
{
|
|
_accessService.PatchConfiguration(config);
|
|
return NoContent();
|
|
}
|
|
}
|
|
}
|