Close data leaks: remove anonymous user creation, hide private playlists, validate uploads and clamp gateway ranges

This commit is contained in:
2026-09-24 05:00:21 +02:00
parent c8fe28b07b
commit c8e9c7790e
34 changed files with 374 additions and 553 deletions
@@ -1,7 +1,6 @@
using System.Net;
using System.Net.Http.Json;
using Musify.Api.DataTransferObjects.Albums;
using Musify.Api.DataTransferObjects.Users;
using Musify.Api.Tests.TestSupport;
using Musify.Application.Albums.Responses;
using Musify.Application.Contracts;
@@ -13,14 +12,7 @@ namespace Musify.Api.Tests.Endpoints;
[Collection(ApiCollection.Name)]
public sealed class AlbumEndpointsTests(ApiTestFixture fixture)
{
private async Task<long> CreateUserAsync()
{
var userId = Random.Shared.NextInt64(1, long.MaxValue);
var response = await fixture.CreateAnonymousClient()
.PostAsJsonAsync("/users", new CreateUserRequest(userId, $"user-{userId}", null, null));
response.EnsureSuccessStatusCode();
return userId;
}
private Task<long> CreateUserAsync() => fixture.SeedUserAsync();
private async Task<Guid> CreatePictureIntentAsync(HttpClient client)
{