29 lines
969 B
C#
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
|
|
};
|
|
} |