using CampusWorkshops.Api.Dtos; using CampusWorkshops.Api.Models; using CampusWorkshops.Api.Repositories; using Microsoft.AspNetCore.Mvc; namespace CampusWorkshops.Api.Controllers; [ApiController] [Route("api/[controller]")] public class WorkshopsController : ControllerBase { private readonly IWorkshopRepository _repo; public WorkshopsController(IWorkshopRepository repo) => _repo = repo; /// Lista workshops com filtros opcionais. [HttpGet] public Task GetAll([FromQuery] DateTimeOffset? from, [FromQuery] DateTimeOffset? to, [FromQuery] string? q, CancellationToken ct) { // TODO: implementar usando _repo.GetAllAsync e mapear para WorkshopResponse return Task.FromResult(Ok(Array.Empty())); } /// Obtém um workshop por Id. [HttpGet("{id:guid}")] public Task GetById(Guid id, CancellationToken ct) { // TODO: implementar usando _repo.GetByIdAsync return Task.FromResult(NotFound()); } /// Cria um novo workshop. [HttpPost] public Task Create([FromBody] CreateWorkshopRequest body, CancellationToken ct) { // TODO: validar ModelState, regras de negócio e chamar _repo.AddAsync; retornar CreatedAtAction return Task.FromResult(BadRequest()); } }