Skip to content

Commit bee8375

Browse files
feat: [FEEDS-1339] restore feeds comments (#265)
1 parent 3eb62ae commit bee8375

File tree

7 files changed

+580
-30
lines changed

7 files changed

+580
-30
lines changed

src/gen/chat/ChatApi.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { ApiClient, StreamResponse } from '../../gen-imports';
22
import {
33
CampaignResponse,
44
CastPollVoteRequest,
5+
ChannelBatchUpdateRequest,
6+
ChannelBatchUpdateResponse,
57
ChannelGetOrCreateRequest,
68
ChannelStateResponse,
79
CommitMessageRequest,
@@ -265,6 +267,32 @@ export class ChatApi {
265267
return { ...response.body, metadata: response.metadata };
266268
}
267269

270+
async channelBatchUpdate(
271+
request: ChannelBatchUpdateRequest,
272+
): Promise<StreamResponse<ChannelBatchUpdateResponse>> {
273+
const body = {
274+
operation: request?.operation,
275+
filter: request?.filter,
276+
members: request?.members,
277+
data: request?.data,
278+
};
279+
280+
const response = await this.apiClient.sendRequest<
281+
StreamResponse<ChannelBatchUpdateResponse>
282+
>(
283+
'PUT',
284+
'/api/v2/chat/channels/batch',
285+
undefined,
286+
undefined,
287+
body,
288+
'application/json',
289+
);
290+
291+
decoders.ChannelBatchUpdateResponse?.(response.body);
292+
293+
return { ...response.body, metadata: response.metadata };
294+
}
295+
268296
async deleteChannels(
269297
request: DeleteChannelsRequest,
270298
): Promise<StreamResponse<DeleteChannelsResponse>> {
@@ -981,6 +1009,7 @@ export class ChatApi {
9811009
blocklists: request?.blocklists,
9821010
commands: request?.commands,
9831011
permissions: request?.permissions,
1012+
chat_preferences: request?.chat_preferences,
9841013
grants: request?.grants,
9851014
};
9861015

@@ -1076,6 +1105,7 @@ export class ChatApi {
10761105
commands: request?.commands,
10771106
permissions: request?.permissions,
10781107
automod_thresholds: request?.automod_thresholds,
1108+
chat_preferences: request?.chat_preferences,
10791109
grants: request?.grants,
10801110
};
10811111

src/gen/common/CommonApi.ts

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ import {
7777
ReactivateUserResponse,
7878
ReactivateUsersRequest,
7979
ReactivateUsersResponse,
80+
RemoveUserGroupMembersRequest,
8081
RemoveUserGroupMembersResponse,
8182
Response,
8283
RestoreUsersRequest,
@@ -143,6 +144,8 @@ export class CommonApi {
143144
migrate_permissions_to_v2: request?.migrate_permissions_to_v2,
144145
moderation_analytics_enabled: request?.moderation_analytics_enabled,
145146
moderation_enabled: request?.moderation_enabled,
147+
moderation_s3_image_access_role_arn:
148+
request?.moderation_s3_image_access_role_arn,
146149
moderation_webhook_url: request?.moderation_webhook_url,
147150
multi_tenant_enabled: request?.multi_tenant_enabled,
148151
permission_version: request?.permission_version,
@@ -163,6 +166,7 @@ export class CommonApi {
163166
image_moderation_labels: request?.image_moderation_labels,
164167
user_search_disallowed_roles: request?.user_search_disallowed_roles,
165168
webhook_events: request?.webhook_events,
169+
activity_metrics_config: request?.activity_metrics_config,
166170
apn_config: request?.apn_config,
167171
async_moderation_config: request?.async_moderation_config,
168172
datadog_info: request?.datadog_info,
@@ -1527,25 +1531,36 @@ export class CommonApi {
15271531
return { ...response.body, metadata: response.metadata };
15281532
}
15291533

1530-
async removeUserGroupMembers(request: {
1531-
id: string;
1532-
}): Promise<StreamResponse<RemoveUserGroupMembersResponse>> {
1534+
async addUserGroupMembers(
1535+
request: AddUserGroupMembersRequest & { id: string },
1536+
): Promise<StreamResponse<AddUserGroupMembersResponse>> {
15331537
const pathParams = {
15341538
id: request?.id,
15351539
};
1540+
const body = {
1541+
member_ids: request?.member_ids,
1542+
team_id: request?.team_id,
1543+
};
15361544

15371545
const response = await this.apiClient.sendRequest<
1538-
StreamResponse<RemoveUserGroupMembersResponse>
1539-
>('DELETE', '/api/v2/usergroups/{id}/members', pathParams, undefined);
1546+
StreamResponse<AddUserGroupMembersResponse>
1547+
>(
1548+
'POST',
1549+
'/api/v2/usergroups/{id}/members',
1550+
pathParams,
1551+
undefined,
1552+
body,
1553+
'application/json',
1554+
);
15401555

1541-
decoders.RemoveUserGroupMembersResponse?.(response.body);
1556+
decoders.AddUserGroupMembersResponse?.(response.body);
15421557

15431558
return { ...response.body, metadata: response.metadata };
15441559
}
15451560

1546-
async addUserGroupMembers(
1547-
request: AddUserGroupMembersRequest & { id: string },
1548-
): Promise<StreamResponse<AddUserGroupMembersResponse>> {
1561+
async removeUserGroupMembers(
1562+
request: RemoveUserGroupMembersRequest & { id: string },
1563+
): Promise<StreamResponse<RemoveUserGroupMembersResponse>> {
15491564
const pathParams = {
15501565
id: request?.id,
15511566
};
@@ -1555,17 +1570,17 @@ export class CommonApi {
15551570
};
15561571

15571572
const response = await this.apiClient.sendRequest<
1558-
StreamResponse<AddUserGroupMembersResponse>
1573+
StreamResponse<RemoveUserGroupMembersResponse>
15591574
>(
15601575
'POST',
1561-
'/api/v2/usergroups/{id}/members',
1576+
'/api/v2/usergroups/{id}/members/delete',
15621577
pathParams,
15631578
undefined,
15641579
body,
15651580
'application/json',
15661581
);
15671582

1568-
decoders.AddUserGroupMembersResponse?.(response.body);
1583+
decoders.RemoveUserGroupMembersResponse?.(response.body);
15691584

15701585
return { ...response.body, metadata: response.metadata };
15711586
}

src/gen/feeds/FeedsApi.ts

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ import {
8181
QueryBookmarkFoldersResponse,
8282
QueryBookmarksRequest,
8383
QueryBookmarksResponse,
84+
QueryCollectionsRequest,
85+
QueryCollectionsResponse,
8486
QueryCommentReactionsRequest,
8587
QueryCommentReactionsResponse,
8688
QueryCommentsRequest,
@@ -105,8 +107,12 @@ import {
105107
Response,
106108
RestoreActivityRequest,
107109
RestoreActivityResponse,
110+
RestoreCommentRequest,
111+
RestoreCommentResponse,
108112
RestoreFeedGroupResponse,
109113
SingleFollowResponse,
114+
TrackActivityMetricsRequest,
115+
TrackActivityMetricsResponse,
110116
UnfollowBatchRequest,
111117
UnfollowBatchResponse,
112118
UnfollowResponse,
@@ -269,6 +275,31 @@ export class FeedsApi {
269275
return { ...response.body, metadata: response.metadata };
270276
}
271277

278+
async trackActivityMetrics(
279+
request: TrackActivityMetricsRequest,
280+
): Promise<StreamResponse<TrackActivityMetricsResponse>> {
281+
const body = {
282+
events: request?.events,
283+
user_id: request?.user_id,
284+
user: request?.user,
285+
};
286+
287+
const response = await this.apiClient.sendRequest<
288+
StreamResponse<TrackActivityMetricsResponse>
289+
>(
290+
'POST',
291+
'/api/v2/feeds/activities/metrics/track',
292+
undefined,
293+
undefined,
294+
body,
295+
'application/json',
296+
);
297+
298+
decoders.TrackActivityMetricsResponse?.(response.body);
299+
300+
return { ...response.body, metadata: response.metadata };
301+
}
302+
272303
async queryActivities(
273304
request?: QueryActivitiesRequest,
274305
): Promise<StreamResponse<QueryActivitiesResponse>> {
@@ -932,6 +963,35 @@ export class FeedsApi {
932963
return { ...response.body, metadata: response.metadata };
933964
}
934965

966+
async queryCollections(
967+
request?: QueryCollectionsRequest,
968+
): Promise<StreamResponse<QueryCollectionsResponse>> {
969+
const body = {
970+
limit: request?.limit,
971+
next: request?.next,
972+
prev: request?.prev,
973+
user_id: request?.user_id,
974+
sort: request?.sort,
975+
filter: request?.filter,
976+
user: request?.user,
977+
};
978+
979+
const response = await this.apiClient.sendRequest<
980+
StreamResponse<QueryCollectionsResponse>
981+
>(
982+
'POST',
983+
'/api/v2/feeds/collections/query',
984+
undefined,
985+
undefined,
986+
body,
987+
'application/json',
988+
);
989+
990+
decoders.QueryCollectionsResponse?.(response.body);
991+
992+
return { ...response.body, metadata: response.metadata };
993+
}
994+
935995
async getComments(request: {
936996
object_id: string;
937997
object_type: string;
@@ -1028,10 +1088,13 @@ export class FeedsApi {
10281088
): Promise<StreamResponse<QueryCommentsResponse>> {
10291089
const body = {
10301090
filter: request?.filter,
1091+
id_around: request?.id_around,
10311092
limit: request?.limit,
10321093
next: request?.next,
10331094
prev: request?.prev,
10341095
sort: request?.sort,
1096+
user_id: request?.user_id,
1097+
user: request?.user,
10351098
};
10361099

10371100
const response = await this.apiClient.sendRequest<
@@ -1247,6 +1310,33 @@ export class FeedsApi {
12471310
return { ...response.body, metadata: response.metadata };
12481311
}
12491312

1313+
async restoreComment(
1314+
request: RestoreCommentRequest & { id: string },
1315+
): Promise<StreamResponse<RestoreCommentResponse>> {
1316+
const pathParams = {
1317+
id: request?.id,
1318+
};
1319+
const body = {
1320+
user_id: request?.user_id,
1321+
user: request?.user,
1322+
};
1323+
1324+
const response = await this.apiClient.sendRequest<
1325+
StreamResponse<RestoreCommentResponse>
1326+
>(
1327+
'POST',
1328+
'/api/v2/feeds/comments/{id}/restore',
1329+
pathParams,
1330+
undefined,
1331+
body,
1332+
'application/json',
1333+
);
1334+
1335+
decoders.RestoreCommentResponse?.(response.body);
1336+
1337+
return { ...response.body, metadata: response.metadata };
1338+
}
1339+
12501340
async listFeedGroups(request?: {
12511341
include_soft_deleted?: boolean;
12521342
}): Promise<StreamResponse<ListFeedGroupsResponse>> {

src/gen/model-decoders/decoders.ts

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,8 @@ decoders.CallEndedEvent = (input?: Record<string, any>) => {
699699

700700
call: { type: 'CallResponse', isSingle: true },
701701

702+
members: { type: 'MemberResponse', isSingle: false },
703+
702704
user: { type: 'UserResponse', isSingle: true },
703705
};
704706
return decode(typeMappings, input);
@@ -1576,13 +1578,6 @@ decoders.ChatActivityStatsResponse = (input?: Record<string, any>) => {
15761578
return decode(typeMappings, input);
15771579
};
15781580

1579-
decoders.CheckResponse = (input?: Record<string, any>) => {
1580-
const typeMappings: TypeMapping = {
1581-
item: { type: 'ReviewQueueItemResponse', isSingle: true },
1582-
};
1583-
return decode(typeMappings, input);
1584-
};
1585-
15861581
decoders.ClosedCaptionEvent = (input?: Record<string, any>) => {
15871582
const typeMappings: TypeMapping = {
15881583
created_at: { type: 'DatetimeType', isSingle: true },
@@ -1706,6 +1701,19 @@ decoders.CommentResponse = (input?: Record<string, any>) => {
17061701
return decode(typeMappings, input);
17071702
};
17081703

1704+
decoders.CommentRestoredEvent = (input?: Record<string, any>) => {
1705+
const typeMappings: TypeMapping = {
1706+
created_at: { type: 'DatetimeType', isSingle: true },
1707+
1708+
comment: { type: 'CommentResponse', isSingle: true },
1709+
1710+
received_at: { type: 'DatetimeType', isSingle: true },
1711+
1712+
user: { type: 'UserResponseCommonFields', isSingle: true },
1713+
};
1714+
return decode(typeMappings, input);
1715+
};
1716+
17091717
decoders.CommentUpdatedEvent = (input?: Record<string, any>) => {
17101718
const typeMappings: TypeMapping = {
17111719
created_at: { type: 'DatetimeType', isSingle: true },
@@ -3717,6 +3725,13 @@ decoders.QueryCampaignsResponse = (input?: Record<string, any>) => {
37173725
return decode(typeMappings, input);
37183726
};
37193727

3728+
decoders.QueryCollectionsResponse = (input?: Record<string, any>) => {
3729+
const typeMappings: TypeMapping = {
3730+
collections: { type: 'CollectionResponse', isSingle: false },
3731+
};
3732+
return decode(typeMappings, input);
3733+
};
3734+
37203735
decoders.QueryCommentReactionsResponse = (input?: Record<string, any>) => {
37213736
const typeMappings: TypeMapping = {
37223737
reactions: { type: 'FeedsReactionResponse', isSingle: false },
@@ -4098,6 +4113,15 @@ decoders.RestoreActivityResponse = (input?: Record<string, any>) => {
40984113
return decode(typeMappings, input);
40994114
};
41004115

4116+
decoders.RestoreCommentResponse = (input?: Record<string, any>) => {
4117+
const typeMappings: TypeMapping = {
4118+
activity: { type: 'ActivityResponse', isSingle: true },
4119+
4120+
comment: { type: 'CommentResponse', isSingle: true },
4121+
};
4122+
return decode(typeMappings, input);
4123+
};
4124+
41014125
decoders.RestoreFeedGroupResponse = (input?: Record<string, any>) => {
41024126
const typeMappings: TypeMapping = {
41034127
feed_group: { type: 'FeedGroupResponse', isSingle: true },

0 commit comments

Comments
 (0)