Rewrite handlers

This commit is contained in:
2026-03-28 20:47:54 +01:00
parent 06ef70cb3b
commit 4fa341d2c8
12 changed files with 441 additions and 285 deletions
@@ -0,0 +1,24 @@
using Ardalis.Result;
namespace Musify.Application.Extensions
{
public static class ResultExtensions
{
public static Result ToErrorResult<T>(this Result<T> result)
{
var newResult = result.Status switch
{
ResultStatus.Error => Result.Error(new ErrorList(result.Errors)),
ResultStatus.Forbidden => Result.Forbidden(result.Errors.ToArray()),
ResultStatus.Unauthorized => Result.Unauthorized(result.Errors.ToArray()),
ResultStatus.Invalid => Result.Invalid(result.ValidationErrors.ToArray()),
ResultStatus.NotFound => Result.NotFound(result.Errors.ToArray()),
ResultStatus.Conflict => Result.Conflict(result.Errors.ToArray()),
ResultStatus.CriticalError => Result.CriticalError(result.Errors.ToArray()),
ResultStatus.Unavailable => Result.Unavailable(result.Errors.ToArray()),
_ => throw new NotSupportedException($"Result {result.Status} conversion is not supported.")
};
return newResult;
}
}
}