Files
MeWeb/src/MeWeb.Shared/WebResult.cs
T

23 lines
765 B
C#
Raw Normal View History

using System.Net;
namespace MeWeb.Shared;
public class WebResult<T> where T : class
{
public T Data { get; set; }
public ViewRefusal Refusal { get; private set; }
public int StatusCode { get; private set; } = (int)HttpStatusCode.OK;
public bool IsInvalid => Refusal is not null;
public bool IsValid => Refusal is null;
public WebResult<T> Invalidate(string reason, int statusCode = (int)HttpStatusCode.BadRequest, int retryAfterSeconds = 0) =>
Invalidate(new ViewRefusal { Reason = reason, RetryAfterSeconds = retryAfterSeconds }, statusCode);
public WebResult<T> Invalidate(ViewRefusal refusal, int statusCode = (int)HttpStatusCode.BadRequest)
{
Data = null;
Refusal = refusal;
StatusCode = statusCode;
return this;
}
}