Harden Flowchart and Connection JSON serializers
This commit is contained in:
parent
7c4546e315
commit
b9ac7f2c4b
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue