Files
FA_WEB/FaKrosnoApi/Controllers/UsersController.cs
Piotr Kus 9b8d621f42 * Managed API to handle User maintenance
* Managed Users view in application
2025-02-20 06:39:06 +01:00

52 lines
1.4 KiB
C#

using Microsoft.AspNetCore.Mvc;
using OrdersManagementDataModel.Dtos;
using OrdersManagementDataModel.Services;
namespace FaKrosnoApi.Controllers;
[ApiController]
[Route("api/[controller]")]
public class UsersController(IUserService service) : Controller
{
[HttpGet]
public async Task<ActionResult<IEnumerable<UserDto>>> GetAll()
{
IEnumerable<UserDto?> users = await service.GetAll();
return Ok(users);
}
[HttpGet("by-id")]
public async Task<ActionResult<UserDto?>> GetById([FromQuery] Guid id)
{
UserDto? user = await service.GetById(id);
return user != null ? Ok(user) : NotFound();
}
[HttpGet("by-username")]
public async Task<ActionResult<UserDto?>> GetByUsername([FromQuery] string username)
{
UserDto? user = await service.GetByUsername(username);
return user != null ? Ok(user) : NotFound();
}
[HttpPost]
public async Task<ActionResult<UserDto>> Add([FromBody] UserDto user)
{
await service.Add(user);
return Ok(user);
}
[HttpPut]
public async Task<ActionResult<UserDto>> Update([FromBody] UserDto user)
{
await service.Update(user);
return Ok(user);
}
[HttpDelete]
public async Task<ActionResult<UserDto>> Delete([FromQuery] Guid id)
{
await service.Delete(id);
return Ok();
}
}