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