@@ -39,6 +39,30 @@ public class ExternalAppRequestEvent
3939 [ Required ]
4040 public string ExportTaskId { get ; set ; } = default ! ;
4141
42+ /// <summary>
43+ /// Gets or set the correlation ID.
44+ /// For DIMSE, the correlation ID is the UUID associated with the first DICOM association received.
45+ /// For ACR, use the Transaction ID in the original request.
46+ /// </summary>
47+ [ JsonProperty ( PropertyName = "correlation_id" ) ]
48+ [ JsonPropertyName ( "correlation_id" ) ]
49+ [ Required ]
50+ public string CorrelationId { get ; set ; } = default ! ;
51+
52+ /// <summary>
53+ /// Gets or sets the delivery tag or acknowledge token for the task.
54+ /// </summary>
55+ [ JsonProperty ( PropertyName = "delivery_tag" ) ]
56+ [ JsonPropertyName ( "delivery_tag" ) ]
57+ public string DeliveryTag { get ; set ; } = default ! ;
58+
59+ /// <summary>
60+ /// Gets or sets the message ID set by the message broker.
61+ /// </summary>
62+ [ JsonProperty ( PropertyName = "message_id" ) ]
63+ [ JsonPropertyName ( "message_id" ) ]
64+ public string MessageId { get ; set ; } = default ! ;
65+
4266 /// <summary>
4367 /// Gets or sets the state of the export task.
4468 /// </summary>
@@ -56,6 +80,14 @@ public class ExternalAppRequestEvent
5680 [ JsonPropertyName ( "message" ) ]
5781 public string Message { get ; set ; } = default ! ;
5882
83+ /// <summary>
84+ /// Gets or sets a list of files to be exported.
85+ /// </summary>
86+ [ JsonProperty ( PropertyName = "files" ) ]
87+ [ JsonPropertyName ( "files" ) ]
88+ [ Required , MinLength ( 1 ) ]
89+ public IEnumerable < string > Files { get ; set ; } = default ! ;
90+
5991 /// <summary>
6092 /// Gets or sets files exported with its status
6193 /// </summary>
@@ -64,9 +96,26 @@ public class ExternalAppRequestEvent
6496 public Dictionary < string , FileExportStatus > FileStatuses { get ; set ; }
6597
6698 /// <summary>
67- /// the target to export too
99+ /// Gets or sets error messages related to this export task.
100+ /// </summary>
101+ [ JsonProperty ( PropertyName = "error_messages" ) ]
102+ [ JsonPropertyName ( "error_messages" ) ]
103+ public List < string > ErrorMessages { get ; private set ; } = new List < string > ( ) ;
104+
105+ /// <summary>
106+ /// A list of data output plug-in type names to be executed by the export services.
107+ /// Each string must be a fully-qualified type name.
108+ /// E.g. <code>MyCompnay.MyProject.MyNamepsace.MyPlugin, MyCompnay.MyProject.MyNamepsace</code> where
109+ /// <code>MyCompnay.MyProject.MyNamepsace</code> is the name of the assembly (DLL).
110+ /// </summary>
111+ [ JsonProperty ( PropertyName = "plug_in_assemblies" ) ]
112+ [ JsonPropertyName ( "plug_in_assemblies" ) ]
113+ public List < string > PluginAssemblies { get ; private set ; } = new List < string > ( ) ;
114+
115+ /// <summary>
116+ /// the targets to export too
68117 /// </summary>
69- public DataOrigin ? Target { get ; set ; }
118+ public List < DataOrigin > Targets { get ; set ; } = new List < DataOrigin > ( ) ;
70119
71120 [ Newtonsoft . Json . JsonConstructor ]
72121 [ System . Text . Json . Serialization . JsonConstructor ]
0 commit comments