Harden Flowchart and Connection JSON serializers

This commit is contained in:
Sipke Schoorstra 2023-07-12 18:33:19 +02:00
parent 7c4546e315
commit b9ac7f2c4b
2 changed files with 9 additions and 2 deletions

View file

@ -44,6 +44,9 @@ public class ConnectionJsonConverter : JsonConverter<Connection>
/// <inheritdoc />
public override void Write(Utf8JsonWriter writer, Connection value, JsonSerializerOptions options)
{
if (value.Source.Activity == null! || value.Target.Activity == null!)
return;
var model = new
{
Source = new

View file

@ -124,8 +124,12 @@ public class FlowchartJsonConverter : JsonConverter<Activities.Flowchart>
{
var missingSource = notFoundConnection.Source;
var missingTarget = notFoundConnection.Target;
var source = foundActivities.FirstOrDefault(x => x.Id == missingSource.Activity.Id);
var target = foundActivities.FirstOrDefault(x => x.Id == missingTarget.Activity.Id);
// ReSharper disable ConditionalAccessQualifierIsNonNullableAccordingToAPIContract
// Activity might be null in case of JSON missing information.
var source = foundActivities.FirstOrDefault(x => x.Id == missingSource.Activity?.Id);
var target = foundActivities.FirstOrDefault(x => x.Id == missingTarget.Activity?.Id);
// ReSharper restore ConditionalAccessQualifierIsNonNullableAccordingToAPIContract
if (source == null || target == null) continue;