Skip to content

Commit d59ac12

Browse files
authored
Merge pull request #87 from GetStream/sync-spec
Build code from latest spec
2 parents dff86ae + 7f9827b commit d59ac12

6 files changed

Lines changed: 500 additions & 7 deletions

File tree

getstream/chat/rest_client.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,7 @@ def create_channel_type(
645645
typing_events: Optional[bool] = None,
646646
uploads: Optional[bool] = None,
647647
url_enrichment: Optional[bool] = None,
648+
user_message_reminders: Optional[bool] = None,
648649
blocklists: Optional[List[BlockListOptions]] = None,
649650
commands: Optional[List[str]] = None,
650651
permissions: Optional[List[PolicyRequest]] = None,
@@ -674,6 +675,7 @@ def create_channel_type(
674675
typing_events=typing_events,
675676
uploads=uploads,
676677
url_enrichment=url_enrichment,
678+
user_message_reminders=user_message_reminders,
677679
blocklists=blocklists,
678680
commands=commands,
679681
permissions=permissions,
@@ -730,6 +732,7 @@ def update_channel_type(
730732
typing_events: Optional[bool] = None,
731733
uploads: Optional[bool] = None,
732734
url_enrichment: Optional[bool] = None,
735+
user_message_reminders: Optional[bool] = None,
733736
allowed_flag_reasons: Optional[List[str]] = None,
734737
blocklists: Optional[List[BlockListOptions]] = None,
735738
commands: Optional[List[str]] = None,
@@ -764,6 +767,7 @@ def update_channel_type(
764767
typing_events=typing_events,
765768
uploads=uploads,
766769
url_enrichment=url_enrichment,
770+
user_message_reminders=user_message_reminders,
767771
allowed_flag_reasons=allowed_flag_reasons,
768772
blocklists=blocklists,
769773
commands=commands,
@@ -1171,6 +1175,59 @@ def remove_poll_vote(
11711175
path_params=path_params,
11721176
)
11731177

1178+
def delete_reminder(
1179+
self, message_id: str, user_id: Optional[str] = None
1180+
) -> StreamResponse[DeleteReminderResponse]:
1181+
query_params = build_query_param(user_id=user_id)
1182+
path_params = {
1183+
"message_id": message_id,
1184+
}
1185+
1186+
return self.delete(
1187+
"/api/v2/chat/messages/{message_id}/reminders",
1188+
DeleteReminderResponse,
1189+
query_params=query_params,
1190+
path_params=path_params,
1191+
)
1192+
1193+
def update_reminder(
1194+
self,
1195+
message_id: str,
1196+
remind_at: Optional[datetime] = None,
1197+
user_id: Optional[str] = None,
1198+
user: Optional[UserRequest] = None,
1199+
) -> StreamResponse[UpdateReminderResponse]:
1200+
path_params = {
1201+
"message_id": message_id,
1202+
}
1203+
json = build_body_dict(remind_at=remind_at, user_id=user_id, user=user)
1204+
1205+
return self.patch(
1206+
"/api/v2/chat/messages/{message_id}/reminders",
1207+
UpdateReminderResponse,
1208+
path_params=path_params,
1209+
json=json,
1210+
)
1211+
1212+
def create_reminder(
1213+
self,
1214+
message_id: str,
1215+
remind_at: Optional[datetime] = None,
1216+
user_id: Optional[str] = None,
1217+
user: Optional[UserRequest] = None,
1218+
) -> StreamResponse[ReminderResponseData]:
1219+
path_params = {
1220+
"message_id": message_id,
1221+
}
1222+
json = build_body_dict(remind_at=remind_at, user_id=user_id, user=user)
1223+
1224+
return self.post(
1225+
"/api/v2/chat/messages/{message_id}/reminders",
1226+
ReminderResponseData,
1227+
path_params=path_params,
1228+
json=json,
1229+
)
1230+
11741231
def get_replies(
11751232
self,
11761233
parent_id: str,
@@ -1551,6 +1608,30 @@ def query_banned_users(
15511608
query_params=query_params,
15521609
)
15531610

1611+
def query_reminders(
1612+
self,
1613+
limit: Optional[int] = None,
1614+
next: Optional[str] = None,
1615+
prev: Optional[str] = None,
1616+
user_id: Optional[str] = None,
1617+
sort: Optional[List[SortParamRequest]] = None,
1618+
filter: Optional[Dict[str, object]] = None,
1619+
user: Optional[UserRequest] = None,
1620+
) -> StreamResponse[QueryRemindersResponse]:
1621+
json = build_body_dict(
1622+
limit=limit,
1623+
next=next,
1624+
prev=prev,
1625+
user_id=user_id,
1626+
sort=sort,
1627+
filter=filter,
1628+
user=user,
1629+
)
1630+
1631+
return self.post(
1632+
"/api/v2/chat/reminders/query", QueryRemindersResponse, json=json
1633+
)
1634+
15541635
def search(
15551636
self, payload: Optional[SearchPayload] = None
15561637
) -> StreamResponse[SearchResponse]:

getstream/common/rest_client.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def update_app(
5555
sqs_url: Optional[str] = None,
5656
webhook_url: Optional[str] = None,
5757
allowed_flag_reasons: Optional[List[str]] = None,
58+
event_hooks: Optional[List[EventHook]] = None,
5859
image_moderation_block_labels: Optional[List[str]] = None,
5960
image_moderation_labels: Optional[List[str]] = None,
6061
user_search_disallowed_roles: Optional[List[str]] = None,
@@ -103,6 +104,7 @@ def update_app(
103104
sqs_url=sqs_url,
104105
webhook_url=webhook_url,
105106
allowed_flag_reasons=allowed_flag_reasons,
107+
event_hooks=event_hooks,
106108
image_moderation_block_labels=image_moderation_block_labels,
107109
image_moderation_labels=image_moderation_labels,
108110
user_search_disallowed_roles=user_search_disallowed_roles,
@@ -190,6 +192,7 @@ def update_block_list(
190192
def check_push(
191193
self,
192194
apn_template: Optional[str] = None,
195+
event_type: Optional[str] = None,
193196
firebase_data_template: Optional[str] = None,
194197
firebase_template: Optional[str] = None,
195198
message_id: Optional[str] = None,
@@ -201,6 +204,7 @@ def check_push(
201204
) -> StreamResponse[CheckPushResponse]:
202205
json = build_body_dict(
203206
apn_template=apn_template,
207+
event_type=event_type,
204208
firebase_data_template=firebase_data_template,
205209
firebase_template=firebase_template,
206210
message_id=message_id,
@@ -472,6 +476,33 @@ def get_task(self, id: str) -> StreamResponse[GetTaskResponse]:
472476

473477
return self.get("/api/v2/tasks/{id}", GetTaskResponse, path_params=path_params)
474478

479+
def delete_file(self, url: Optional[str] = None) -> StreamResponse[Response]:
480+
query_params = build_query_param(url=url)
481+
482+
return self.delete("/api/v2/uploads/file", Response, query_params=query_params)
483+
484+
def upload_file(
485+
self, file: Optional[str] = None, user: Optional[OnlyUserID] = None
486+
) -> StreamResponse[FileUploadResponse]:
487+
json = build_body_dict(file=file, user=user)
488+
489+
return self.post("/api/v2/uploads/file", FileUploadResponse, json=json)
490+
491+
def delete_image(self, url: Optional[str] = None) -> StreamResponse[Response]:
492+
query_params = build_query_param(url=url)
493+
494+
return self.delete("/api/v2/uploads/image", Response, query_params=query_params)
495+
496+
def upload_image(
497+
self,
498+
file: Optional[str] = None,
499+
upload_sizes: Optional[List[ImageSize]] = None,
500+
user: Optional[OnlyUserID] = None,
501+
) -> StreamResponse[ImageUploadResponse]:
502+
json = build_body_dict(file=file, upload_sizes=upload_sizes, user=user)
503+
504+
return self.post("/api/v2/uploads/image", ImageUploadResponse, json=json)
505+
475506
def query_users(
476507
self, payload: Optional[QueryUsersPayload] = None
477508
) -> StreamResponse[QueryUsersResponse]:

0 commit comments

Comments
 (0)