Skip to content

Commit 2ca89a4

Browse files
committed
chore: add moderation template to activity
1 parent 87a6f6f commit 2ca89a4

2 files changed

Lines changed: 60 additions & 4 deletions

File tree

src/main/java/io/getstream/core/models/Activity.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
@JsonInclude(Include.NON_NULL)
2020
@JsonDeserialize(builder = Activity.Builder.class)
2121
public class Activity {
22+
2223
private final String id;
2324
private final String actor;
2425
private final String verb;
@@ -31,6 +32,8 @@ public class Activity {
3132
private final List<FeedID> to;
3233
private final Double score;
3334
private final Map<String, Object> extra;
35+
private final String moderationTemplate;
36+
private final ModerationResponse moderationResponse;
3437

3538
private Activity(Builder builder) {
3639
id = builder.id;
@@ -44,6 +47,8 @@ private Activity(Builder builder) {
4447
to = builder.to;
4548
score = builder.score;
4649
extra = builder.extra;
50+
moderationTemplate = builder.moderationTemplate;
51+
moderationResponse = builder.moderationResponse;
4752
}
4853

4954
public String getID() {
@@ -97,6 +102,16 @@ public Map<String, Object> getExtra() {
97102
return extra;
98103
}
99104

105+
@JsonProperty("moderation")
106+
public ModerationResponse getModerationResponse() {
107+
return moderationResponse;
108+
}
109+
110+
@JsonProperty("moderation_template")
111+
public String getModerationTemplate() {
112+
return moderationTemplate;
113+
}
114+
100115
@Override
101116
public boolean equals(Object o) {
102117
if (this == o) return true;
@@ -154,12 +169,19 @@ public static final class Builder {
154169
private List<FeedID> to;
155170
private Double score;
156171
private Map<String, Object> extra;
172+
private String moderationTemplate;
173+
private ModerationResponse moderationResponse;
157174

158175
public Builder id(String id) {
159176
this.id = id;
160177
return this;
161178
}
162179

180+
public Builder moderationTemplate(String moderationTemplate) {
181+
this.moderationTemplate = moderationTemplate;
182+
return this;
183+
}
184+
163185
public Builder actor(String actor) {
164186
this.actor = actor;
165187
return this;
@@ -181,6 +203,13 @@ public Builder foreignID(String foreignID) {
181203
return this;
182204
}
183205

206+
@JsonProperty("moderation")
207+
public Builder setModerationResponse(ModerationResponse mod) {
208+
this.moderationResponse=mod;
209+
return this;
210+
}
211+
212+
184213
public Builder target(String target) {
185214
this.target = target;
186215
return this;
@@ -250,6 +279,8 @@ public Builder fromActivity(Activity activity) {
250279
this.to = activity.to;
251280
this.score = activity.score;
252281
this.extra = activity.extra;
282+
this.moderationTemplate = activity.moderationTemplate;
283+
this.moderationResponse = activity.moderationResponse;
253284
return this;
254285
}
255286

@@ -266,4 +297,4 @@ public Activity build() {
266297
return new Activity(this);
267298
}
268299
}
269-
}
300+
}

src/test/java/io/getstream/client/ModerationClientTest.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22

33
import io.getstream.client.Client;
44
import io.getstream.client.ModerationClient;
5+
import io.getstream.core.models.*;
56
import io.getstream.core.models.Activity;
6-
import io.getstream.core.models.Data;
7-
import io.getstream.core.models.Reaction;
87
import io.getstream.core.http.Response;
98
import static org.junit.Assert.*;
109

@@ -33,6 +32,7 @@ public class ModerationClientTest {
3332
@Test
3433
public void testFlagUser() throws Exception {
3534
Client client = Client.builder(apiKey, secret).build();
35+
3636
ModerationClient moderationClient = client.moderation();
3737

3838
String userId = UUID.randomUUID().toString();
@@ -74,4 +74,29 @@ public void testFlagReaction() throws Exception {
7474
Response flagResponse = moderationClient.flagReaction(reactionResponse.getId(), "bobby", "blood", null).join();
7575
assertNotNull(flagResponse);
7676
}
77-
}
77+
@Test
78+
public void testActivityModerated() throws Exception {
79+
80+
Client client = Client.builder(apiKey, secret).build();
81+
82+
ModerationClient moderationClient = client.moderation();
83+
84+
String[] images = new String[] { "image1", "image2" };
85+
Activity activity = Activity.builder().
86+
actor("test").
87+
verb("test").
88+
object("test").
89+
moderationTemplate("moderation_template_test_7").
90+
extraField("text", "pissoar").
91+
extraField("attachment", images).
92+
foreignID("for").
93+
time(new Date()).
94+
build();
95+
96+
Activity activityResponse = client.flatFeed("user", "1").addActivity(activity).join();
97+
assertNotNull(activityResponse);
98+
ModerationResponse m=activityResponse.getModerationResponse();
99+
assertEquals(m.getStatus(), "complete");
100+
assertEquals(m.getRecommendedAction(), "remove");
101+
}
102+
}

0 commit comments

Comments
 (0)