add more helper methods
This commit is contained in:
@@ -2,4 +2,9 @@
|
||||
|
||||
public abstract class ApiMessage
|
||||
{
|
||||
private class EmptyApiMessage : ApiMessage { }
|
||||
|
||||
public ApiMessage Empty { get; } = new EmptyApiMessage();
|
||||
|
||||
public bool IsEmpty => this is EmptyApiMessage;
|
||||
}
|
||||
|
||||
@@ -5,9 +5,11 @@ namespace Pilz.Net.Api;
|
||||
public record class ApiResponse(
|
||||
HttpStatusCode StatusCode)
|
||||
{
|
||||
public bool IsOk => StatusCode != HttpStatusCode.OK;
|
||||
|
||||
public void EnsureOk()
|
||||
{
|
||||
if (StatusCode != HttpStatusCode.OK)
|
||||
if (!IsOk)
|
||||
throw new Exception("Api return is not ok!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,10 +8,13 @@ public record class ApiResponse<T>(
|
||||
T? Message)
|
||||
where T : ApiMessage
|
||||
{
|
||||
[MemberNotNullWhen(true, nameof(Message))]
|
||||
public bool IsOk => StatusCode == HttpStatusCode.OK && Message is not null;
|
||||
|
||||
[MemberNotNull(nameof(Message))]
|
||||
public void EnsureOk()
|
||||
{
|
||||
if (StatusCode != HttpStatusCode.OK || Message is null)
|
||||
if (!IsOk)
|
||||
throw new Exception("Api return is not ok!");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user