using Domain.Entities; using Features.UserManagement.Queries.GetAllUsers; using Features.UserManagement.Queries.GetUserById; using MediatR; using Microsoft.AspNetCore.Mvc; namespace Features.UserManagement.Controllers; [ApiController] [Route("api/[controller]")] public class UserController(IMediator mediator) : ControllerBase { /// null for no limit. /// null for no offset. [HttpGet] public async Task>> GetAll( [FromQuery] int? limit, [FromQuery] int? offset ) { IEnumerable users = await mediator.Send(new GetAllUsersQuery(limit, offset)); return Ok(users); } [HttpGet("{id:guid}")] public async Task> GetById(Guid id) { UserAccount user = await mediator.Send(new GetUserByIdQuery(id)); return Ok(user); } }