Skip to content

Commit bd87b13

Browse files
author
Igor Evdokimov
committed
BOTTICELLI-73:
- Message.Copy methods in order to copy all basic properties to a new message
1 parent 7593518 commit bd87b13

2 files changed

Lines changed: 25 additions & 2 deletions

File tree

Botticelli.AI/Message/AIMessage.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,16 @@ public AiMessage(string uid) : base(uid)
1010
{
1111
}
1212

13-
public string Instruction { get; set; }
13+
public string Instruction { get; set; } = string.Empty;
1414

15-
public List<AiMessage> AdditionalMessages { get; set; }
15+
public List<AiMessage> AdditionalMessages { get; set; } = new List<AiMessage>();
16+
17+
public override Shared.ValueObjects.Message Copy()
18+
{
19+
var newMessage = (AiMessage)(base.Copy());
20+
newMessage.Instruction = Instruction;
21+
newMessage.AdditionalMessages = AdditionalMessages;
22+
23+
return newMessage;
24+
}
1625
}

Botticelli.Shared/ValueObjects/Message.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,18 @@ public Message(string uid) : this()
121121
/// Chain id for chained command processing
122122
/// </summary>
123123
public Guid? ChainId { get; set; }
124+
125+
public virtual Message Copy()
126+
{
127+
var newMessage = new Message(Uid!)
128+
{
129+
ChatIds = ChatIds,
130+
ChainId = ChainId,
131+
From = From,
132+
ForwardedFrom = ForwardedFrom,
133+
ChatIdInnerIdLinks = ChatIdInnerIdLinks
134+
};
135+
136+
return newMessage;
137+
}
124138
}

0 commit comments

Comments
 (0)