Validate screenshot URLs server- and client-side

This commit is contained in:
2026-01-29 01:39:23 +01:00
parent 480c2a6e49
commit 5b62640b76
3 changed files with 39 additions and 0 deletions

View File

@@ -51,6 +51,11 @@ public static class SuggestEndpoints
return Results.BadRequest(new { error = "Name is required and must be <= 100 characters." });
}
if (!EndpointHelpers.IsValidImageUrl(request.ScreenshotUrl))
{
return Results.BadRequest(new { error = "Screenshot URL must be http(s) and end with an image file extension." });
}
var player = await EndpointHelpers.GetAuthenticatedPlayer(ctx, db);
if (player is null) return Results.Unauthorized();
@@ -118,6 +123,11 @@ public static class SuggestEndpoints
return Results.BadRequest(new { error = "Name is required and must be <= 100 characters." });
}
if (!EndpointHelpers.IsValidImageUrl(request.ScreenshotUrl))
{
return Results.BadRequest(new { error = "Screenshot URL must be http(s) and end with an image file extension." });
}
var suggestion = await db.Suggestions.FirstOrDefaultAsync(s => s.Id == id);
if (suggestion == null) return Results.NotFound(new { error = "Suggestion not found." });