Files
Pilz/Pilz.Net/Api/ApiResult.cs
2025-06-13 09:21:04 +02:00

42 lines
1.5 KiB
C#

using System.Net;
namespace Pilz.Net.Api;
public record class ApiResult(
HttpStatusCode StatusCode,
ApiMessage? Message = null)
{
public static ApiResult Ok() => new(HttpStatusCode.OK);
public static ApiResult Ok(ApiMessage? message) => new(HttpStatusCode.OK, message);
public static ApiResult Created() => new(HttpStatusCode.Created);
public static ApiResult Created(ApiMessage? message) => new(HttpStatusCode.Created, message);
public static ApiResult Unauthorized() => new(HttpStatusCode.Unauthorized);
public static ApiResult NotFound() => new(HttpStatusCode.NotFound);
public static ApiResult NoContent() => new(HttpStatusCode.NoContent);
public static ApiResult Forbidden() => new(HttpStatusCode.Forbidden);
public static ApiResult Locked() => new(HttpStatusCode.Locked);
public static ApiResult TooManyRequests() => new(HttpStatusCode.TooManyRequests);
public static ApiResult ServiceUnavailable() => new(HttpStatusCode.ServiceUnavailable);
public static ApiResult UnavailableForLegalReasons() => new(HttpStatusCode.UnavailableForLegalReasons);
public static ApiResult InternalServerError() => new(HttpStatusCode.InternalServerError);
public static ApiResult BadRequest() => new(HttpStatusCode.BadRequest);
public static ApiResult Accepted() => new(HttpStatusCode.Accepted);
public static ApiResult NotAccepted() => new(HttpStatusCode.NotAcceptable);
public static ApiResult MethodNotAllowed() => new(HttpStatusCode.MethodNotAllowed);
}