using System.Diagnostics.CodeAnalysis; using System.Net; namespace Pilz.Net.Api; public record class ApiResponse( HttpStatusCode StatusCode, 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 (!IsOk) throw new Exception("Api return is not ok!"); } }