Skip to content

Commit d8757f9

Browse files
authored
Expose target feed extra data in reaction add (#112)
Expose target_feeds_extra_data to add data to the activities when a reaction creates an activity in the given target feeds.
1 parent 5aba62b commit d8757f9

File tree

2 files changed

+50
-2
lines changed

2 files changed

+50
-2
lines changed

stream/reactions.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,21 @@ def __init__(self, client, token):
33
self.client = client
44
self.token = token
55

6-
def add(self, kind, activity_id, user_id, data=None, target_feeds=None):
6+
def add(
7+
self,
8+
kind,
9+
activity_id,
10+
user_id,
11+
data=None,
12+
target_feeds=None,
13+
target_feeds_extra_data=None,
14+
):
715
payload = dict(
816
kind=kind,
917
activity_id=activity_id,
1018
data=data,
1119
target_feeds=target_feeds,
20+
target_feeds_extra_data=target_feeds_extra_data,
1221
user_id=user_id,
1322
)
1423
return self.client.post(
@@ -34,12 +43,21 @@ def delete(self, reaction_id):
3443
"reaction/%s" % reaction_id, service_name="api", signature=self.token
3544
)
3645

37-
def add_child(self, kind, parent_id, user_id, data=None, target_feeds=None):
46+
def add_child(
47+
self,
48+
kind,
49+
parent_id,
50+
user_id,
51+
data=None,
52+
target_feeds=None,
53+
target_feeds_extra_data=None,
54+
):
3855
payload = dict(
3956
kind=kind,
4057
parent=parent_id,
4158
data=data,
4259
target_feeds=target_feeds,
60+
target_feeds_extra_data=target_feeds_extra_data,
4361
user_id=user_id,
4462
)
4563
return self.client.post(

stream/tests/test_client.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,36 @@ def test_create_user_reference(self):
12941294
def test_reaction_add(self):
12951295
self.c.reactions.add("like", "54a60c1e-4ee3-494b-a1e3-50c06acb5ed4", "mike")
12961296

1297+
def test_reaction_add_to_target_feeds(self):
1298+
r = self.c.reactions.add(
1299+
"superlike",
1300+
"54a60c1e-4ee3-494b-a1e3-50c06acb5ed4",
1301+
"mike",
1302+
data={"popularity": 50},
1303+
target_feeds=["user:michelle"],
1304+
target_feeds_extra_data={"popularity": 100},
1305+
)
1306+
self.assertEqual(r["data"]["popularity"], 50)
1307+
a = self.c.feed("user", "michelle").get(limit=1)["results"][0]
1308+
self.assertTrue(r["id"] in a["reaction"])
1309+
self.assertEqual(a["verb"], "superlike")
1310+
self.assertEqual(a["popularity"], 100)
1311+
1312+
child = self.c.reactions.add_child(
1313+
"superlike",
1314+
r["id"],
1315+
"rob",
1316+
data={"popularity": 60},
1317+
target_feeds=["user:michelle"],
1318+
target_feeds_extra_data={"popularity": 200},
1319+
)
1320+
1321+
self.assertEqual(child["data"]["popularity"], 60)
1322+
a = self.c.feed("user", "michelle").get(limit=1)["results"][0]
1323+
self.assertTrue(child["id"] in a["reaction"])
1324+
self.assertEqual(a["verb"], "superlike")
1325+
self.assertEqual(a["popularity"], 200)
1326+
12971327
def test_reaction_get(self):
12981328
response = self.c.reactions.add(
12991329
"like", "54a60c1e-4ee3-494b-a1e3-50c06acb5ed4", "mike"

0 commit comments

Comments
 (0)