Files
mmorales.photo/backend/Presentation/Infraestructura/Responses/Response.cs
2025-08-28 16:01:55 +02:00

29 lines
969 B
C#

using System.Net;
namespace Presentation.Infraestructura.Responses;
public sealed class Response<T>
{
public bool IsSuccess { get; set; }
public HttpStatusCode StatusCode { get; set; }
public T? Data { get; set; }
public ValidationError[]? ValidationErrors { get; set; }
public ExecutionError[]? ExecutionErrors { get; set; }
public static Response<T> Success(T result, HttpStatusCode statusCode = HttpStatusCode.OK) =>
new()
{
IsSuccess = true,
StatusCode = statusCode,
Data = result
};
public static Response<T> Failure(HttpStatusCode statusCode = HttpStatusCode.InternalServerError, ValidationError[]? validationErrors = null, ExecutionError[]? executionErrors = null) =>
new()
{
IsSuccess = false,
StatusCode = statusCode,
ValidationErrors = validationErrors,
ExecutionErrors = executionErrors
};
}