Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
43 changes: 38 additions & 5 deletions src/Generated/ChatTrait.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -279,18 +279,24 @@ public function deleteChannel(string $type, string $id, ?bool $hardDelete = null
return StreamResponse::fromJson($this->makeRequest('DELETE', $path, $queryParams, $requestData), GeneratedModels\DeleteChannelResponse::class);
}
/**
* Returns a channel by its CID without creating it. Responds with 404 when the channel does not exist, so it doubles as an existence check. Pass state=true to also load messages, read state and watchers.
* Returns a channel by its CID without creating it. Responds with 404 when the channel does not exist, so it doubles as an existence check. Pass state=true to also load messages, read state and watchers, and the messages_id_* parameters to page those messages by message ID.
*
* @param string $type
* @param string $id
* @param ?bool $state
* @param ?int $messagesLimit
* @param ?int $membersLimit
* @param ?int $watchersLimit
* @param ?string $messagesIDLt
* @param ?string $messagesIDLte
* @param ?string $messagesIDGt
* @param ?string $messagesIDGte
* @param ?string $messagesIDAround
* @param ?string $userID
* @return StreamResponse<GeneratedModels\ChannelStateResponse>
* @throws StreamException
*/
public function getChannel(string $type, string $id, ?bool $state = null, ?int $messagesLimit = null, ?int $membersLimit = null, ?int $watchersLimit = null): StreamResponse {
public function getChannel(string $type, string $id, ?bool $state = null, ?int $messagesLimit = null, ?int $membersLimit = null, ?int $watchersLimit = null, ?string $messagesIDLt = null, ?string $messagesIDLte = null, ?string $messagesIDGt = null, ?string $messagesIDGte = null, ?string $messagesIDAround = null, ?string $userID = null): StreamResponse {
$path = '/api/v2/chat/channels/{type}/{id}';
$path = str_replace('{type}', (string) $type, $path);
$path = str_replace('{id}', (string) $id, $path);
Expand All@@ -308,6 +314,24 @@ public function getChannel(string $type, string $id, ?bool $state = null, ?int $
if ($watchersLimit !== null) {
$queryParams['watchers_limit'] = $watchersLimit;
}
if ($messagesIDLt !== null) {
$queryParams['messages_id_lt'] = $messagesIDLt;
}
if ($messagesIDLte !== null) {
$queryParams['messages_id_lte'] = $messagesIDLte;
}
if ($messagesIDGt !== null) {
$queryParams['messages_id_gt'] = $messagesIDGt;
}
if ($messagesIDGte !== null) {
$queryParams['messages_id_gte'] = $messagesIDGte;
}
if ($messagesIDAround !== null) {
$queryParams['messages_id_around'] = $messagesIDAround;
}
if ($userID !== null) {
$queryParams['user_id'] = $userID;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\ChannelStateResponse::class);
}
Expand DownExpand Up@@ -547,6 +571,7 @@ public function updateMemberPartial(string $type, string $id, GeneratedModels\Up
/**
* Sends new message to the specified channel
* Sends events:
* - channel.visible
* - message.new
* - message.updated
*
Expand All@@ -571,10 +596,11 @@ public function sendMessage(string $type, string $id, GeneratedModels\SendMessag
* @param string $type
* @param string $id
* @param array $ids
* @param ?array $memberCustomInclude
* @return StreamResponse<GeneratedModels\GetManyMessagesResponse>
* @throws StreamException
*/
public function getManyMessages(string $type, string $id, array $ids): StreamResponse {
public function getManyMessages(string $type, string $id, array $ids, ?array $memberCustomInclude = null): StreamResponse {
$path = '/api/v2/chat/channels/{type}/{id}/messages';
$path = str_replace('{type}', (string) $type, $path);
$path = str_replace('{id}', (string) $id, $path);
Expand All@@ -583,6 +609,9 @@ public function getManyMessages(string $type, string $id, array $ids): StreamRes
if ($ids !== null) {
$queryParams['ids'] = $ids;
}
if ($memberCustomInclude !== null) {
$queryParams['member_custom_include'] = $memberCustomInclude;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\GetManyMessagesResponse::class);
}
Expand DownExpand Up@@ -849,7 +878,7 @@ public function queryDrafts(GeneratedModels\QueryDraftsRequest $requestData): St
return StreamResponse::fromJson($this->makeRequest('POST', $path, $queryParams, $requestData), GeneratedModels\QueryDraftsResponse::class);
}
/**
* Exports channel data to JSON file
* Exports channel data to a JSON or CSV file (CSV requires version=v2)
*
* @param GeneratedModels\ExportChannelsRequest $requestData
* @return StreamResponse<GeneratedModels\ExportChannelsResponse>
Expand DownExpand Up@@ -1272,10 +1301,11 @@ public function createReminder(string $messageID, GeneratedModels\CreateReminder
* @param ?string $idLt
* @param ?string $idAround
* @param ?array $sort
* @param ?array $memberCustomInclude
* @return StreamResponse<GeneratedModels\GetRepliesResponse>
* @throws StreamException
*/
public function getReplies(string $parentID, ?int $limit = null, ?string $idGte = null, ?string $idGt = null, ?string $idLte = null, ?string $idLt = null, ?string $idAround = null, ?array $sort = null): StreamResponse {
public function getReplies(string $parentID, ?int $limit = null, ?string $idGte = null, ?string $idGt = null, ?string $idLte = null, ?string $idLt = null, ?string $idAround = null, ?array $sort = null, ?array $memberCustomInclude = null): StreamResponse {
$path = '/api/v2/chat/messages/{parent_id}/replies';
$path = str_replace('{parent_id}', (string) $parentID, $path);

Expand All@@ -1301,6 +1331,9 @@ public function getReplies(string $parentID, ?int $limit = null, ?string $idGte
if ($sort !== null) {
$queryParams['sort'] = $sort;
}
if ($memberCustomInclude !== null) {
$queryParams['member_custom_include'] = $memberCustomInclude;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\GetRepliesResponse::class);
}
Expand Down
34 changes: 16 additions & 18 deletions src/Generated/CommonTrait.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,22 +45,18 @@ public function updateApp(GeneratedModels\UpdateAppRequest $requestData): Stream
* Returns all available block lists
*
* @param ?string $team
* @param ?string $ownerUserID
* @param ?string $cursor
* @param ?int $limit
* @return StreamResponse<GeneratedModels\ListBlockListResponse>
* @throws StreamException
*/
public function listBlockLists(?string $team = null, ?string $ownerUserID = null, ?string $cursor = null, ?int $limit = null): StreamResponse {
public function listBlockLists(?string $team = null, ?string $cursor = null, ?int $limit = null): StreamResponse {
$path = '/api/v2/blocklists';

$queryParams = [];
if ($team !== null) {
$queryParams['team'] = $team;
}
if ($ownerUserID !== null) {
$queryParams['owner_user_id'] = $ownerUserID;
}
if ($cursor !== null) {
$queryParams['cursor'] = $cursor;
}
Expand DownExpand Up@@ -91,12 +87,14 @@ public function createBlockList(GeneratedModels\CreateBlockListRequest $requestD
* For lists exceeding the HTTP request-body cap, issue repeated import calls each
* carrying a bounded slice of items — the task result accumulates correctly.
*
* @param string $id
* @param GeneratedModels\ImportBlockListRequest $requestData
* @return StreamResponse<GeneratedModels\ImportBlockListResponse>
* @throws StreamException
*/
public function importBlockList(GeneratedModels\ImportBlockListRequest $requestData): StreamResponse {
public function importBlockList(string $id, GeneratedModels\ImportBlockListRequest $requestData): StreamResponse {
$path = '/api/v2/blocklists/{id}/import';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
// Use the provided request data array directly
Expand All@@ -107,20 +105,20 @@ public function importBlockList(GeneratedModels\ImportBlockListRequest $requestD
*
* @param string $name
* @param ?string $team
* @param ?string $ownerUserID
* @param ?string $userID
* @return StreamResponse<GeneratedModels\Response>
* @throws StreamException
*/
public function deleteBlockList(string $name, ?string $team = null, ?string $ownerUserID = null): StreamResponse {
public function deleteBlockList(string $name, ?string $team = null, ?string $userID = null): StreamResponse {
$path = '/api/v2/blocklists/{name}';
$path = str_replace('{name}', (string) $name, $path);

$queryParams = [];
if ($team !== null) {
$queryParams['team'] = $team;
}
if ($ownerUserID !== null) {
$queryParams['owner_user_id'] = $ownerUserID;
if ($userID !== null) {
$queryParams['user_id'] = $userID;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('DELETE', $path, $queryParams, $requestData), GeneratedModels\Response::class);
Expand DownExpand Up@@ -451,7 +449,7 @@ public function getImporterExternalStorage(): StreamResponse {
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\GetExternalStorageResponse::class);
}
/**
* Creates or updates the external storage configuration for the app. Currently only AWS S3 (via cross-account IAM role assumption) is supported.
* Creates or updates the external storage configuration for the app. Supports AWS S3 (via cross-account IAM role assumption) and GCS (via service-account JSON credentials).
*
* @param GeneratedModels\UpsertExternalStorageRequest $requestData
* @return StreamResponse<GeneratedModels\UpsertExternalStorageResponse>
Expand All@@ -465,7 +463,7 @@ public function upsertImporterExternalStorage(GeneratedModels\UpsertExternalStor
return StreamResponse::fromJson($this->makeRequest('PUT', $path, $queryParams, $requestData), GeneratedModels\UpsertExternalStorageResponse::class);
}
/**
* Validates the configured external S3 storage by performing a live STS AssumeRole and S3 ListObjectsV2 check.
* Validates the configured external storage. For AWS S3, performs a live STS AssumeRole and S3 ListObjectsV2 check. For GCS, performs a live bucket listing check using the configured service-account credentials.
*
* @return StreamResponse<GeneratedModels\ValidateExternalStorageResponse>
* @throws StreamException
Expand DownExpand Up@@ -762,19 +760,15 @@ public function deletePollOption(string $pollID, string $optionID, ?string $user
*
* @param string $pollID
* @param string $optionID
* @param ?string $userID
* @return StreamResponse<GeneratedModels\PollOptionResponse>
* @throws StreamException
*/
public function getPollOption(string $pollID, string $optionID, ?string $userID = null): StreamResponse {
public function getPollOption(string $pollID, string $optionID): StreamResponse {
$path = '/api/v2/polls/{poll_id}/options/{option_id}';
$path = str_replace('{poll_id}', (string) $pollID, $path);
$path = str_replace('{option_id}', (string) $optionID, $path);

$queryParams = [];
if ($userID !== null) {
$queryParams['user_id'] = $userID;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\PollOptionResponse::class);
}
Expand DownExpand Up@@ -898,11 +892,12 @@ public function upsertPushTemplate(GeneratedModels\UpsertPushTemplateRequest $re
* @param ?bool $android
* @param ?bool $ios
* @param ?bool $web
* @param ?bool $unity
* @param ?string $endpoints
* @return StreamResponse<GeneratedModels\GetRateLimitsResponse>
* @throws StreamException
*/
public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?string $endpoints = null): StreamResponse {
public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?string $endpoints = null): StreamResponse {
$path = '/api/v2/rate_limits';

$queryParams = [];
Expand All@@ -918,6 +913,9 @@ public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ?
if ($web !== null) {
$queryParams['web'] = $web;
}
if ($unity !== null) {
$queryParams['unity'] = $unity;
}
if ($endpoints !== null) {
$queryParams['endpoints'] = $endpoints;
}
Expand Down
6 changes: 5 additions & 1 deletion src/Generated/FeedsTrait.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -1618,11 +1618,12 @@ public function queryFeeds(GeneratedModels\QueryFeedsRequest $requestData): Stre
* @param ?bool $android
* @param ?bool $ios
* @param ?bool $web
* @param ?bool $unity
* @param ?bool $serverSide
* @return StreamResponse<GeneratedModels\GetFeedsRateLimitsResponse>
* @throws StreamException
*/
public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $serverSide = null): StreamResponse {
public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?bool $serverSide = null): StreamResponse {
$path = '/api/v2/feeds/feeds/rate_limits';

$queryParams = [];
Expand All@@ -1638,6 +1639,9 @@ public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = n
if ($web !== null) {
$queryParams['web'] = $web;
}
if ($unity !== null) {
$queryParams['unity'] = $unity;
}
if ($serverSide !== null) {
$queryParams['server_side'] = $serverSide;
}
Expand Down
97 changes: 94 additions & 3 deletions src/Generated/ModerationTrait.php
Original file line numberDiff line numberDiff line change
Expand Up@@ -488,12 +488,14 @@ public function upsertModerationRule(GeneratedModels\UpsertModerationRuleRequest
/**
* Delete an existing moderation rule
*
* @param string $id
* @param ?string $userID
* @return StreamResponse<GeneratedModels\DeleteModerationRuleResponse>
* @throws StreamException
*/
public function deleteModerationRule(?string $userID = null): StreamResponse {
public function deleteModerationRule(string $id, ?string $userID = null): StreamResponse {
$path = '/api/v2/moderation/moderation_rule/{id}';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
if ($userID !== null) {
Expand All@@ -505,11 +507,13 @@ public function deleteModerationRule(?string $userID = null): StreamResponse {
/**
* Get a specific moderation rule by ID
*
* @param string $id
* @return StreamResponse<GeneratedModels\GetModerationRuleResponse>
* @throws StreamException
*/
public function getModerationRule(): StreamResponse {
public function getModerationRule(string $id): StreamResponse {
$path = '/api/v2/moderation/moderation_rule/{id}';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
$requestData = null;
Expand DownExpand Up@@ -545,13 +549,100 @@ public function mute(GeneratedModels\MuteRequest $requestData): StreamResponse {
}
/**
*
* @param string $id
* @return StreamResponse<GeneratedModels\PolicyTestRunResponse>
* @throws StreamException
*/
public function getPolicyTestRun(string $id): StreamResponse {
$path = '/api/v2/moderation/policy_tests/runs/{id}';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\PolicyTestRunResponse::class);
}
/**
*
* @return StreamResponse<GeneratedModels\PolicyTestSetListResponse>
* @throws StreamException
*/
public function listPolicyTestSets(): StreamResponse {
$path = '/api/v2/moderation/policy_tests/sets';

$queryParams = [];
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\PolicyTestSetListResponse::class);
}
/**
* Save a labeled set of messages that can be re-run against the moderation policy.
*
* @param GeneratedModels\CreatePolicyTestSetRequest $requestData
* @return StreamResponse<GeneratedModels\PolicyTestSetResponse>
* @throws StreamException
*/
public function createPolicyTestSet(GeneratedModels\CreatePolicyTestSetRequest $requestData): StreamResponse {
$path = '/api/v2/moderation/policy_tests/sets';

$queryParams = [];
// Use the provided request data array directly
return StreamResponse::fromJson($this->makeRequest('POST', $path, $queryParams, $requestData), GeneratedModels\PolicyTestSetResponse::class);
}
/**
*
* @param string $id
* @return StreamResponse<GeneratedModels\Response>
* @throws StreamException
*/
public function deletePolicyTestSet(string $id): StreamResponse {
$path = '/api/v2/moderation/policy_tests/sets/{id}';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('DELETE', $path, $queryParams, $requestData), GeneratedModels\Response::class);
}
/**
*
* @param string $id
* @return StreamResponse<GeneratedModels\PolicyTestSetResponse>
* @throws StreamException
*/
public function getPolicyTestSet(string $id): StreamResponse {
$path = '/api/v2/moderation/policy_tests/sets/{id}';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\PolicyTestSetResponse::class);
}
/**
* Enqueue a background run of the set against the saved live moderation config.
*
* @param string $id
* @return StreamResponse<GeneratedModels\PolicyTestRunResponse>
* @throws StreamException
*/
public function startPolicyTestRun(string $id): StreamResponse {
$path = '/api/v2/moderation/policy_tests/sets/{id}/runs';
$path = str_replace('{id}', (string) $id, $path);

$queryParams = [];
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('POST', $path, $queryParams, $requestData), GeneratedModels\PolicyTestRunResponse::class);
}
/**
*
* @param ?string $userID
* @return StreamResponse<GeneratedModels\ListQueuesResponse>
* @throws StreamException
*/
public function listQueues(): StreamResponse {
public function listQueues(?string $userID = null): StreamResponse {
$path = '/api/v2/moderation/queues';

$queryParams = [];
if ($userID !== null) {
$queryParams['user_id'] = $userID;
}
$requestData = null;
return StreamResponse::fromJson($this->makeRequest('GET', $path, $queryParams, $requestData), GeneratedModels\ListQueuesResponse::class);
}
Expand Down
Loading
Loading