Skip to content

Commit b8a26aa

Browse files
committed
feat(reaction): add id overrides for child (#83)
1 parent 6dd3451 commit b8a26aa

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

src/IReactions.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,18 @@ public interface IReactions
2121
/// <remarks>https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp</remarks>
2222
Task<Reaction> AddAsync(string kind, string activityId, string userId, IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null);
2323

24+
/// <summary>Adds a new child reaction.</summary>
25+
/// <remarks>https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp</remarks>
26+
Task<Reaction> AddChildAsync(string parentId, string reactionId, string kind, string userId, IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null);
27+
2428
/// <summary>Adds a new child reaction.</summary>
2529
/// <remarks>https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp</remarks>
2630
Task<Reaction> AddChildAsync(Reaction parent, string reactionId, string kind, string userId, IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null);
2731

32+
/// <summary>Adds a new child reaction.</summary>
33+
/// <remarks>https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp</remarks>
34+
Task<Reaction> AddChildAsync(string parentId, string kind, string userId, IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null);
35+
2836
/// <summary>Adds a new child reaction.</summary>
2937
/// <remarks>https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp</remarks>
3038
Task<Reaction> AddChildAsync(Reaction parent, string kind, string userId, IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null);

src/Reactions.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,16 @@ public async Task<Reaction> AddAsync(string reactionId, string kind, string acti
4343
public async Task<Reaction> AddChildAsync(Reaction parent, string kind, string userId,
4444
IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null)
4545
{
46-
return await AddChildAsync(parent, null, kind, userId, data, targetFeeds);
46+
return await AddChildAsync(parent.Id, null, kind, userId, data, targetFeeds);
4747
}
4848

49-
public async Task<Reaction> AddChildAsync(Reaction parent, string reactionId, string kind, string userId,
49+
public async Task<Reaction> AddChildAsync(string parentId, string kind, string userId,
50+
IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null)
51+
{
52+
return await AddChildAsync(parentId, null, kind, userId, data, targetFeeds);
53+
}
54+
55+
public async Task<Reaction> AddChildAsync(string parentId, string reactionId, string kind, string userId,
5056
IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null)
5157
{
5258
var r = new Reaction()
@@ -55,13 +61,19 @@ public async Task<Reaction> AddChildAsync(Reaction parent, string reactionId, st
5561
Kind = kind,
5662
UserId = userId,
5763
Data = data,
58-
ParentId = parent.Id,
64+
ParentId = parentId,
5965
TargetFeeds = targetFeeds,
6066
};
6167

6268
return await AddAsync(r);
6369
}
6470

71+
public async Task<Reaction> AddChildAsync(Reaction parent, string reactionId, string kind, string userId,
72+
IDictionary<string, object> data = null, IEnumerable<string> targetFeeds = null)
73+
{
74+
return await AddChildAsync(parent.Id, reactionId, kind, userId, data, targetFeeds);
75+
}
76+
6577
public async Task<Reaction> GetAsync(string reactionId)
6678
{
6779
var request = _client.BuildAppRequest($"reaction/{reactionId}/", HttpMethod.Get);

tests/ReactionTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public async Task TestReactions()
7474
// Add children
7575
var c1 = await Client.Reactions.AddChildAsync(r, "upvote", "tommy");
7676
var c2 = await Client.Reactions.AddChildAsync(r, "downvote", "timmy");
77-
var c3 = await Client.Reactions.AddChildAsync(r, "upvote", "jimmy");
77+
var c3 = await Client.Reactions.AddChildAsync(r.Id, "upvote", "jimmy");
7878

7979
var parent = await Client.Reactions.GetAsync(r.Id);
8080

@@ -125,7 +125,7 @@ public async Task TestReactionPagination()
125125
var r3 = await Client.Reactions.AddAsync("like", activity.Id, "bob", data);
126126

127127
var r4 = await Client.Reactions.AddChildAsync(r3, "upvote", "tom", data);
128-
var r5 = await Client.Reactions.AddChildAsync(r3, Guid.NewGuid().ToString(), "upvote", "mary", data);
128+
var r5 = await Client.Reactions.AddChildAsync(r3.Id, Guid.NewGuid().ToString(), "upvote", "mary", data);
129129

130130
// activity id
131131
var filter = ReactionFiltering.Default;
@@ -205,4 +205,4 @@ public async Task TestReactionPagination()
205205
Assert.AreEqual(r5.UserId, actual.UserId);
206206
}
207207
}
208-
}
208+
}

0 commit comments

Comments
 (0)