Skip to content

Commit ba5d532

Browse files
author
github-actions
committed
chore: batch delete soft reaction
1 parent 344eb84 commit ba5d532

File tree

2 files changed

+59
-4
lines changed

2 files changed

+59
-4
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@
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() {

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

Lines changed: 52 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,57 @@ 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 were soft deleted
186+
assertThrows(Exception.class, () -> client.reactions().get(u1.getId()).join());
187+
assertThrows(Exception.class, () -> client.reactions().get(u2.getId()).join());
188+
assertThrows(Exception.class, () -> client.reactions().get(u3.getId()).join());
189+
190+
// Restore reactions and verify
191+
client.reactions().restore(u1.getId()).join();
192+
client.reactions().restore(u2.getId()).join();
193+
194+
ReactionBatch restoredReactions = client.reactions().getBatch(Arrays.asList(u1.getId(), u2.getId())).join();
195+
List<Reaction> result = restoredReactions.getReactions();
196+
197+
assertEquals(2, result.size());
198+
assertTrue(result.stream().anyMatch(r -> r.getId().equals(u1.getId())));
199+
assertTrue(result.stream().anyMatch(r -> r.getId().equals(u2.getId())));
200+
}
153201

154202
@Test
155203
public void testDeleteActivitiesMultipleFeeds() throws Exception {

0 commit comments

Comments
 (0)