Add playlist endpoints to add and remove tracks

This commit is contained in:
2026-06-01 01:20:18 +02:00
parent c1fc0ed1a1
commit ba093e7fd5
+38
View File
@@ -50,6 +50,16 @@ public static class PlayListEndpoints
.AddEndpointFilter<ValidationFilter<RequestPlayListPictureUploadRequest>>()
.RequireAuthorization();
group.MapPost("/{playlistId}/tracks/{trackId}", AddTrackToPlayList)
.WithName("AddTrackToPlayList")
.WithSummary("Add A Track To A PlayList.")
.RequireAuthorization();
group.MapDelete("/{playlistId}/tracks/{trackId}", RemoveTrackFromPlayList)
.WithName("RemoveTrackFromPlayList")
.WithSummary("Remove A Track From A PlayList.")
.RequireAuthorization();
return app;
}
@@ -136,4 +146,32 @@ public static class PlayListEndpoints
return result.ToHttpResult();
}
private static async Task<IResult> AddTrackToPlayList(
IMediator mediator,
CurrentUser currentUser,
Guid playlistId,
Guid trackId,
CancellationToken cancellationToken)
{
var result = await mediator.Send(
new AddTrackToPlayListCommand(currentUser.RequiredId, playlistId, trackId),
cancellationToken);
return result.ToHttpResult();
}
private static async Task<IResult> RemoveTrackFromPlayList(
IMediator mediator,
CurrentUser currentUser,
Guid playlistId,
Guid trackId,
CancellationToken cancellationToken)
{
var result = await mediator.Send(
new RemoveTrackFromPlayListCommand(currentUser.RequiredId, playlistId, trackId),
cancellationToken);
return result.ToHttpResult();
}
}