Skip to content

Commit 2e6b53f

Browse files
author
Daksh
committed
fix tests
1 parent 93aea5f commit 2e6b53f

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

stream_chat/async_chat/client.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ async def _make_request(
109109
headers["Authorization"] = self.auth_token
110110
headers["stream-auth-type"] = "jwt"
111111

112-
if method.__name__ in ["post", "put", "patch"]:
112+
if method.__name__ in ["post", "put", "patch", "delete"]:
113113
serialized = json.dumps(data)
114114

115115
async with method(
@@ -134,8 +134,8 @@ async def post(
134134
async def get(self, relative_url: str, params: Dict = None) -> StreamResponse:
135135
return await self._make_request(self.session.get, relative_url, params, None)
136136

137-
async def delete(self, relative_url: str, params: Dict = None) -> StreamResponse:
138-
return await self._make_request(self.session.delete, relative_url, params, None)
137+
async def delete(self, relative_url: str, params: Dict = None, data: Any = None) -> StreamResponse:
138+
return await self._make_request(self.session.delete, relative_url, params, data)
139139

140140
async def patch(
141141
self, relative_url: str, params: Dict = None, data: Any = None
@@ -365,14 +365,13 @@ async def delete_message(
365365
if delete_for_me and not deleted_by:
366366
raise ValueError("deleted_by is required when delete_for_me is True")
367367

368-
data = options.copy()
368+
params = options.copy()
369369
if delete_for_me:
370-
data["delete_for_me"] = True
371-
data["deleted_by"] = deleted_by
372-
elif deleted_by:
373-
data["deleted_by"] = deleted_by
374-
375-
return await self.delete(f"messages/{message_id}", data)
370+
body = {"delete_for_me": True, "user": {"id": deleted_by}}
371+
return await self.delete(f"messages/{message_id}", None, body)
372+
if deleted_by:
373+
params["deleted_by"] = deleted_by
374+
return await self.delete(f"messages/{message_id}", params)
376375

377376
async def undelete_message(self, message_id: str, user_id: str) -> StreamResponse:
378377
return await self.post(

stream_chat/client.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ def _make_request(
8484
data: Any = None,
8585
) -> StreamResponse:
8686
params = params or {}
87+
# Convert boolean values to lowercase strings for consistency with async implementation
88+
params = {
89+
k: str(v).lower() if isinstance(v, bool) else v for k, v in params.items()
90+
}
8791
data = data or {}
8892
serialized = None
8993
default_params = self.get_default_params()
@@ -94,7 +98,7 @@ def _make_request(
9498

9599
url = f"{self.base_url}/{relative_url}"
96100

97-
if method.__name__ in ["post", "put", "patch"]:
101+
if method.__name__ in ["post", "put", "patch", "delete"]:
98102
serialized = json.dumps(data)
99103

100104
response = method(
@@ -119,8 +123,8 @@ def post(
119123
def get(self, relative_url: str, params: Dict = None) -> StreamResponse:
120124
return self._make_request(self.session.get, relative_url, params, None)
121125

122-
def delete(self, relative_url: str, params: Dict = None) -> StreamResponse:
123-
return self._make_request(self.session.delete, relative_url, params, None)
126+
def delete(self, relative_url: str, params: Dict = None, data: Any = None) -> StreamResponse:
127+
return self._make_request(self.session.delete, relative_url, params, data)
124128

125129
def patch(
126130
self, relative_url: str, params: Dict = None, data: Any = None
@@ -352,14 +356,14 @@ def delete_message(
352356
if delete_for_me and not deleted_by:
353357
raise ValueError("deleted_by is required when delete_for_me is True")
354358

355-
data = options.copy()
359+
params = options.copy()
356360
if delete_for_me:
357-
data["delete_for_me"] = True
358-
data["deleted_by"] = deleted_by
359-
elif deleted_by:
360-
data["deleted_by"] = deleted_by
361-
362-
return self.delete(f"messages/{message_id}", data)
361+
# Send acting user in the request body for server-side auth compatibility
362+
body = {"delete_for_me": True, "user": {"id": deleted_by}}
363+
return self.delete(f"messages/{message_id}", None, body)
364+
if deleted_by:
365+
params["deleted_by"] = deleted_by
366+
return self.delete(f"messages/{message_id}", params)
363367

364368
def undelete_message(self, message_id: str, user_id: str) -> StreamResponse:
365369
return self.post(

0 commit comments

Comments
 (0)