From 800ce8f845cfa59bc9be516ea16748d46bb13d2e Mon Sep 17 00:00:00 2001 From: Varsh Date: Thu, 12 Jun 2025 17:22:40 +0200 Subject: [PATCH 1/4] add moderationTemplate field to reaction update --- src/Reactions.cs | 3 ++- tests/ModerationTests.cs | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Reactions.cs b/src/Reactions.cs index 0dbc0e3..52e3f1f 100644 --- a/src/Reactions.cs +++ b/src/Reactions.cs @@ -130,13 +130,14 @@ private async Task FilterInternalAsync(ReactionFiltering filtering return response; } - public async Task UpdateAsync(string reactionId, IDictionary data = null, IEnumerable targetFeeds = null) + public async Task UpdateAsync(string reactionId, IDictionary data = null, IEnumerable targetFeeds = null, string moderationTemplate = null) { var r = new Reaction { Id = reactionId, Data = data, TargetFeeds = targetFeeds, + ModerationTemplate = moderationTemplate, }; var request = _client.BuildAppRequest($"reaction/{reactionId}/", HttpMethod.Put); diff --git a/tests/ModerationTests.cs b/tests/ModerationTests.cs index 479c440..d53168e 100644 --- a/tests/ModerationTests.cs +++ b/tests/ModerationTests.cs @@ -63,6 +63,18 @@ public async Task TestReactionModeration() Assert.AreEqual("complete", response.Status); Assert.AreEqual("remove", response.RecommendedAction); + + var updatedData = new Dictionary() { { "field", "updated" }, { "number", 3 }, { "text", "pissoar" }, }; + var updatedReaction = await Client.Reactions.UpdateAsync(r.Id, updatedData, null, "moderation_config_1_reaction"); + + Assert.NotNull(updatedReaction); + Assert.AreEqual(updatedReaction.Id, r.Id); + Assert.AreEqual(updatedReaction.Data["field"], "updated"); + Assert.AreEqual(updatedReaction.Data["number"], 3); + + var updatedResponse = updatedReaction.GetModerationResponse(); + Assert.AreEqual("complete", updatedResponse.Status); + Assert.AreEqual("remove", updatedResponse.RecommendedAction); } [Test] From 8cfcc94ce93b7b8f298aa5432af59002d0251723 Mon Sep 17 00:00:00 2001 From: Varsh Date: Thu, 12 Jun 2025 17:27:03 +0200 Subject: [PATCH 2/4] update interface --- src/IReactions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IReactions.cs b/src/IReactions.cs index 3abb40e..971b766 100644 --- a/src/IReactions.cs +++ b/src/IReactions.cs @@ -59,6 +59,6 @@ public interface IReactions /// Updates a reaction. /// https://getstream.io/activity-feeds/docs/dotnet-csharp/reactions_introduction/?language=csharp - Task UpdateAsync(string reactionId, IDictionary data = null, IEnumerable targetFeeds = null); + Task UpdateAsync(string reactionId, IDictionary data = null, IEnumerable targetFeeds = null, string moderationTemplate = null); } } \ No newline at end of file From 48c79becac2a3d48a69c4c5f957109686cbdc861 Mon Sep 17 00:00:00 2001 From: Varsh Date: Fri, 13 Jun 2025 13:18:40 +0200 Subject: [PATCH 3/4] Update ModerationTests.cs --- tests/ModerationTests.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/ModerationTests.cs b/tests/ModerationTests.cs index d53168e..f65ad6a 100644 --- a/tests/ModerationTests.cs +++ b/tests/ModerationTests.cs @@ -75,6 +75,18 @@ public async Task TestReactionModeration() var updatedResponse = updatedReaction.GetModerationResponse(); Assert.AreEqual("complete", updatedResponse.Status); Assert.AreEqual("remove", updatedResponse.RecommendedAction); + + var updatedData2 = new Dictionary() { { "field", "updated" }, { "number", 3 }, { "text", "hello" }, }; + var updatedReaction2 = await Client.Reactions.UpdateAsync(r.Id, updatedData2, null, "moderation_config_1_reaction"); + + Assert.NotNull(updatedReaction2); + Assert.AreEqual(updatedReaction2.Id, r.Id); + Assert.AreEqual(updatedReaction2.Data["field"], "updated"); + Assert.AreEqual(updatedReaction2.Data["number"], 3); + + var updatedResponse2 = updatedReaction2.GetModerationResponse(); + Assert.AreEqual("complete", updatedResponse2.Status); + Assert.AreEqual("keep", updatedResponse2.RecommendedAction); } [Test] @@ -144,4 +156,4 @@ public async Task TestFlagReaction() Assert.NotNull(response); } } -} \ No newline at end of file +} From 637ebadffcfdc77b0381175dba19593c283d3cdb Mon Sep 17 00:00:00 2001 From: Varsh Date: Fri, 13 Jun 2025 18:29:49 +0200 Subject: [PATCH 4/4] Update ModerationTests.cs --- tests/ModerationTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ModerationTests.cs b/tests/ModerationTests.cs index f65ad6a..4effff3 100644 --- a/tests/ModerationTests.cs +++ b/tests/ModerationTests.cs @@ -86,7 +86,7 @@ public async Task TestReactionModeration() var updatedResponse2 = updatedReaction2.GetModerationResponse(); Assert.AreEqual("complete", updatedResponse2.Status); - Assert.AreEqual("keep", updatedResponse2.RecommendedAction); + Assert.AreEqual("remove", updatedResponse2.RecommendedAction); } [Test]