Skip to content

Commit a63992f

Browse files
committed
feat: add new campaign endpoints (#123)
1 parent ba9baf9 commit a63992f

File tree

3 files changed

+27
-42
lines changed

3 files changed

+27
-42
lines changed

stream_chat/async_chat/client.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -513,11 +513,8 @@ async def list_roles(self) -> StreamResponse:
513513
async def create_segment(self, segment: Dict) -> StreamResponse:
514514
return await self.post("segments", data={"segment": segment})
515515

516-
async def get_segment(self, segment_id: str) -> StreamResponse:
517-
return await self.get(f"segments/{segment_id}")
518-
519-
async def list_segments(self, **params: Any) -> StreamResponse:
520-
return await self.get("segments", params)
516+
async def query_segments(self, **params: Any) -> StreamResponse:
517+
return await self.post("segments", data=params)
521518

522519
async def update_segment(self, segment_id: str, data: Dict) -> StreamResponse:
523520
return await self.put(f"segments/{segment_id}", data={"segment": data})
@@ -528,11 +525,8 @@ async def delete_segment(self, segment_id: str) -> StreamResponse:
528525
async def create_campaign(self, campaign: Dict) -> StreamResponse:
529526
return await self.post("campaigns", data={"campaign": campaign})
530527

531-
async def get_campaign(self, campaign_id: str) -> StreamResponse:
532-
return await self.get(f"campaigns/{campaign_id}")
533-
534-
async def list_campaigns(self, **params: Any) -> StreamResponse:
535-
return await self.get("campaigns", params)
528+
async def query_campaigns(self, **params: Any) -> StreamResponse:
529+
return await self.post("campaigns", params)
536530

537531
async def update_campaign(self, campaign_id: str, data: Dict) -> StreamResponse:
538532
return await self.put(f"campaigns/{campaign_id}", data={"campaign": data})
@@ -548,6 +542,9 @@ async def schedule_campaign(
548542
f"campaigns/{campaign_id}/schedule", data={"send_at": send_at}
549543
)
550544

545+
async def query_recipients(self, **params: Any) -> StreamResponse:
546+
return await self.post("recipients", data=params)
547+
551548
async def stop_campaign(self, campaign_id: str) -> StreamResponse:
552549
return await self.patch(f"campaigns/{campaign_id}/stop")
553550

stream_chat/base/client.py

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -907,20 +907,11 @@ def create_segment(
907907
pass
908908

909909
@abc.abstractmethod
910-
def get_segment(
911-
self, segment_id: str
912-
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
913-
"""
914-
Get a segment by id
915-
"""
916-
pass
917-
918-
@abc.abstractmethod
919-
def list_segments(
910+
def query_segments(
920911
self, **params: Any
921912
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
922913
"""
923-
List segments
914+
Query segments
924915
"""
925916
pass
926917

@@ -952,20 +943,11 @@ def create_campaign(
952943
pass
953944

954945
@abc.abstractmethod
955-
def get_campaign(
956-
self, campaign_id: str
957-
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
958-
"""
959-
Get a campaign by id
960-
"""
961-
pass
962-
963-
@abc.abstractmethod
964-
def list_campaigns(
946+
def query_campaigns(
965947
self, **params: Any
966948
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
967949
"""
968-
List campaigns
950+
Query campaigns
969951
"""
970952
pass
971953

@@ -1023,6 +1005,15 @@ def test_campaign(
10231005
"""
10241006
pass
10251007

1008+
@abc.abstractmethod
1009+
def query_recipients(
1010+
self, **params: Any
1011+
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
1012+
"""
1013+
Query recipients
1014+
"""
1015+
pass
1016+
10261017
@abc.abstractmethod
10271018
def revoke_tokens(
10281019
self, since: Union[str, datetime.datetime]

stream_chat/client.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -491,11 +491,8 @@ def list_roles(self) -> StreamResponse:
491491
def create_segment(self, segment: Dict) -> StreamResponse:
492492
return self.post("segments", data={"segment": segment})
493493

494-
def get_segment(self, segment_id: str) -> StreamResponse:
495-
return self.get(f"segments/{segment_id}")
496-
497-
def list_segments(self, **params: Any) -> StreamResponse:
498-
return self.get("segments", params)
494+
def query_segments(self, **params: Any) -> StreamResponse:
495+
return self.post("segments", data=params)
499496

500497
def update_segment(self, segment_id: str, data: Dict) -> StreamResponse:
501498
return self.put(f"segments/{segment_id}", data={"segment": data})
@@ -506,11 +503,8 @@ def delete_segment(self, segment_id: str) -> StreamResponse:
506503
def create_campaign(self, campaign: Dict) -> StreamResponse:
507504
return self.post("campaigns", data={"campaign": campaign})
508505

509-
def get_campaign(self, campaign_id: str) -> StreamResponse:
510-
return self.get(f"campaigns/{campaign_id}")
511-
512-
def list_campaigns(self, **params: Any) -> StreamResponse:
513-
return self.get("campaigns", params)
506+
def query_campaigns(self, **params: Any) -> StreamResponse:
507+
return self.post("campaigns", data=params)
514508

515509
def update_campaign(self, campaign_id: str, data: Dict) -> StreamResponse:
516510
return self.put(f"campaigns/{campaign_id}", data={"campaign": data})
@@ -534,6 +528,9 @@ def resume_campaign(self, campaign_id: str) -> StreamResponse:
534528
def test_campaign(self, campaign_id: str, users: Iterable[str]) -> StreamResponse:
535529
return self.post(f"campaigns/{campaign_id}/test", data={"users": users})
536530

531+
def query_recipients(self, **params: Any) -> StreamResponse:
532+
return self.post("recipients", data=params)
533+
537534
def revoke_tokens(self, since: Union[str, datetime.datetime]) -> StreamResponse:
538535
if isinstance(since, datetime.datetime):
539536
since = since.isoformat()

0 commit comments

Comments
 (0)