от src избавился

This commit is contained in:
gorbenko.pavel
2026-08-12 12:19:04 +05:00
parent 509f26de7b
commit 4b83d666f1
71 changed files with 67 additions and 1135 deletions
@@ -0,0 +1,32 @@
using FluentResults;
using Microsoft.AspNetCore.Mvc;
using Tnsu.ApprovalRoute.Application.Common.Errors;
namespace Tnsu.ApprovalRoute.Api.Common;
public static class ResultExtensions
{
public static IActionResult ToActionResult<T>(this Result<T> result)
{
if (result.IsFailed)
return result.Errors[0].ToActionResult();
return new OkObjectResult(new ApiResponse<T>(result.Value));
}
public static IActionResult ToActionResult(this Result result)
{
if (result.IsFailed)
return result.Errors[0].ToActionResult();
return new NoContentResult();
}
private static IActionResult ToActionResult(this IError error) => error switch
{
NotFoundError => new NotFoundObjectResult(new ApiError([error.Message])),
ValidationError => new BadRequestObjectResult(new ApiError([error.Message])),
ConflictError => new ConflictObjectResult(new ApiError([error.Message])),
_ => new ObjectResult(new ApiError([error.Message])) { StatusCode = StatusCodes.Status500InternalServerError }
};
}