Files
Musify/backend/Hosts/Musify.Api/Endpoints/ConfigEndpoints.cs
T
Admin fcf3093ad8 Unify API route parameters, return IResult everywhere, merge picture upload DTOs and centralize validation limits
Guid and long route constraints, id/trackId parameter names, Update*Request without the New prefix,
sentence-case operation summaries, shared security scheme id and a single Limits class.
2026-09-24 12:36:48 +02:00

30 lines
953 B
C#

using Mediator;
using Musify.Application.Configuration;
using Musify.Application.Configuration.Responses;
namespace Musify.Api.Endpoints;
public static class ConfigEndpoints
{
public static IEndpointRouteBuilder MapConfigEndpoints(this IEndpointRouteBuilder app)
{
var group = app.MapGroup("/config")
.WithTags("Config");
group.MapGet("/playback", GetPlaybackPublicConfig)
.WithName("GetPlaybackPublicConfig")
.WithSummary("Get the public playback configuration (whether anonymous listening is allowed). Works anonymously")
.Produces<PlaybackPublicConfigResponse>();
return app;
}
private static async Task<IResult> GetPlaybackPublicConfig(
IMediator mediator,
CancellationToken cancellationToken)
{
var result = await mediator.Send(new GetPlaybackPublicConfigQuery(), cancellationToken);
return Results.Ok(result);
}
}