54 lines
1.5 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|