@@ -51,34 +51,44 @@ private AppendStreamOperation(HttpRequest request, JObject body)
5151 : this ( request , new JArray { body } )
5252 { }
5353
54- private static NewStreamMessage ParseNewStreamMessage ( JToken newStreamMessage , int index )
54+ private static NewStreamMessageDto ParseNewStreamMessage ( JToken newStreamMessage , int index )
5555 {
5656 if ( ! Guid . TryParse ( newStreamMessage . Value < string > ( "messageId" ) , out var messageId ) )
5757 {
58- throw new InvalidAppendRequestException ( $ "'{ nameof ( messageId ) } ' at index { index } was improperly formatted.") ;
58+ throw new InvalidAppendRequestException (
59+ $ "'{ nameof ( messageId ) } ' at index { index } was improperly formatted.") ;
5960 }
61+
6062 if ( messageId == Guid . Empty )
6163 {
6264 throw new InvalidAppendRequestException ( $ "'{ nameof ( messageId ) } ' at index { index } was empty.") ;
6365 }
66+
6467 var type = newStreamMessage . Value < string > ( "type" ) ;
6568
6669 if ( type == null )
6770 {
6871 throw new InvalidAppendRequestException ( $ "'{ nameof ( type ) } ' at index { index } was not set.") ;
6972 }
70-
71- return new NewStreamMessage (
72- messageId ,
73- type ,
74- newStreamMessage . Value < JToken > ( "jsonData" ) . ToString ( ) ,
75- newStreamMessage . Value < JToken > ( "jsonMetadata" ) ? . ToString ( ) ) ;
73+
74+ return new NewStreamMessageDto
75+ {
76+ MessageId = messageId ,
77+ Type = type ,
78+ JsonData = newStreamMessage . Value < JToken > ( "jsonData" ) ,
79+ JsonMetadata = newStreamMessage . Value < JToken > ( "jsonMetadata" )
80+ } ;
7681 }
82+
7783 public string StreamId { get ; }
7884 public int ExpectedVersion { get ; }
79- public NewStreamMessage [ ] NewStreamMessages { get ; }
85+ public NewStreamMessageDto [ ] NewStreamMessages { get ; }
8086
81- public Task < AppendResult > Invoke ( IStreamStore streamStore , CancellationToken ct )
82- => streamStore . AppendToStream ( StreamId , ExpectedVersion , NewStreamMessages , ct ) ;
87+ public Task < AppendResult > Invoke ( IStreamStore streamStore , CancellationToken ct )
88+ => streamStore . AppendToStream (
89+ StreamId ,
90+ ExpectedVersion ,
91+ Array . ConvertAll ( NewStreamMessages , dto => dto . ToNewStreamMessage ( ) ) ,
92+ ct ) ;
8393 }
8494}
0 commit comments