From 39d7a0f15aece951c9bc7b4a8a5bd90cd965814c Mon Sep 17 00:00:00 2001 From: Mia Winter Date: Sat, 3 Feb 2024 20:29:37 +0100 Subject: [PATCH] Added caching to UserController pfp endpoint --- Wave/Controllers/UserController.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Wave/Controllers/UserController.cs b/Wave/Controllers/UserController.cs index 57da965..2a6a551 100644 --- a/Wave/Controllers/UserController.cs +++ b/Wave/Controllers/UserController.cs @@ -1,6 +1,6 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.OutputCaching; using Microsoft.EntityFrameworkCore; using Wave.Data; using Wave.Services; @@ -8,13 +8,15 @@ namespace Wave.Controllers; [ApiController] -[Microsoft.AspNetCore.Mvc.Route("/api/[controller]")] +[Route("/api/[controller]")] public class UserController(ImageService imageService, IDbContextFactory contextFactory) : ControllerBase { private ImageService ImageService { get; } = imageService; private IDbContextFactory ContextFactory { get; } = contextFactory; [HttpGet] - [Microsoft.AspNetCore.Mvc.Route("pfp/{userId}")] + [OutputCache(Duration = 60*5)] + [ResponseCache(Duration = 60*5, Location = ResponseCacheLocation.Any)] + [Route("pfp/{userId}")] public async Task Get(string userId) { await using var context = await ContextFactory.CreateDbContextAsync(); var user = await context.Users.Include(u => u.ProfilePicture).FirstOrDefaultAsync(u => u.Id == userId);