From 9b1a76d047eef7f5244e61527399e12f396e2d04 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Thu, 24 Jul 2025 21:38:18 +0200 Subject: [PATCH] Extend `ActivityExecutionRecordSnapshot` and update `DefaultActivityExecutionMapper` to include additional activity execution details. --- .../Models/ActivityExecutionRecordSnapshot.cs | 13 +++++++++++++ .../Services/DefaultActivityExecutionMapper.cs | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/modules/Elsa.Workflows.Runtime/Models/ActivityExecutionRecordSnapshot.cs b/src/modules/Elsa.Workflows.Runtime/Models/ActivityExecutionRecordSnapshot.cs index 3f0031f2a..377850153 100644 --- a/src/modules/Elsa.Workflows.Runtime/Models/ActivityExecutionRecordSnapshot.cs +++ b/src/modules/Elsa.Workflows.Runtime/Models/ActivityExecutionRecordSnapshot.cs @@ -2,6 +2,19 @@ namespace Elsa.Workflows.Runtime; public class ActivityExecutionRecordSnapshot { + public string Id { get; set; } = null!; + public string? TenantId { get; set; } + public string WorkflowInstanceId { get; set; } = null!; + public string ActivityId { get; set; } = null!; + public string ActivityNodeId { get; set; } = null!; + public string ActivityType { get; set; } = null!; + public int ActivityTypeVersion { get; set; } + public string? ActivityName { get; set; } + public DateTimeOffset StartedAt { get; set; } + public bool HasBookmarks { get; set; } + public ActivityStatus Status { get; set; } + public int AggregateFaultCount { get; set; } + public DateTimeOffset? CompletedAt { get; set; } public string? SerializedActivityState { get; set; } public string? SerializedOutputs { get; set; } public string? SerializedProperties { get; set; } diff --git a/src/modules/Elsa.Workflows.Runtime/Services/DefaultActivityExecutionMapper.cs b/src/modules/Elsa.Workflows.Runtime/Services/DefaultActivityExecutionMapper.cs index 3779f253d..223cd55f3 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/DefaultActivityExecutionMapper.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/DefaultActivityExecutionMapper.cs @@ -58,6 +58,19 @@ public class DefaultActivityExecutionMapper( var serializedMetadata = record.Metadata != null ? payloadSerializer.Serialize(record.Metadata) : null; record.SerializedSnapshot = new() { + Id = record.Id, + TenantId = record.TenantId, + WorkflowInstanceId = record.WorkflowInstanceId, + ActivityId = record.ActivityId, + ActivityNodeId = record.ActivityNodeId, + ActivityType = record.ActivityType, + ActivityTypeVersion = record.ActivityTypeVersion, + ActivityName = record.ActivityName, + StartedAt = record.StartedAt, + HasBookmarks = record.HasBookmarks, + Status = record.Status, + AggregateFaultCount = record.AggregateFaultCount, + CompletedAt = record.CompletedAt, SerializedActivityState = compressedSerializedActivityState, SerializedActivityStateCompressionAlgorithm = compressionAlgorithm, SerializedOutputs = record.Outputs?.Any() == true ? safeSerializer.Serialize(record.Outputs) : null,