Skip to content

Commit 073b428

Browse files
authored
Merge pull request #110 from rapidpro/updates
Updates to use messages and broadcasts UUID fields
2 parents 3941f8a + 59334e6 commit 073b428

5 files changed

Lines changed: 22 additions & 27 deletions

File tree

temba_client/v2/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ def get_boundaries(self, geometry=None):
6060
params = self._build_params(geometry=geometry)
6161
return self._get_query("boundaries", params, Boundary)
6262

63-
def get_broadcasts(self, id=None, before=None, after=None):
63+
def get_broadcasts(self, uuid=None, before=None, after=None):
6464
"""
6565
Gets all matching broadcasts
66-
:param id: broadcast id
66+
:param uuid: broadcast UUID
6767
:param datetime before: created before
6868
:param datetime after: created after
6969
:return: broadcast query
7070
"""
71-
params = self._build_params(id=id, before=before, after=after)
71+
params = self._build_params(uuid=uuid, before=before, after=after)
7272
return self._get_query("broadcasts", params, Broadcast)
7373

7474
def get_campaigns(self, uuid=None):
@@ -186,16 +186,16 @@ def get_labels(self, uuid=None, name=None):
186186
"""
187187
return self._get_query("labels", self._build_params(uuid=uuid, name=name), Label)
188188

189-
def get_messages(self, id=None, folder=None, before=None, after=None):
189+
def get_messages(self, uuid=None, folder=None, before=None, after=None):
190190
"""
191191
Gets all matching messages
192-
:param id: message id
192+
:param uuid: message UUID
193193
:param folder: folder name
194194
:param datetime before: created before
195195
:param datetime after: created after
196196
:return: message query
197197
"""
198-
params = self._build_params(id=id, folder=folder, before=before, after=after)
198+
params = self._build_params(uuid=uuid, folder=folder, before=before, after=after)
199199
return self._get_query("messages", params, Message)
200200

201201
def get_org(self, retry_on_rate_exceed=False):

temba_client/v2/tests.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def test_get_broadcasts(self, mock_request):
245245
self.assertRequest(mock_request, "get", "broadcasts")
246246
self.assertEqual(len(results), 2)
247247

248-
self.assertEqual(results[0].id, 1234)
248+
self.assertEqual(results[0].uuid, "c4f3b6e1-2d3a-4f4b-8f4e-1e2d3c4b5a6f")
249249
self.assertEqual(results[0].urns, ["tel:+250783865665", "twitter:bobby"])
250250
self.assertEqual(len(results[0].contacts), 1)
251251
self.assertEqual(results[0].contacts[0].uuid, "5079cb96-a1d8-4f47-8c87-d8c7bb6ddab9")
@@ -258,7 +258,7 @@ def test_get_broadcasts(self, mock_request):
258258

259259
# check with all params
260260
self.client.get_broadcasts(
261-
id=12345,
261+
uuid="c4f3b6e1-2d3a-4f4b-8f4e-1e2d3c4b5a6f",
262262
after=datetime(2014, 12, 12, 22, 34, 36, 978123, tzone.utc),
263263
before=datetime(2014, 12, 12, 22, 56, 58, 917123, tzone.utc),
264264
).all()
@@ -267,7 +267,7 @@ def test_get_broadcasts(self, mock_request):
267267
mock_request,
268268
"get",
269269
"broadcasts",
270-
params={"id": 12345, "after": "2014-12-12T22:34:36.978123Z", "before": "2014-12-12T22:56:58.917123Z"},
270+
params={"uuid": "c4f3b6e1-2d3a-4f4b-8f4e-1e2d3c4b5a6f", "after": "2014-12-12T22:34:36.978123Z", "before": "2014-12-12T22:56:58.917123Z"},
271271
)
272272

273273
def test_get_campaigns(self, mock_request):
@@ -601,8 +601,7 @@ def test_get_messages(self, mock_request):
601601
self.assertRequest(mock_request, "get", "messages")
602602
self.assertEqual(len(results), 2)
603603

604-
self.assertEqual(results[0].id, 4105423)
605-
self.assertEqual(results[0].broadcast, 2690006)
604+
self.assertEqual(results[0].uuid, "eb6aeae0-0433-45de-bbed-031039a1cfaa")
606605
self.assertEqual(results[0].contact.uuid, "d33e9ad5-5c35-414c-abd4-e7451c69ff1d")
607606
self.assertEqual(results[0].contact.name, "Frank McFlow")
608607
self.assertEqual(results[0].urn, "twitter:franky6431")
@@ -629,7 +628,7 @@ def test_get_messages(self, mock_request):
629628

630629
# check with all params
631630
self.client.get_messages(
632-
id=123456,
631+
uuid="eb6aeae0-0433-45de-bbed-031039a1cfaa",
633632
folder="inbox",
634633
after=datetime(2014, 12, 12, 22, 34, 36, 978123, tzone.utc),
635634
before=datetime(2014, 12, 12, 22, 56, 58, 917123, tzone.utc),
@@ -640,7 +639,7 @@ def test_get_messages(self, mock_request):
640639
"get",
641640
"messages",
642641
params={
643-
"id": 123456,
642+
"uuid": "eb6aeae0-0433-45de-bbed-031039a1cfaa",
644643
"folder": "inbox",
645644
"after": "2014-12-12T22:34:36.978123Z",
646645
"before": "2014-12-12T22:56:58.917123Z",
@@ -812,7 +811,7 @@ def test_create_broadcast(self, mock_request):
812811
"groups": ["04a4752b-0f49-480e-ae60-3a3f2bea485c"],
813812
},
814813
)
815-
self.assertEqual(broadcast.id, 1234)
814+
self.assertEqual(broadcast.uuid, "c4f3b6e1-2d3a-4f4b-8f4e-1e2d3c4b5a6f")
816815

817816
def test_create_campaign(self, mock_request):
818817
mock_request.return_value = MockResponse(201, self.read_json("campaigns", extract_result=0))
@@ -937,7 +936,7 @@ def test_create_message(self, mock_request):
937936
"messages",
938937
data={"contact": "5079cb96-a1d8-4f47-8c87-d8c7bb6ddab9", "text": "Hi there", "attachments": []},
939938
)
940-
self.assertEqual(message.id, 4105423)
939+
self.assertEqual(message.uuid, "eb6aeae0-0433-45de-bbed-031039a1cfaa")
941940

942941
def test_create_resthook_subscriber(self, mock_request):
943942
subscriber_json = self.read_json("resthook_subscribers", extract_result=0)
@@ -1244,8 +1243,8 @@ def test_contact_actions(self, mock_request):
12441243
def test_message_actions(self, mock_request):
12451244
mock_request.return_value = MockResponse(204, "")
12461245

1247-
messages = [Message.create(id=1001), 1002]
1248-
resolved_messages = [1001, 1002]
1246+
messages = [Message.create(uuid="eb6aeae0-0433-45de-bbed-031039a1cfaa"), "2be38dc4-b3ae-4fdf-a3b6-7defb3c11c4c"]
1247+
resolved_messages = ["eb6aeae0-0433-45de-bbed-031039a1cfaa", "2be38dc4-b3ae-4fdf-a3b6-7defb3c11c4c"]
12491248

12501249
self.client.bulk_label_messages(messages=messages, label="Testing", label_name="Spam")
12511250
self.assertRequest(

temba_client/v2/types.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,14 @@ class Geometry(TembaObject):
5757

5858

5959
class Broadcast(TembaObject):
60-
id = IntegerField()
60+
uuid = SimpleField()
6161
status = SimpleField()
6262
urns = SimpleField()
6363
contacts = ObjectListField(item_class=ObjectRef)
6464
groups = ObjectListField(item_class=ObjectRef)
6565
text = SimpleField()
6666
created_on = DatetimeField()
6767

68-
6968
class Campaign(TembaObject):
7069
uuid = SimpleField()
7170
name = SimpleField()
@@ -207,8 +206,7 @@ class AttachmentRef(TembaObject):
207206
content_type = SimpleField()
208207
url = SimpleField()
209208

210-
id = IntegerField()
211-
broadcast = IntegerField()
209+
uuid = SimpleField()
212210
contact = ObjectField(item_class=ObjectRef)
213211
urn = SimpleField()
214212
channel = ObjectField(item_class=ObjectRef)

test_files/v2/broadcasts.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"previous": null,
44
"results": [
55
{
6-
"id": 1234,
6+
"uuid": "c4f3b6e1-2d3a-4f4b-8f4e-1e2d3c4b5a6f",
77
"status": "sent",
88
"urns": ["tel:+250783865665", "twitter:bobby"],
99
"contacts": [{"uuid": "5079cb96-a1d8-4f47-8c87-d8c7bb6ddab9", "name": "Joe"}],
@@ -12,7 +12,7 @@
1212
"created_on": "2015-11-11T08:30:24.922024+00:00"
1313
},
1414
{
15-
"id": 2345,
15+
"uuid": "d5e6f7a8-9b0c-4d1e-8f9a-0b1c2d3e4f5a",
1616
"urns": ["twitter:bobby"],
1717
"contacts": [],
1818
"groups": [],

test_files/v2/messages.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
"previous": null,
44
"results": [
55
{
6-
"id": 4105423,
7-
"broadcast": 2690006,
6+
"uuid": "eb6aeae0-0433-45de-bbed-031039a1cfaa",
87
"contact": {
98
"uuid": "d33e9ad5-5c35-414c-abd4-e7451c69ff1d",
109
"name": "Frank McFlow"
@@ -30,8 +29,7 @@
3029
"modified_on": null
3130
},
3231
{
33-
"id": 4088573,
34-
"broadcast": null,
32+
"uuid": "a0502d1b-3ea7-40e7-838e-16d55d0574f8",
3533
"contact": {
3634
"uuid": "d33e9ad5-5c35-414c-abd4-e7451c69ff1d",
3735
"name": "Frank McFlow"

0 commit comments

Comments
 (0)