Files
DesignAndArchitectureOfSoft…/ApplicationSystem/Controllers/ApplicationsController.cs

54 lines
1.5 KiB
C#

using ApplicationSystem.Models.Commands.ApplicationCommands;
using Asp.Versioning;
using MediatR;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace ApplicationSystem.Controllers
{
[ApiController]
[Authorize]
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]")]
public class ApplicationsController(IMediator mediator) : ControllerBase
{
private readonly IMediator _mediator = mediator;
[HttpPost]
public async Task<IActionResult> CreateApplicationAsync(
[FromForm] ApplicationCreateCommand request)
{
var response = await _mediator.Send(request);
return StatusCode((int)response.ResponseStatusCode);
}
[HttpGet]
public async Task<IActionResult> GetApplicationsAsync()
{
await Task.Delay(100);
return Ok();
}
[HttpGet("{id}")]
public async Task<IActionResult> GetApplicationAsync([FromRoute] Guid id)
{
await Task.Delay(100);
return Ok();
}
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteApplicationAsync([FromRoute] Guid id)
{
await Task.Delay(100);
return Ok();
}
[HttpPost("{id}/status")]
public async Task<IActionResult> UpdateApplicationStatusAsync([FromRoute] Guid id)
{
await Task.Delay(100);
return Ok();
}
}
}