Separate responsibilities: start-listening command, API-side JSON converters, bulk track endpoints, mix kinds

This commit is contained in:
2026-09-24 12:14:53 +02:00
parent 75d0c0817e
commit 0fa033faff
64 changed files with 2903 additions and 651 deletions
@@ -0,0 +1,20 @@
using FluentValidation;
using Musify.Api.DataTransferObjects;
namespace Musify.Api.Validators;
public sealed class AddTracksRequestValidator : AbstractValidator<AddTracksRequest>
{
public const int MaxTracksPerRequest = 500;
public AddTracksRequestValidator()
{
RuleFor(x => x.TrackIds)
.NotEmpty()
.Must(ids => ids.Count <= MaxTracksPerRequest)
.WithMessage($"At most {MaxTracksPerRequest} tracks can be added at once.");
RuleForEach(x => x.TrackIds)
.NotEmpty();
}
}