Skip to content

Commit d7c9af0

Browse files
authored
Merge pull request #169 from GetStream/soft_delete_batch_reaction
[FEEDS-121]chore: batch delete soft reaction
2 parents 344eb84 + 26d028a commit d7c9af0

File tree

2 files changed

+53
-4
lines changed

2 files changed

+53
-4
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,24 @@
88
public class BatchDeleteReactionsRequest {
99

1010
private final List<String> ids;
11+
private final Boolean SoftDelete;
12+
1113

1214
public BatchDeleteReactionsRequest(@JsonProperty("ids") List<String> ids) {
1315
this.ids = ids;
16+
SoftDelete = null;
17+
}
18+
public BatchDeleteReactionsRequest(@JsonProperty("ids") List<String> ids, @JsonProperty("soft_delete") Boolean softDelete) {
19+
this.ids = ids;
20+
SoftDelete = softDelete;
1421
}
1522

1623
public List<String> getIds() {
1724
return ids;
1825
}
26+
27+
@JsonProperty("soft_delete")
28+
public Boolean getSoftDelete() {
29+
return SoftDelete;
30+
}
1931
}

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

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@
44

55
import com.google.common.collect.Lists;
66
import io.getstream.core.http.Response;
7-
import io.getstream.core.models.BatchDeleteActivitiesRequest;
7+
import io.getstream.core.models.*;
88
import io.getstream.core.models.BatchDeleteActivitiesRequest.ActivityToDelete;
9-
import io.getstream.core.models.Activity;
10-
import io.getstream.core.models.BatchDeleteReactionsRequest;
11-
import io.getstream.core.models.Reaction;
129
import io.getstream.core.options.Filter;
1310
import io.getstream.core.options.Limit;
1411
import java8.util.concurrent.CompletableFuture;
@@ -150,6 +147,46 @@ public void testDeleteReactions() throws Exception {
150147

151148

152149
}
150+
@Test
151+
public void testSoftDeleteReactions() throws Exception {
152+
String uuid1 = UUID.randomUUID().toString().replace("-", "");
153+
FlatFeed feed = client.flatFeed("user", uuid1);
154+
155+
// Insert two activities
156+
Activity activity1Res = feed.addActivity(Activity.builder()
157+
.actor("user1")
158+
.verb("post")
159+
.object("object1")
160+
.build()).join();
161+
162+
Activity activity2Res = feed.addActivity(Activity.builder()
163+
.actor("user1")
164+
.verb("like")
165+
.object("object2")
166+
.build()).join();
167+
168+
// Add reactions to both activities
169+
Reaction u1 = client.reactions().add("user1", "like", activity1Res.getID()).join();
170+
Reaction u2 = client.reactions().add("user2", "like", activity1Res.getID()).join();
171+
Reaction u3 = client.reactions().add("user1", "like", activity2Res.getID()).join();
172+
Reaction u4 = client.reactions().add("user2", "like", activity2Res.getID()).join();
173+
174+
// Verify reactions were created
175+
assertNotNull(client.reactions().get(u1.getId()).join());
176+
assertNotNull(client.reactions().get(u2.getId()).join());
177+
assertNotNull(client.reactions().get(u3.getId()).join());
178+
assertNotNull(client.reactions().get(u4.getId()).join());
179+
180+
// Soft delete reactions
181+
BatchDeleteReactionsRequest deleteReactionsRequest =
182+
new BatchDeleteReactionsRequest(Arrays.asList(u1.getId(), u2.getId(), u3.getId()), true);
183+
client.deleteReactions(deleteReactionsRequest).join();
184+
185+
// Verify reactions can still be fetched
186+
assertNotNull(client.reactions().get(u1.getId()).join());
187+
assertNotNull(client.reactions().get(u2.getId()).join());
188+
assertNotNull(client.reactions().get(u3.getId()).join());
189+
}
153190

154191
@Test
155192
public void testDeleteActivitiesMultipleFeeds() throws Exception {

0 commit comments

Comments
 (0)