using Musify.Domain.ValueObjects;
namespace Musify.Api.Models
{
/// Query-string binding for a genre name (case-insensitive); unknown names are rejected with a 400.
public readonly record struct GenreParameter(Genre Value)
{
public static bool TryParse(string? value, out GenreParameter result)
{
if (Enum.TryParse(value, ignoreCase: true, out var genre) && Enum.IsDefined(genre))
{
result = new GenreParameter(genre);
return true;
}
result = default;
return false;
}
}
}