using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.OutputCaching; using Portfolio.Shared.Services; namespace Portfolio.Api.Controller; [ApiController, Route("api/projects"), OutputCache(Tags = [DatabaseContext.CacheKey])] public class ProjectController(IProjectRepository repository) : ControllerBase { [HttpGet] public async Task GetProjects(CancellationToken ct) { var projects = await repository.GetProjects(ct); return Ok(projects); } }