diff --git a/src/IReactions.cs b/src/IReactions.cs
index 01d5668..22fe1fe 100644
--- a/src/IReactions.cs
+++ b/src/IReactions.cs
@@ -21,10 +21,18 @@ public interface IReactions
/// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp
Task AddAsync(string kind, string activityId, string userId, IDictionary data = null, IEnumerable targetFeeds = null);
+ /// Adds a new child reaction.
+ /// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp
+ Task AddChildAsync(string parentId, string reactionId, string kind, string userId, IDictionary data = null, IEnumerable targetFeeds = null);
+
/// Adds a new child reaction.
/// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp
Task AddChildAsync(Reaction parent, string reactionId, string kind, string userId, IDictionary data = null, IEnumerable targetFeeds = null);
+ /// Adds a new child reaction.
+ /// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp
+ Task AddChildAsync(string parentId, string kind, string userId, IDictionary data = null, IEnumerable targetFeeds = null);
+
/// Adds a new child reaction.
/// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp
Task AddChildAsync(Reaction parent, string kind, string userId, IDictionary data = null, IEnumerable targetFeeds = null);
diff --git a/src/Reactions.cs b/src/Reactions.cs
index 129c3bf..353ee69 100644
--- a/src/Reactions.cs
+++ b/src/Reactions.cs
@@ -43,10 +43,16 @@ public async Task AddAsync(string reactionId, string kind, string acti
public async Task AddChildAsync(Reaction parent, string kind, string userId,
IDictionary data = null, IEnumerable targetFeeds = null)
{
- return await AddChildAsync(parent, null, kind, userId, data, targetFeeds);
+ return await AddChildAsync(parent.Id, null, kind, userId, data, targetFeeds);
}
- public async Task AddChildAsync(Reaction parent, string reactionId, string kind, string userId,
+ public async Task AddChildAsync(string parentId, string kind, string userId,
+ IDictionary data = null, IEnumerable targetFeeds = null)
+ {
+ return await AddChildAsync(parentId, null, kind, userId, data, targetFeeds);
+ }
+
+ public async Task AddChildAsync(string parentId, string reactionId, string kind, string userId,
IDictionary data = null, IEnumerable targetFeeds = null)
{
var r = new Reaction()
@@ -55,13 +61,19 @@ public async Task AddChildAsync(Reaction parent, string reactionId, st
Kind = kind,
UserId = userId,
Data = data,
- ParentId = parent.Id,
+ ParentId = parentId,
TargetFeeds = targetFeeds,
};
return await AddAsync(r);
}
+ public async Task AddChildAsync(Reaction parent, string reactionId, string kind, string userId,
+ IDictionary data = null, IEnumerable targetFeeds = null)
+ {
+ return await AddChildAsync(parent.Id, reactionId, kind, userId, data, targetFeeds);
+ }
+
public async Task GetAsync(string reactionId)
{
var request = _client.BuildAppRequest($"reaction/{reactionId}/", HttpMethod.Get);
diff --git a/tests/ReactionTests.cs b/tests/ReactionTests.cs
index aaffcde..cc9be66 100644
--- a/tests/ReactionTests.cs
+++ b/tests/ReactionTests.cs
@@ -74,7 +74,7 @@ public async Task TestReactions()
// Add children
var c1 = await Client.Reactions.AddChildAsync(r, "upvote", "tommy");
var c2 = await Client.Reactions.AddChildAsync(r, "downvote", "timmy");
- var c3 = await Client.Reactions.AddChildAsync(r, "upvote", "jimmy");
+ var c3 = await Client.Reactions.AddChildAsync(r.Id, "upvote", "jimmy");
var parent = await Client.Reactions.GetAsync(r.Id);
@@ -125,7 +125,7 @@ public async Task TestReactionPagination()
var r3 = await Client.Reactions.AddAsync("like", activity.Id, "bob", data);
var r4 = await Client.Reactions.AddChildAsync(r3, "upvote", "tom", data);
- var r5 = await Client.Reactions.AddChildAsync(r3, Guid.NewGuid().ToString(), "upvote", "mary", data);
+ var r5 = await Client.Reactions.AddChildAsync(r3.Id, Guid.NewGuid().ToString(), "upvote", "mary", data);
// activity id
var filter = ReactionFiltering.Default;
@@ -205,4 +205,4 @@ public async Task TestReactionPagination()
Assert.AreEqual(r5.UserId, actual.UserId);
}
}
-}
\ No newline at end of file
+}