Skip to content

Commit

Permalink
Add new campaign endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
ferhatelmas committed Aug 11, 2022
1 parent ba9baf9 commit d73136d
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 42 deletions.
17 changes: 7 additions & 10 deletions stream_chat/async_chat/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -513,11 +513,8 @@ async def list_roles(self) -> StreamResponse:
async def create_segment(self, segment: Dict) -> StreamResponse:
return await self.post("segments", data={"segment": segment})

async def get_segment(self, segment_id: str) -> StreamResponse:
return await self.get(f"segments/{segment_id}")

async def list_segments(self, **params: Any) -> StreamResponse:
return await self.get("segments", params)
async def query_segments(self, **params: Any) -> StreamResponse:
return await self.post("segments", data=params)

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

async def get_campaign(self, campaign_id: str) -> StreamResponse:
return await self.get(f"campaigns/{campaign_id}")

async def list_campaigns(self, **params: Any) -> StreamResponse:
return await self.get("campaigns", params)
async def query_campaigns(self, **params: Any) -> StreamResponse:
return await self.post("campaigns", params)

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

async def query_recipients(self, **params: Any) -> StreamResponse:
return await self.post("recipients", data=params)

async def stop_campaign(self, campaign_id: str) -> StreamResponse:
return await self.patch(f"campaigns/{campaign_id}/stop")

Expand Down
35 changes: 13 additions & 22 deletions stream_chat/base/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -907,20 +907,11 @@ def create_segment(
pass

@abc.abstractmethod
def get_segment(
self, segment_id: str
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
"""
Get a segment by id
"""
pass

@abc.abstractmethod
def list_segments(
def query_segments(
self, **params: Any
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
"""
List segments
Query segments
"""
pass

Expand Down Expand Up @@ -952,20 +943,11 @@ def create_campaign(
pass

@abc.abstractmethod
def get_campaign(
self, campaign_id: str
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
"""
Get a campaign by id
"""
pass

@abc.abstractmethod
def list_campaigns(
def query_campaigns(
self, **params: Any
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
"""
List campaigns
Query campaigns
"""
pass

Expand Down Expand Up @@ -1023,6 +1005,15 @@ def test_campaign(
"""
pass

@abc.abstractmethod
def query_recipients(
self, **params: Any
) -> Union[StreamResponse, Awaitable[StreamResponse]]:
"""
Query recipients
"""
pass

@abc.abstractmethod
def revoke_tokens(
self, since: Union[str, datetime.datetime]
Expand Down
17 changes: 7 additions & 10 deletions stream_chat/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,11 +491,8 @@ def list_roles(self) -> StreamResponse:
def create_segment(self, segment: Dict) -> StreamResponse:
return self.post("segments", data={"segment": segment})

def get_segment(self, segment_id: str) -> StreamResponse:
return self.get(f"segments/{segment_id}")

def list_segments(self, **params: Any) -> StreamResponse:
return self.get("segments", params)
def query_segments(self, **params: Any) -> StreamResponse:
return self.post("segments", data=params)

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

def get_campaign(self, campaign_id: str) -> StreamResponse:
return self.get(f"campaigns/{campaign_id}")

def list_campaigns(self, **params: Any) -> StreamResponse:
return self.get("campaigns", params)
def query_campaigns(self, **params: Any) -> StreamResponse:
return self.post("campaigns", data=params)

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

def query_recipients(self, **params: Any) -> StreamResponse:
return self.post("recipients", data=params)

def revoke_tokens(self, since: Union[str, datetime.datetime]) -> StreamResponse:
if isinstance(since, datetime.datetime):
since = since.isoformat()
Expand Down

0 comments on commit d73136d

Please sign in to comment.