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>> GetAll() { IEnumerable users = await service.GetAll(); return Ok(users); } [HttpGet("by-id")] public async Task> GetById([FromQuery] Guid id) { UserDto? user = await service.GetById(id); return user != null ? Ok(user) : NotFound(); } [HttpGet("by-username")] public async Task> GetByUsername([FromQuery] string username) { UserDto? user = await service.GetByUsername(username); return user != null ? Ok(user) : NotFound(); } [HttpPost] public async Task> Add([FromBody] UserDto user) { await service.Add(user); return Ok(user); } [HttpPut] public async Task> Update([FromBody] UserDto user) { await service.Update(user); return Ok(user); } [HttpDelete] public async Task> Delete([FromQuery] Guid id) { await service.Delete(id); return Ok(); } }