From 502d9ae83ddc00d0de9f5eb692c0a52bba3bc790 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Thu, 7 Aug 2025 10:12:46 +0200 Subject: [PATCH 01/21] Update to latest open API spec --- src/StreamFeedsClient.ts | 5 + src/gen/common/CommonApi.ts | 1 + src/gen/feeds/FeedApi.ts | 5 +- src/gen/feeds/FeedsApi.ts | 134 ++++++++------------ src/gen/model-decoders/decoders.ts | 16 +-- src/gen/models/index.ts | 193 +++++++++++++++++++---------- 6 files changed, 187 insertions(+), 167 deletions(-) diff --git a/src/StreamFeedsClient.ts b/src/StreamFeedsClient.ts index d138d91..0f00d27 100644 --- a/src/StreamFeedsClient.ts +++ b/src/StreamFeedsClient.ts @@ -1,8 +1,13 @@ import { FeedsApi } from './gen/feeds/FeedsApi'; +import { QueryFeedsRequest } from './gen/models'; import { StreamFeed } from './StreamFeed'; export class StreamFeedsClient extends FeedsApi { feed = (group: string, id: string) => { return new StreamFeed(this, group, id); }; + + queryFeeds = (request: QueryFeedsRequest) => { + return super._queryFeeds(request); + }; } diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index f9e76c2..96eed6b 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -1335,6 +1335,7 @@ export class CommonApi { user_ids: request?.user_ids, calls: request?.calls, conversations: request?.conversations, + files: request?.files, messages: request?.messages, new_call_owner_id: request?.new_call_owner_id, new_channel_owner_id: request?.new_channel_owner_id, diff --git a/src/gen/feeds/FeedApi.ts b/src/gen/feeds/FeedApi.ts index bf82841..20fe8a2 100644 --- a/src/gen/feeds/FeedApi.ts +++ b/src/gen/feeds/FeedApi.ts @@ -27,13 +27,10 @@ export class FeedApi { public readonly id: string, ) {} - delete(request?: { - hard_delete?: boolean; - }): Promise> { + delete(): Promise> { return this.feedsApi.deleteFeed({ feed_id: this.id, feed_group_id: this.group, - ...request, }); } diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 72d01c8..b84ab41 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -4,6 +4,8 @@ import { AcceptFeedMemberInviteResponse, AcceptFollowRequest, AcceptFollowResponse, + ActivityFeedbackRequest, + ActivityFeedbackResponse, AddActivityRequest, AddActivityResponse, AddBookmarkRequest, @@ -38,6 +40,7 @@ import { ExportFeedUserDataResponse, FollowBatchRequest, FollowBatchResponse, + FollowRequest, GetActivityResponse, GetCommentRepliesResponse, GetCommentResponse, @@ -45,12 +48,8 @@ import { GetFeedGroupResponse, GetFeedViewResponse, GetFollowSuggestionsResponse, - GetOrCreateFeedGroupRequest, - GetOrCreateFeedGroupResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, - GetOrCreateFeedViewRequest, - GetOrCreateFeedViewResponse, ListFeedGroupsResponse, ListFeedViewsResponse, MarkActivityRequest, @@ -80,7 +79,6 @@ import { RejectFollowRequest, RejectFollowResponse, Response, - SingleFollowRequest, SingleFollowResponse, UnfollowBatchRequest, UnfollowBatchResponse, @@ -119,7 +117,7 @@ export class FeedsApi { ): Promise> { const body = { type: request?.type, - fids: request?.fids, + feeds: request?.feeds, expires_at: request?.expires_at, id: request?.id, parent_id: request?.parent_id, @@ -231,11 +229,7 @@ export class FeedsApi { async deleteActivity(request: { activity_id: string; - hard_delete?: boolean; }): Promise> { - const queryParams = { - hard_delete: request?.hard_delete, - }; const pathParams = { activity_id: request?.activity_id, }; @@ -246,7 +240,7 @@ export class FeedsApi { 'DELETE', '/api/v2/feeds/activities/{activity_id}', pathParams, - queryParams, + undefined, ); decoders.DeleteActivityResponse?.(response.body); @@ -423,6 +417,38 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async activityFeedback( + request: ActivityFeedbackRequest & { activity_id: string }, + ): Promise> { + const pathParams = { + activity_id: request?.activity_id, + }; + const body = { + hide: request?.hide, + mute_user: request?.mute_user, + reason: request?.reason, + report: request?.report, + show_less: request?.show_less, + user_id: request?.user_id, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/activities/{activity_id}/feedback', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.ActivityFeedbackResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async castPollVote( request: CastPollVoteRequest & { activity_id: string; poll_id: string }, ): Promise> { @@ -980,10 +1006,13 @@ export class FeedsApi { ): Promise> { const body = { feed_group_id: request?.feed_group_id, - default_view_id: request?.default_view_id, default_visibility: request?.default_visibility, + activity_processors: request?.activity_processors, + activity_selectors: request?.activity_selectors, + aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, + ranking: request?.ranking, }; const response = await this.apiClient.sendRequest< @@ -1004,11 +1033,7 @@ export class FeedsApi { async deleteFeedGroup(request: { feed_group_id: string; - hard_delete?: boolean; }): Promise> { - const queryParams = { - hard_delete: request?.hard_delete, - }; const pathParams = { feed_group_id: request?.feed_group_id, }; @@ -1019,7 +1044,7 @@ export class FeedsApi { 'DELETE', '/api/v2/feeds/feed_groups/{feed_group_id}', pathParams, - queryParams, + undefined, ); decoders.DeleteFeedGroupResponse?.(response.body); @@ -1048,35 +1073,6 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async getOrCreateFeedGroup( - request: GetOrCreateFeedGroupRequest & { feed_group_id: string }, - ): Promise> { - const pathParams = { - feed_group_id: request?.feed_group_id, - }; - const body = { - default_view_id: request?.default_view_id, - default_visibility: request?.default_visibility, - custom: request?.custom, - notification: request?.notification, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'POST', - '/api/v2/feeds/feed_groups/{feed_group_id}', - pathParams, - undefined, - body, - 'application/json', - ); - - decoders.GetOrCreateFeedGroupResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - async updateFeedGroup( request: UpdateFeedGroupRequest & { feed_group_id: string }, ): Promise> { @@ -1084,9 +1080,12 @@ export class FeedsApi { feed_group_id: request?.feed_group_id, }; const body = { - default_view_id: request?.default_view_id, + activity_processors: request?.activity_processors, + activity_selectors: request?.activity_selectors, + aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, + ranking: request?.ranking, }; const response = await this.apiClient.sendRequest< @@ -1108,11 +1107,7 @@ export class FeedsApi { async deleteFeed(request: { feed_group_id: string; feed_id: string; - hard_delete?: boolean; }): Promise> { - const queryParams = { - hard_delete: request?.hard_delete, - }; const pathParams = { feed_group_id: request?.feed_group_id, feed_id: request?.feed_id, @@ -1124,7 +1119,7 @@ export class FeedsApi { 'DELETE', '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}', pathParams, - queryParams, + undefined, ); decoders.DeleteFeedResponse?.(response.body); @@ -1466,7 +1461,7 @@ export class FeedsApi { request: CreateFeedViewRequest, ): Promise> { const body = { - view_id: request?.view_id, + id: request?.id, activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, aggregation: request?.aggregation, @@ -1521,35 +1516,6 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async getOrCreateFeedView( - request: GetOrCreateFeedViewRequest & { view_id: string }, - ): Promise> { - const pathParams = { - view_id: request?.view_id, - }; - const body = { - activity_processors: request?.activity_processors, - activity_selectors: request?.activity_selectors, - aggregation: request?.aggregation, - ranking: request?.ranking, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'POST', - '/api/v2/feeds/feed_views/{view_id}', - pathParams, - undefined, - body, - 'application/json', - ); - - decoders.GetOrCreateFeedViewResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - async updateFeedView( request: UpdateFeedViewRequest & { view_id: string }, ): Promise> { @@ -1602,7 +1568,7 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async feedsQueryFeeds( + protected async _queryFeeds( request?: QueryFeedsRequest, ): Promise> { const body = { @@ -1659,7 +1625,7 @@ export class FeedsApi { } async follow( - request: SingleFollowRequest, + request: FollowRequest, ): Promise> { const body = { source: request?.source, diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 388f321..e3d4815 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -1888,6 +1888,8 @@ decoders.FeedGroupResponse = (input?: Record) => { created_at: { type: 'DatetimeType', isSingle: true }, updated_at: { type: 'DatetimeType', isSingle: true }, + + activity_selectors: { type: 'ActivitySelectorConfig', isSingle: false }, }; return decode(typeMappings, input); }; @@ -2273,13 +2275,6 @@ decoders.GetOrCreateCallResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.GetOrCreateFeedGroupResponse = (input?: Record) => { - const typeMappings: TypeMapping = { - feed_group: { type: 'FeedGroupResponse', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.GetOrCreateFeedResponse = (input?: Record) => { const typeMappings: TypeMapping = { activities: { type: 'ActivityResponse', isSingle: false }, @@ -2308,13 +2303,6 @@ decoders.GetOrCreateFeedResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.GetOrCreateFeedViewResponse = (input?: Record) => { - const typeMappings: TypeMapping = { - feed_view: { type: 'FeedViewResponse', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.GetPushTemplatesResponse = (input?: Record) => { const typeMappings: TypeMapping = { templates: { type: 'PushTemplate', isSingle: false }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 5e111b4..483a18e 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -263,6 +263,8 @@ export interface ActivityAddedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -279,11 +281,37 @@ export interface ActivityDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; } +export interface ActivityFeedbackRequest { + hide?: boolean; + + mute_user?: boolean; + + reason?: string; + + report?: boolean; + + show_less?: boolean; + + user_id?: string; + + user?: UserRequest; +} + +export interface ActivityFeedbackResponse { + activity_id: string; + + duration: string; + + success: boolean; +} + export interface ActivityLocation { lat: number; @@ -299,6 +327,8 @@ export interface ActivityMarkEvent { type: string; + feed_visibility?: string; + mark_all_read?: boolean; mark_all_seen?: boolean; @@ -355,12 +385,16 @@ export interface ActivityPinnedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; } -export interface ActivityProcessorConfig {} +export interface ActivityProcessorConfig { + type: string; +} export interface ActivityReactionAddedEvent { created_at: Date; @@ -375,6 +409,8 @@ export interface ActivityReactionAddedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -393,6 +429,8 @@ export interface ActivityReactionDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -411,6 +449,8 @@ export interface ActivityReactionUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -427,6 +467,8 @@ export interface ActivityRemovedFromFeedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -435,7 +477,7 @@ export interface ActivityRemovedFromFeedEvent { export interface ActivityRequest { type: string; - fids: string[]; + feeds: string[]; expires_at?: string; @@ -523,6 +565,8 @@ export interface ActivityResponse { expires_at?: Date; + hidden?: boolean; + text?: string; visibility_tag?: string; @@ -563,6 +607,8 @@ export interface ActivityUnpinnedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -579,6 +625,8 @@ export interface ActivityUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -587,7 +635,7 @@ export interface ActivityUpdatedEvent { export interface AddActivityRequest { type: string; - fids: string[]; + feeds: string[]; expires_at?: string; @@ -3554,6 +3602,8 @@ export interface CommentAddedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -3570,6 +3620,8 @@ export interface CommentDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -3588,6 +3640,8 @@ export interface CommentReactionAddedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -3606,6 +3660,8 @@ export interface CommentReactionDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } @@ -3622,6 +3678,8 @@ export interface CommentReactionUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -3688,6 +3746,8 @@ export interface CommentUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -4004,8 +4064,6 @@ export interface CreateExternalStorageResponse { export interface CreateFeedGroupRequest { feed_group_id: string; - default_view_id?: string; - default_visibility?: | 'public' | 'visible' @@ -4013,9 +4071,17 @@ export interface CreateFeedGroupRequest { | 'members' | 'private'; + activity_processors?: ActivityProcessorConfig[]; + + activity_selectors?: ActivitySelectorConfig[]; + + aggregation?: AggregationConfig; + custom?: Record; notification?: NotificationConfig; + + ranking?: RankingConfig; } export interface CreateFeedGroupResponse { @@ -4025,7 +4091,7 @@ export interface CreateFeedGroupResponse { } export interface CreateFeedViewRequest { - view_id: string; + id: string; activity_processors?: ActivityProcessorConfig[]; @@ -4477,6 +4543,8 @@ export interface DeleteUsersRequest { conversations?: 'soft' | 'hard'; + files?: boolean; + messages?: 'soft' | 'pruning' | 'hard'; new_call_owner_id?: string; @@ -4995,6 +5063,8 @@ export interface FeedCreatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } @@ -5007,32 +5077,42 @@ export interface FeedDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; } export interface FeedGroup { + aggregation_version: number; + app_pk: number; created_at: Date; - default_view_id: string; - default_visibility: string; id: string; updated_at: Date; + activity_processors: ActivityProcessorConfig[]; + + activity_selectors: ActivitySelectorConfig[]; + custom: Record; deleted_at?: Date; last_feed_get_at?: Date; + aggregation?: AggregationConfig; + notification?: NotificationConfig; + ranking?: RankingConfig; + stories?: StoriesConfig; } @@ -5045,6 +5125,8 @@ export interface FeedGroupChangedEvent { type: string; + feed_visibility?: string; + received_at?: Date; feed_group?: FeedGroup; @@ -5063,13 +5145,15 @@ export interface FeedGroupDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } export interface FeedGroupResponse { created_at: Date; - id: string; + feed_group_id: string; updated_at: Date; @@ -5077,10 +5161,18 @@ export interface FeedGroupResponse { default_visibility?: string; + activity_processors?: ActivityProcessorConfig[]; + + activity_selectors?: ActivitySelectorConfig[]; + + aggregation?: AggregationConfig; + custom?: Record; notification?: NotificationConfig; + ranking?: RankingConfig; + stories?: StoriesConfig; } @@ -5109,6 +5201,8 @@ export interface FeedMemberAddedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -5125,6 +5219,8 @@ export interface FeedMemberRemovedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -5135,6 +5231,8 @@ export interface FeedMemberRequest { invite?: boolean; + membership_level?: string; + role?: string; custom?: Record; @@ -5169,6 +5267,8 @@ export interface FeedMemberUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -5278,6 +5378,8 @@ export interface FeedUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; user?: UserResponseCommonFields; @@ -5510,6 +5612,8 @@ export interface FollowCreatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } @@ -5524,6 +5628,8 @@ export interface FollowDeletedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } @@ -5578,6 +5684,8 @@ export interface FollowUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; } @@ -6035,29 +6143,6 @@ export interface GetOrCreateCallResponse { call: CallResponse; } -export interface GetOrCreateFeedGroupRequest { - default_view_id?: string; - - default_visibility?: - | 'public' - | 'visible' - | 'followers' - | 'members' - | 'private'; - - custom?: Record; - - notification?: NotificationConfig; -} - -export interface GetOrCreateFeedGroupResponse { - duration: string; - - was_created: boolean; - - feed_group: FeedGroupResponse; -} - export interface GetOrCreateFeedRequest { limit?: number; @@ -6128,24 +6213,6 @@ export interface GetOrCreateFeedResponse { own_membership?: FeedMemberResponse; } -export interface GetOrCreateFeedViewRequest { - activity_processors?: ActivityProcessorConfig[]; - - activity_selectors?: ActivitySelectorConfig[]; - - aggregation?: AggregationConfig; - - ranking?: RankingConfig; -} - -export interface GetOrCreateFeedViewResponse { - duration: string; - - was_created: boolean; - - feed_view: FeedViewResponse; -} - export interface GetPushTemplatesResponse { duration: string; @@ -7633,6 +7700,8 @@ export interface NotificationFeedUpdatedEvent { type: string; + feed_visibility?: string; + received_at?: Date; aggregated_activities?: AggregatedActivityResponse[]; @@ -8021,7 +8090,7 @@ export interface PinActivityResponse { duration: string; - fid: string; + feed: string; user_id: string; @@ -10500,18 +10569,6 @@ export interface ShowChannelResponse { duration: string; } -export interface SingleFollowRequest { - source: string; - - target: string; - - create_notification_activity?: boolean; - - push_preference?: 'all' | 'none'; - - custom?: Record; -} - export interface SingleFollowResponse { duration: string; @@ -11373,7 +11430,7 @@ export interface UnmuteResponse { export interface UnpinActivityResponse { duration: string; - fid: string; + feed: string; user_id: string; @@ -11935,11 +11992,17 @@ export interface UpdateExternalStorageResponse { } export interface UpdateFeedGroupRequest { - default_view_id?: string; + activity_processors?: ActivityProcessorConfig[]; + + activity_selectors?: ActivitySelectorConfig[]; + + aggregation?: AggregationConfig; custom?: Record; notification?: NotificationConfig; + + ranking?: RankingConfig; } export interface UpdateFeedGroupResponse { From 6f94dc0fd09610f4b13d6ff4eec560f148968ed9 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 07:39:36 +0200 Subject: [PATCH 02/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 58 ++++++++++++++++++++++++ src/gen/model-decoders/decoders.ts | 25 +++++++++++ src/gen/models/index.ts | 72 ++++++++++++++++++++++++++++-- 3 files changed, 152 insertions(+), 3 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index b84ab41..b494266 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -48,8 +48,12 @@ import { GetFeedGroupResponse, GetFeedViewResponse, GetFollowSuggestionsResponse, + GetOrCreateFeedGroupRequest, + GetOrCreateFeedGroupResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, + GetOrCreateFeedViewRequest, + GetOrCreateFeedViewResponse, ListFeedGroupsResponse, ListFeedViewsResponse, MarkActivityRequest, @@ -1073,6 +1077,31 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async getOrCreateFeedGroup( + request?: GetOrCreateFeedGroupRequest, + ): Promise> { + const body = { + default_visibility: request?.default_visibility, + custom: request?.custom, + notification: request?.notification, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/feed_groups/{feed_group_id}', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.GetOrCreateFeedGroupResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async updateFeedGroup( request: UpdateFeedGroupRequest & { feed_group_id: string }, ): Promise> { @@ -1516,6 +1545,35 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async getOrCreateFeedView( + request: GetOrCreateFeedViewRequest & { view_id: string }, + ): Promise> { + const pathParams = { + view_id: request?.view_id, + }; + const body = { + activity_processors: request?.activity_processors, + activity_selectors: request?.activity_selectors, + aggregation: request?.aggregation, + ranking: request?.ranking, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/feed_views/{view_id}', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.GetOrCreateFeedViewResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async updateFeedView( request: UpdateFeedViewRequest & { view_id: string }, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index e3d4815..49ee5e5 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -2275,6 +2275,13 @@ decoders.GetOrCreateCallResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.GetOrCreateFeedGroupResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + feed_group: { type: 'FeedGroupResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.GetOrCreateFeedResponse = (input?: Record) => { const typeMappings: TypeMapping = { activities: { type: 'ActivityResponse', isSingle: false }, @@ -2303,6 +2310,13 @@ decoders.GetOrCreateFeedResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.GetOrCreateFeedViewResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + feed_view: { type: 'FeedViewResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.GetPushTemplatesResponse = (input?: Record) => { const typeMappings: TypeMapping = { templates: { type: 'PushTemplate', isSingle: false }, @@ -4244,6 +4258,17 @@ decoders.UserFlaggedEvent = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UserMessagesDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponseCommonFields', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UserMute = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 483a18e..4342d3e 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -5153,12 +5153,10 @@ export interface FeedGroupDeletedEvent { export interface FeedGroupResponse { created_at: Date; - feed_group_id: string; + id: string; updated_at: Date; - default_view_id?: string; - default_visibility?: string; activity_processors?: ActivityProcessorConfig[]; @@ -6143,6 +6141,27 @@ export interface GetOrCreateCallResponse { call: CallResponse; } +export interface GetOrCreateFeedGroupRequest { + default_visibility?: + | 'public' + | 'visible' + | 'followers' + | 'members' + | 'private'; + + custom?: Record; + + notification?: NotificationConfig; +} + +export interface GetOrCreateFeedGroupResponse { + duration: string; + + was_created: boolean; + + feed_group: FeedGroupResponse; +} + export interface GetOrCreateFeedRequest { limit?: number; @@ -6213,6 +6232,24 @@ export interface GetOrCreateFeedResponse { own_membership?: FeedMemberResponse; } +export interface GetOrCreateFeedViewRequest { + activity_processors?: ActivityProcessorConfig[]; + + activity_selectors?: ActivitySelectorConfig[]; + + aggregation?: AggregationConfig; + + ranking?: RankingConfig; +} + +export interface GetOrCreateFeedViewResponse { + duration: string; + + was_created: boolean; + + feed_view: FeedViewResponse; +} + export interface GetPushTemplatesResponse { duration: string; @@ -12526,6 +12563,34 @@ export interface UserFlaggedEvent { user?: User; } +export interface UserMessagesDeletedEvent { + created_at: Date; + + hard_delete: boolean; + + soft_delete: boolean; + + custom: Record; + + user: UserResponseCommonFields; + + type: string; + + channel_id?: string; + + channel_member_count?: number; + + channel_type?: string; + + cid?: string; + + received_at?: Date; + + team?: string; + + channel_custom?: Record; +} + export interface UserMute { created_at: Date; @@ -13120,6 +13185,7 @@ export type WebhookEvent = | ({ type: 'user.deactivated' } & UserDeactivatedEvent) | ({ type: 'user.deleted' } & UserDeletedEvent) | ({ type: 'user.flagged' } & UserFlaggedEvent) + | ({ type: 'user.messages.deleted' } & UserMessagesDeletedEvent) | ({ type: 'user.muted' } & UserMutedEvent) | ({ type: 'user.reactivated' } & UserReactivatedEvent) | ({ type: 'user.unbanned' } & UserUnbannedEvent) From 144295cbd0378f8de56d62f5afa677310398212f Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 07:55:43 +0200 Subject: [PATCH 03/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 174 +++++++++++++++++--------------------- 1 file changed, 76 insertions(+), 98 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index b494266..81b3150 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1035,104 +1035,6 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async deleteFeedGroup(request: { - feed_group_id: string; - }): Promise> { - const pathParams = { - feed_group_id: request?.feed_group_id, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'DELETE', - '/api/v2/feeds/feed_groups/{feed_group_id}', - pathParams, - undefined, - ); - - decoders.DeleteFeedGroupResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async getFeedGroup(request: { - feed_group_id: string; - }): Promise> { - const pathParams = { - feed_group_id: request?.feed_group_id, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'GET', - '/api/v2/feeds/feed_groups/{feed_group_id}', - pathParams, - undefined, - ); - - decoders.GetFeedGroupResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async getOrCreateFeedGroup( - request?: GetOrCreateFeedGroupRequest, - ): Promise> { - const body = { - default_visibility: request?.default_visibility, - custom: request?.custom, - notification: request?.notification, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'POST', - '/api/v2/feeds/feed_groups/{feed_group_id}', - undefined, - undefined, - body, - 'application/json', - ); - - decoders.GetOrCreateFeedGroupResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async updateFeedGroup( - request: UpdateFeedGroupRequest & { feed_group_id: string }, - ): Promise> { - const pathParams = { - feed_group_id: request?.feed_group_id, - }; - const body = { - activity_processors: request?.activity_processors, - activity_selectors: request?.activity_selectors, - aggregation: request?.aggregation, - custom: request?.custom, - notification: request?.notification, - ranking: request?.ranking, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'PUT', - '/api/v2/feeds/feed_groups/{feed_group_id}', - pathParams, - undefined, - body, - 'application/json', - ); - - decoders.UpdateFeedGroupResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - async deleteFeed(request: { feed_group_id: string; feed_id: string; @@ -1476,6 +1378,82 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async deleteFeedGroup(): Promise> { + const response = await this.apiClient.sendRequest< + StreamResponse + >('DELETE', '/api/v2/feeds/feed_groups/{id}', undefined, undefined); + + decoders.DeleteFeedGroupResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async getFeedGroup(): Promise> { + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/feeds/feed_groups/{id}', undefined, undefined); + + decoders.GetFeedGroupResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async getOrCreateFeedGroup( + request: GetOrCreateFeedGroupRequest & { id: string }, + ): Promise> { + const pathParams = { + id: request?.id, + }; + const body = { + default_visibility: request?.default_visibility, + custom: request?.custom, + notification: request?.notification, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/feed_groups/{id}', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.GetOrCreateFeedGroupResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updateFeedGroup( + request?: UpdateFeedGroupRequest, + ): Promise> { + const body = { + activity_processors: request?.activity_processors, + activity_selectors: request?.activity_selectors, + aggregation: request?.aggregation, + custom: request?.custom, + notification: request?.notification, + ranking: request?.ranking, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'PUT', + '/api/v2/feeds/feed_groups/{id}', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.UpdateFeedGroupResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async listFeedViews(): Promise> { const response = await this.apiClient.sendRequest< StreamResponse From 0e0f3c5ebaa6910abf91dffd22e4cc350f93b68a Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 08:07:57 +0200 Subject: [PATCH 04/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 29 ++++++++++++++++++++++------- src/gen/models/index.ts | 2 +- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 81b3150..4a85d16 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1009,7 +1009,7 @@ export class FeedsApi { request: CreateFeedGroupRequest, ): Promise> { const body = { - feed_group_id: request?.feed_group_id, + id: request?.id, default_visibility: request?.default_visibility, activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, @@ -1378,20 +1378,32 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async deleteFeedGroup(): Promise> { + async deleteFeedGroup(request: { + id: string; + }): Promise> { + const pathParams = { + id: request?.id, + }; + const response = await this.apiClient.sendRequest< StreamResponse - >('DELETE', '/api/v2/feeds/feed_groups/{id}', undefined, undefined); + >('DELETE', '/api/v2/feeds/feed_groups/{id}', pathParams, undefined); decoders.DeleteFeedGroupResponse?.(response.body); return { ...response.body, metadata: response.metadata }; } - async getFeedGroup(): Promise> { + async getFeedGroup(request: { + id: string; + }): Promise> { + const pathParams = { + id: request?.id, + }; + const response = await this.apiClient.sendRequest< StreamResponse - >('GET', '/api/v2/feeds/feed_groups/{id}', undefined, undefined); + >('GET', '/api/v2/feeds/feed_groups/{id}', pathParams, undefined); decoders.GetFeedGroupResponse?.(response.body); @@ -1427,8 +1439,11 @@ export class FeedsApi { } async updateFeedGroup( - request?: UpdateFeedGroupRequest, + request: UpdateFeedGroupRequest & { id: string }, ): Promise> { + const pathParams = { + id: request?.id, + }; const body = { activity_processors: request?.activity_processors, activity_selectors: request?.activity_selectors, @@ -1443,7 +1458,7 @@ export class FeedsApi { >( 'PUT', '/api/v2/feeds/feed_groups/{id}', - undefined, + pathParams, undefined, body, 'application/json', diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 4342d3e..f156d51 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -4062,7 +4062,7 @@ export interface CreateExternalStorageResponse { } export interface CreateFeedGroupRequest { - feed_group_id: string; + id: string; default_visibility?: | 'public' From c972e5f30e96d528f87832ebe6d5a0534f7000fb Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 08:59:23 +0200 Subject: [PATCH 05/21] Update open api spec --- src/gen/feeds/FeedApi.ts | 5 ++++- src/gen/feeds/FeedsApi.ts | 12 ++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/gen/feeds/FeedApi.ts b/src/gen/feeds/FeedApi.ts index 20fe8a2..bf82841 100644 --- a/src/gen/feeds/FeedApi.ts +++ b/src/gen/feeds/FeedApi.ts @@ -27,10 +27,13 @@ export class FeedApi { public readonly id: string, ) {} - delete(): Promise> { + delete(request?: { + hard_delete?: boolean; + }): Promise> { return this.feedsApi.deleteFeed({ feed_id: this.id, feed_group_id: this.group, + ...request, }); } diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 4a85d16..bf4de10 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1038,7 +1038,11 @@ export class FeedsApi { async deleteFeed(request: { feed_group_id: string; feed_id: string; + hard_delete?: boolean; }): Promise> { + const queryParams = { + hard_delete: request?.hard_delete, + }; const pathParams = { feed_group_id: request?.feed_group_id, feed_id: request?.feed_id, @@ -1050,7 +1054,7 @@ export class FeedsApi { 'DELETE', '/api/v2/feeds/feed_groups/{feed_group_id}/feeds/{feed_id}', pathParams, - undefined, + queryParams, ); decoders.DeleteFeedResponse?.(response.body); @@ -1380,14 +1384,18 @@ export class FeedsApi { async deleteFeedGroup(request: { id: string; + hard_delete?: boolean; }): Promise> { + const queryParams = { + hard_delete: request?.hard_delete, + }; const pathParams = { id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('DELETE', '/api/v2/feeds/feed_groups/{id}', pathParams, undefined); + >('DELETE', '/api/v2/feeds/feed_groups/{id}', pathParams, queryParams); decoders.DeleteFeedGroupResponse?.(response.body); From 2b78705717c2baf2c9085a59a87ac0f2b65d7ead Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 09:17:38 +0200 Subject: [PATCH 06/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 6 +++++- src/gen/models/index.ts | 26 +++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index bf4de10..a3f2885 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -233,7 +233,11 @@ export class FeedsApi { async deleteActivity(request: { activity_id: string; + hard_delete?: boolean; }): Promise> { + const queryParams = { + hard_delete: request?.hard_delete, + }; const pathParams = { activity_id: request?.activity_id, }; @@ -244,7 +248,7 @@ export class FeedsApi { 'DELETE', '/api/v2/feeds/activities/{activity_id}', pathParams, - undefined, + queryParams, ); decoders.DeleteActivityResponse?.(response.body); diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index f156d51..6fcf026 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -5484,33 +5484,29 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - entity_id: string; - - entity_type: string; + created_by_automod: boolean; updated_at: Date; - result: Array>; - - entity_creator_id?: string; - - is_streamed_content?: boolean; - - moderation_payload_hash?: string; + approved_at?: Date; reason?: string; - review_queue_item_id?: string; + rejected_at?: Date; - type?: string; + reviewed_at?: Date; - labels?: string[]; + reviewed_by?: string; + + target_message_id?: string; custom?: Record; - moderation_payload?: ModerationPayload; + details?: FlagDetails; - review_queue_item?: ReviewQueueItem; + target_message?: Message; + + target_user?: User; user?: User; } From 59dc397f3cc5bde3b63e3c9162a6fb4263c13d4a Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 09:50:13 +0200 Subject: [PATCH 07/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 8 ++++---- src/gen/models/index.ts | 36 ++++++++++++++++++++---------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index a3f2885..637ae96 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1718,8 +1718,8 @@ export class FeedsApi { request: AcceptFollowRequest, ): Promise> { const body = { - source_fid: request?.source_fid, - target_fid: request?.target_fid, + source: request?.source, + target: request?.target, follower_role: request?.follower_role, }; @@ -1793,8 +1793,8 @@ export class FeedsApi { request: RejectFollowRequest, ): Promise> { const body = { - source_fid: request?.source_fid, - target_fid: request?.target_fid, + source: request?.source, + target: request?.target, }; const response = await this.apiClient.sendRequest< diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 6fcf026..d0c78ab 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -131,9 +131,9 @@ export interface AcceptFeedMemberInviteResponse { } export interface AcceptFollowRequest { - source_fid: string; + source: string; - target_fid: string; + target: string; follower_role?: string; } @@ -5334,7 +5334,7 @@ export interface FeedResponse { description: string; - fid: string; + feed: string; follower_count: number; @@ -5484,29 +5484,33 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - created_by_automod: boolean; + entity_id: string; + + entity_type: string; updated_at: Date; - approved_at?: Date; + result: Array>; - reason?: string; + entity_creator_id?: string; - rejected_at?: Date; + is_streamed_content?: boolean; - reviewed_at?: Date; + moderation_payload_hash?: string; - reviewed_by?: string; + reason?: string; - target_message_id?: string; + review_queue_item_id?: string; - custom?: Record; + type?: string; - details?: FlagDetails; + labels?: string[]; - target_message?: Message; + custom?: Record; - target_user?: User; + moderation_payload?: ModerationPayload; + + review_queue_item?: ReviewQueueItem; user?: User; } @@ -9753,9 +9757,9 @@ export interface RejectFeedMemberInviteResponse { } export interface RejectFollowRequest { - source_fid: string; + source: string; - target_fid: string; + target: string; } export interface RejectFollowResponse { From dffd386f68dff6e7a014fa22afdd541251ae83d4 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 11:30:34 +0200 Subject: [PATCH 08/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 47 +++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 637ae96..9770597 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -819,15 +819,15 @@ export class FeedsApi { } async deleteComment(request: { - comment_id: string; + id: string; }): Promise> { const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('DELETE', '/api/v2/feeds/comments/{comment_id}', pathParams, undefined); + >('DELETE', '/api/v2/feeds/comments/{id}', pathParams, undefined); decoders.DeleteCommentResponse?.(response.body); @@ -835,15 +835,15 @@ export class FeedsApi { } async getComment(request: { - comment_id: string; + id: string; }): Promise> { const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('GET', '/api/v2/feeds/comments/{comment_id}', pathParams, undefined); + >('GET', '/api/v2/feeds/comments/{id}', pathParams, undefined); decoders.GetCommentResponse?.(response.body); @@ -851,10 +851,10 @@ export class FeedsApi { } async updateComment( - request: UpdateCommentRequest & { comment_id: string }, + request: UpdateCommentRequest & { id: string }, ): Promise> { const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const body = { comment: request?.comment, @@ -865,7 +865,7 @@ export class FeedsApi { StreamResponse >( 'PATCH', - '/api/v2/feeds/comments/{comment_id}', + '/api/v2/feeds/comments/{id}', pathParams, undefined, body, @@ -878,10 +878,10 @@ export class FeedsApi { } async addCommentReaction( - request: AddCommentReactionRequest & { comment_id: string }, + request: AddCommentReactionRequest & { id: string }, ): Promise> { const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const body = { type: request?.type, @@ -895,7 +895,7 @@ export class FeedsApi { StreamResponse >( 'POST', - '/api/v2/feeds/comments/{comment_id}/reactions', + '/api/v2/feeds/comments/{id}/reactions', pathParams, undefined, body, @@ -908,10 +908,10 @@ export class FeedsApi { } async queryCommentReactions( - request: QueryCommentReactionsRequest & { comment_id: string }, + request: QueryCommentReactionsRequest & { id: string }, ): Promise> { const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const body = { limit: request?.limit, @@ -925,7 +925,7 @@ export class FeedsApi { StreamResponse >( 'POST', - '/api/v2/feeds/comments/{comment_id}/reactions/query', + '/api/v2/feeds/comments/{id}/reactions/query', pathParams, undefined, body, @@ -938,7 +938,7 @@ export class FeedsApi { } async deleteCommentReaction(request: { - comment_id: string; + id: string; type: string; user_id?: string; }): Promise> { @@ -946,7 +946,7 @@ export class FeedsApi { user_id: request?.user_id, }; const pathParams = { - comment_id: request?.comment_id, + id: request?.id, type: request?.type, }; @@ -954,7 +954,7 @@ export class FeedsApi { StreamResponse >( 'DELETE', - '/api/v2/feeds/comments/{comment_id}/reactions/{type}', + '/api/v2/feeds/comments/{id}/reactions/{type}', pathParams, queryParams, ); @@ -965,7 +965,7 @@ export class FeedsApi { } async getCommentReplies(request: { - comment_id: string; + id: string; depth?: number; sort?: string; replies_limit?: number; @@ -982,17 +982,12 @@ export class FeedsApi { next: request?.next, }; const pathParams = { - comment_id: request?.comment_id, + id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >( - 'GET', - '/api/v2/feeds/comments/{comment_id}/replies', - pathParams, - queryParams, - ); + >('GET', '/api/v2/feeds/comments/{id}/replies', pathParams, queryParams); decoders.GetCommentRepliesResponse?.(response.body); From 17f41a4165a7d3c2dd48de70259dbbeac3a160eb Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 12:59:48 +0200 Subject: [PATCH 09/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 2 +- src/gen/models/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 9770597..992c49f 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -182,7 +182,7 @@ export class FeedsApi { request: DeleteActivitiesRequest, ): Promise> { const body = { - activity_ids: request?.activity_ids, + ids: request?.ids, hard_delete: request?.hard_delete, user_id: request?.user_id, user: request?.user, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index d0c78ab..81249db 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -4355,7 +4355,7 @@ export interface DecayFunctionConfig { } export interface DeleteActivitiesRequest { - activity_ids: string[]; + ids: string[]; hard_delete?: boolean; @@ -4367,7 +4367,7 @@ export interface DeleteActivitiesRequest { export interface DeleteActivitiesResponse { duration: string; - deleted_activity_ids: string[]; + deleted_ids: string[]; } export interface DeleteActivityReactionResponse { From 81e11ae30d82161887f285588a9e17a0b7403142 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 13:51:27 +0200 Subject: [PATCH 10/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 207 +++++++++++++++++++------------------- 1 file changed, 101 insertions(+), 106 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 992c49f..f69e4c2 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -231,112 +231,6 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async deleteActivity(request: { - activity_id: string; - hard_delete?: boolean; - }): Promise> { - const queryParams = { - hard_delete: request?.hard_delete, - }; - const pathParams = { - activity_id: request?.activity_id, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'DELETE', - '/api/v2/feeds/activities/{activity_id}', - pathParams, - queryParams, - ); - - decoders.DeleteActivityResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async getActivity(request: { - activity_id: string; - }): Promise> { - const pathParams = { - activity_id: request?.activity_id, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >('GET', '/api/v2/feeds/activities/{activity_id}', pathParams, undefined); - - decoders.GetActivityResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async updateActivityPartial( - request: UpdateActivityPartialRequest & { activity_id: string }, - ): Promise> { - const pathParams = { - activity_id: request?.activity_id, - }; - const body = { - user_id: request?.user_id, - unset: request?.unset, - set: request?.set, - user: request?.user, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'PATCH', - '/api/v2/feeds/activities/{activity_id}', - pathParams, - undefined, - body, - 'application/json', - ); - - decoders.UpdateActivityPartialResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - - async updateActivity( - request: UpdateActivityRequest & { activity_id: string }, - ): Promise> { - const pathParams = { - activity_id: request?.activity_id, - }; - const body = { - expires_at: request?.expires_at, - poll_id: request?.poll_id, - text: request?.text, - user_id: request?.user_id, - visibility: request?.visibility, - attachments: request?.attachments, - filter_tags: request?.filter_tags, - interest_tags: request?.interest_tags, - custom: request?.custom, - location: request?.location, - user: request?.user, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'PUT', - '/api/v2/feeds/activities/{activity_id}', - pathParams, - undefined, - body, - 'application/json', - ); - - decoders.UpdateActivityResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - async deleteBookmark(request: { activity_id: string; folder_id?: string; @@ -602,6 +496,107 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async deleteActivity(request: { + id: string; + hard_delete?: boolean; + }): Promise> { + const queryParams = { + hard_delete: request?.hard_delete, + }; + const pathParams = { + id: request?.id, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('DELETE', '/api/v2/feeds/activities/{id}', pathParams, queryParams); + + decoders.DeleteActivityResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async getActivity(request: { + id: string; + }): Promise> { + const pathParams = { + id: request?.id, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/feeds/activities/{id}', pathParams, undefined); + + decoders.GetActivityResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updateActivityPartial( + request: UpdateActivityPartialRequest & { id: string }, + ): Promise> { + const pathParams = { + id: request?.id, + }; + const body = { + user_id: request?.user_id, + unset: request?.unset, + set: request?.set, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'PATCH', + '/api/v2/feeds/activities/{id}', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.UpdateActivityPartialResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updateActivity( + request: UpdateActivityRequest & { id: string }, + ): Promise> { + const pathParams = { + id: request?.id, + }; + const body = { + expires_at: request?.expires_at, + poll_id: request?.poll_id, + text: request?.text, + user_id: request?.user_id, + visibility: request?.visibility, + attachments: request?.attachments, + filter_tags: request?.filter_tags, + interest_tags: request?.interest_tags, + custom: request?.custom, + location: request?.location, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'PUT', + '/api/v2/feeds/activities/{id}', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.UpdateActivityResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async queryBookmarkFolders( request?: QueryBookmarkFoldersRequest, ): Promise> { From 2f5174aaaf29b3975eb00f3e373f668626ad86a8 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 14:33:15 +0200 Subject: [PATCH 11/21] Update open api --- src/gen/feeds/FeedsApi.ts | 24 ++++++++++++------------ src/gen/models/index.ts | 28 ++++++++++++---------------- 2 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index f69e4c2..8cc7d06 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1509,15 +1509,15 @@ export class FeedsApi { } async deleteFeedView(request: { - view_id: string; + id: string; }): Promise> { const pathParams = { - view_id: request?.view_id, + id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('DELETE', '/api/v2/feeds/feed_views/{view_id}', pathParams, undefined); + >('DELETE', '/api/v2/feeds/feed_views/{id}', pathParams, undefined); decoders.DeleteFeedViewResponse?.(response.body); @@ -1525,15 +1525,15 @@ export class FeedsApi { } async getFeedView(request: { - view_id: string; + id: string; }): Promise> { const pathParams = { - view_id: request?.view_id, + id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('GET', '/api/v2/feeds/feed_views/{view_id}', pathParams, undefined); + >('GET', '/api/v2/feeds/feed_views/{id}', pathParams, undefined); decoders.GetFeedViewResponse?.(response.body); @@ -1541,10 +1541,10 @@ export class FeedsApi { } async getOrCreateFeedView( - request: GetOrCreateFeedViewRequest & { view_id: string }, + request: GetOrCreateFeedViewRequest & { id: string }, ): Promise> { const pathParams = { - view_id: request?.view_id, + id: request?.id, }; const body = { activity_processors: request?.activity_processors, @@ -1557,7 +1557,7 @@ export class FeedsApi { StreamResponse >( 'POST', - '/api/v2/feeds/feed_views/{view_id}', + '/api/v2/feeds/feed_views/{id}', pathParams, undefined, body, @@ -1570,10 +1570,10 @@ export class FeedsApi { } async updateFeedView( - request: UpdateFeedViewRequest & { view_id: string }, + request: UpdateFeedViewRequest & { id: string }, ): Promise> { const pathParams = { - view_id: request?.view_id, + id: request?.id, }; const body = { activity_processors: request?.activity_processors, @@ -1586,7 +1586,7 @@ export class FeedsApi { StreamResponse >( 'PUT', - '/api/v2/feeds/feed_views/{view_id}', + '/api/v2/feeds/feed_views/{id}', pathParams, undefined, body, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 81249db..7df2e53 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -5384,7 +5384,7 @@ export interface FeedUpdatedEvent { } export interface FeedViewResponse { - view_id: string; + id: string; last_used_at?: Date; @@ -5484,33 +5484,29 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - entity_id: string; - - entity_type: string; + created_by_automod: boolean; updated_at: Date; - result: Array>; - - entity_creator_id?: string; - - is_streamed_content?: boolean; - - moderation_payload_hash?: string; + approved_at?: Date; reason?: string; - review_queue_item_id?: string; + rejected_at?: Date; - type?: string; + reviewed_at?: Date; - labels?: string[]; + reviewed_by?: string; + + target_message_id?: string; custom?: Record; - moderation_payload?: ModerationPayload; + details?: FlagDetails; - review_queue_item?: ReviewQueueItem; + target_message?: Message; + + target_user?: User; user?: User; } From 8ce344526b26fac5f11a85a2f94ed85385f2adb7 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 8 Aug 2025 16:26:28 +0200 Subject: [PATCH 12/21] Update open api spec --- src/gen/feeds/FeedsApi.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 8cc7d06..ea201e3 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -815,14 +815,18 @@ export class FeedsApi { async deleteComment(request: { id: string; + hard_delete?: boolean; }): Promise> { + const queryParams = { + hard_delete: request?.hard_delete, + }; const pathParams = { id: request?.id, }; const response = await this.apiClient.sendRequest< StreamResponse - >('DELETE', '/api/v2/feeds/comments/{id}', pathParams, undefined); + >('DELETE', '/api/v2/feeds/comments/{id}', pathParams, queryParams); decoders.DeleteCommentResponse?.(response.body); From eff479f75eef6bd823df686097c07c70bb9116a0 Mon Sep 17 00:00:00 2001 From: Jana Naumoska <81863991+naumoskajana@users.noreply.github.com> Date: Mon, 11 Aug 2025 09:43:15 +0200 Subject: [PATCH 13/21] feat: Added create membership level method, request and response (#129) --- src/gen/feeds/FeedsApi.ts | 30 +++++++++++++++++++++++ src/gen/model-decoders/decoders.ts | 16 +++++++++++++ src/gen/models/index.ts | 38 ++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index ea201e3..60ab1e3 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -25,6 +25,8 @@ import { CreateFeedViewResponse, CreateFeedsBatchRequest, CreateFeedsBatchResponse, + CreateMembershipLevelRequest, + CreateMembershipLevelResponse, DeleteActivitiesRequest, DeleteActivitiesResponse, DeleteActivityReactionResponse, @@ -1830,6 +1832,34 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async createMembershipLevel( + request: CreateMembershipLevelRequest, + ): Promise> { + const body = { + id: request?.id, + name: request?.name, + description: request?.description, + priority: request?.priority, + tags: request?.tags, + custom: request?.custom, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/membership_levels', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.CreateMembershipLevelResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async unfollowBatch( request: UnfollowBatchRequest, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 49ee5e5..1b79b2c 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -1656,6 +1656,13 @@ decoders.CreateImportResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CreateMembershipLevelResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + membership_level: { type: 'MembershipLevelResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CreateRoleResponse = (input?: Record) => { const typeMappings: TypeMapping = { role: { type: 'Role', isSingle: true }, @@ -2537,6 +2544,15 @@ decoders.MembersResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MembershipLevelResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.Message = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 7df2e53..dfe2577 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -4154,6 +4154,26 @@ export interface CreateImportURLResponse { upload_url: string; } +export interface CreateMembershipLevelRequest { + id: string; + + name: string; + + description?: string; + + priority?: number; + + tags?: string[]; + + custom?: Record; +} + +export interface CreateMembershipLevelResponse { + duration: string; + + membership_level: MembershipLevelResponse; +} + export interface CreatePollOptionRequest { text: string; @@ -6926,6 +6946,24 @@ export interface MembersResponse { members: ChannelMember[]; } +export interface MembershipLevelResponse { + created_at: Date; + + id: string; + + name: string; + + priority: number; + + updated_at: Date; + + tags: string[]; + + description?: string; + + custom?: Record; +} + export interface Message { cid: string; From c1411632cd17b536599a8babebf69fc81d68e4bc Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Mon, 11 Aug 2025 15:11:45 +0200 Subject: [PATCH 14/21] Rename fid to feed --- src/StreamFeed.ts | 2 +- src/gen/models/index.ts | 26 +++++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/StreamFeed.ts b/src/StreamFeed.ts index 63c581f..ee0fad7 100644 --- a/src/StreamFeed.ts +++ b/src/StreamFeed.ts @@ -1,7 +1,7 @@ import { FeedApi } from './gen/feeds/FeedApi'; export class StreamFeed extends FeedApi { - get fid() { + get feed() { return `${this.group}:${this.id}`; } } diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index dfe2577..87efd08 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -5504,29 +5504,33 @@ export interface FirebaseConfigFields { export interface Flag { created_at: Date; - created_by_automod: boolean; + entity_id: string; + + entity_type: string; updated_at: Date; - approved_at?: Date; + result: Array>; - reason?: string; + entity_creator_id?: string; - rejected_at?: Date; + is_streamed_content?: boolean; - reviewed_at?: Date; + moderation_payload_hash?: string; + + reason?: string; - reviewed_by?: string; + review_queue_item_id?: string; - target_message_id?: string; + type?: string; - custom?: Record; + labels?: string[]; - details?: FlagDetails; + custom?: Record; - target_message?: Message; + moderation_payload?: ModerationPayload; - target_user?: User; + review_queue_item?: ReviewQueueItem; user?: User; } From e9547cb228575cf361460e03f807b0c212d40f86 Mon Sep 17 00:00:00 2001 From: Zoran Miladinoski Date: Mon, 11 Aug 2025 16:45:58 +0200 Subject: [PATCH 15/21] feat: [FEEDS 640] get or create feed group req expand (#131) --- src/gen/feeds/FeedsApi.ts | 4 ++++ src/gen/models/index.ts | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 60ab1e3..3b0a3af 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1426,8 +1426,12 @@ export class FeedsApi { }; const body = { default_visibility: request?.default_visibility, + activity_processors: request?.activity_processors, + activity_selectors: request?.activity_selectors, + aggregation: request?.aggregation, custom: request?.custom, notification: request?.notification, + ranking: request?.ranking, }; const response = await this.apiClient.sendRequest< diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 87efd08..d58930d 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -6169,9 +6169,17 @@ export interface GetOrCreateFeedGroupRequest { | 'members' | 'private'; + activity_processors?: ActivityProcessorConfig[]; + + activity_selectors?: ActivitySelectorConfig[]; + + aggregation?: AggregationConfig; + custom?: Record; notification?: NotificationConfig; + + ranking?: RankingConfig; } export interface GetOrCreateFeedGroupResponse { From b1694bed31b6e936f6deeab332767ccb12c04bb7 Mon Sep 17 00:00:00 2001 From: Zoran Miladinoski Date: Wed, 13 Aug 2025 13:34:19 +0200 Subject: [PATCH 16/21] feat: update membership level endpoint (#133) --- src/gen/feeds/FeedsApi.ts | 32 ++++++++++++++++++++++++++++++ src/gen/model-decoders/decoders.ts | 7 +++++++ src/gen/models/index.ts | 18 +++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 3b0a3af..0b7e97d 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -110,6 +110,8 @@ import { UpdateFeedViewResponse, UpdateFollowRequest, UpdateFollowResponse, + UpdateMembershipLevelRequest, + UpdateMembershipLevelResponse, UpsertActivitiesRequest, UpsertActivitiesResponse, } from '../models'; @@ -1864,6 +1866,36 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async updateMembershipLevel( + request: UpdateMembershipLevelRequest & { id: string }, + ): Promise> { + const pathParams = { + id: request?.id, + }; + const body = { + description: request?.description, + name: request?.name, + priority: request?.priority, + tags: request?.tags, + custom: request?.custom, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'PATCH', + '/api/v2/feeds/membership_levels/{id}', + pathParams, + undefined, + body, + 'application/json', + ); + + decoders.UpdateMembershipLevelResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async unfollowBatch( request: UnfollowBatchRequest, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 1b79b2c..27bfec4 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -4123,6 +4123,13 @@ decoders.UpdateMemberPartialResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UpdateMembershipLevelResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + membership_level: { type: 'MembershipLevelResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UpdateMessagePartialResponse = (input?: Record) => { const typeMappings: TypeMapping = { message: { type: 'MessageResponse', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index d58930d..379cea4 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -12186,6 +12186,24 @@ export interface UpdateMemberPartialResponse { channel_member?: ChannelMemberResponse; } +export interface UpdateMembershipLevelRequest { + description?: string; + + name?: string; + + priority?: number; + + tags?: string[]; + + custom?: Record; +} + +export interface UpdateMembershipLevelResponse { + duration: string; + + membership_level: MembershipLevelResponse; +} + export interface UpdateMessagePartialRequest { skip_enrich_url?: boolean; From 7f0ae28895ffcb70de1a772a60af5b864946b0a5 Mon Sep 17 00:00:00 2001 From: Jana Naumoska <81863991+naumoskajana@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:38:40 +0200 Subject: [PATCH 17/21] feat: Query membership levels method, request and response (#134) --- src/gen/feeds/FeedsApi.ts | 29 +++++++++++++++++++++++++++++ src/gen/model-decoders/decoders.ts | 7 +++++++ src/gen/models/index.ts | 22 ++++++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 0b7e97d..9624d2e 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -80,6 +80,8 @@ import { QueryFeedsResponse, QueryFollowsRequest, QueryFollowsResponse, + QueryMembershipLevelsRequest, + QueryMembershipLevelsResponse, RejectFeedMemberInviteRequest, RejectFeedMemberInviteResponse, RejectFollowRequest, @@ -1896,6 +1898,33 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async queryMembershipLevels( + request?: QueryMembershipLevelsRequest, + ): Promise> { + const body = { + limit: request?.limit, + next: request?.next, + prev: request?.prev, + sort: request?.sort, + filter: request?.filter, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/membership_levels/query', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.QueryMembershipLevelsResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async unfollowBatch( request: UnfollowBatchRequest, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 27bfec4..db73707 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -3319,6 +3319,13 @@ decoders.QueryFollowsResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.QueryMembershipLevelsResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + membership_levels: { type: 'MembershipLevelResponse', isSingle: false }, + }; + return decode(typeMappings, input); +}; + decoders.QueryMessageFlagsResponse = (input?: Record) => { const typeMappings: TypeMapping = { flags: { type: 'MessageFlagResponse', isSingle: false }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 379cea4..d6a133c 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -9110,6 +9110,28 @@ export interface QueryMembersPayload { user?: UserRequest; } +export interface QueryMembershipLevelsRequest { + limit?: number; + + next?: string; + + prev?: string; + + sort?: SortParamRequest[]; + + filter?: Record; +} + +export interface QueryMembershipLevelsResponse { + duration: string; + + membership_levels: MembershipLevelResponse[]; + + next?: string; + + prev?: string; +} + export interface QueryMessageFlagsPayload { limit?: number; From cf2c8c7dd7f1d160abb06947f46d33af94832752 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Thu, 14 Aug 2025 11:19:51 +0200 Subject: [PATCH 18/21] Use serverside api for API generation --- generate-openapi.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate-openapi.sh b/generate-openapi.sh index 83fb15d..e790a11 100755 --- a/generate-openapi.sh +++ b/generate-openapi.sh @@ -6,6 +6,6 @@ CHAT_DIR="../chat" rm -rf $OUTPUT_DIR -( cd $CHAT_DIR ; make openapi ; go run ./cmd/chat-manager openapi generate-client --language ts --spec ./releases/v2/feeds-serverside-api.yaml --output $OUTPUT_DIR ) +( cd $CHAT_DIR ; make openapi ; go run ./cmd/chat-manager openapi generate-client --language ts --spec ./releases/v2/serverside-api.yaml --output $OUTPUT_DIR ) yarn lint:gen \ No newline at end of file From e89241bef8cf4569d7cd3613dee4b58e30879282 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Thu, 14 Aug 2025 13:21:49 +0200 Subject: [PATCH 19/21] Update to latest API spec --- src/gen/feeds/FeedsApi.ts | 56 ++++++++++++++++-------------- src/gen/model-decoders/decoders.ts | 6 ++++ src/gen/models/index.ts | 22 ++++++++---- 3 files changed, 50 insertions(+), 34 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 9624d2e..4d6f88d 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1364,9 +1364,11 @@ export class FeedsApi { async getFollowSuggestions(request: { feed_group_id: string; limit?: number; + user_id?: string; }): Promise> { const queryParams = { limit: request?.limit, + user_id: request?.user_id, }; const pathParams = { feed_group_id: request?.feed_group_id, @@ -1868,6 +1870,33 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async queryMembershipLevels( + request?: QueryMembershipLevelsRequest, + ): Promise> { + const body = { + limit: request?.limit, + next: request?.next, + prev: request?.prev, + sort: request?.sort, + filter: request?.filter, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/feeds/membership_levels/query', + undefined, + undefined, + body, + 'application/json', + ); + + decoders.QueryMembershipLevelsResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async updateMembershipLevel( request: UpdateMembershipLevelRequest & { id: string }, ): Promise> { @@ -1898,33 +1927,6 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } - async queryMembershipLevels( - request?: QueryMembershipLevelsRequest, - ): Promise> { - const body = { - limit: request?.limit, - next: request?.next, - prev: request?.prev, - sort: request?.sort, - filter: request?.filter, - }; - - const response = await this.apiClient.sendRequest< - StreamResponse - >( - 'POST', - '/api/v2/feeds/membership_levels/query', - undefined, - undefined, - body, - 'application/json', - ); - - decoders.QueryMembershipLevelsResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - } - async unfollowBatch( request: UnfollowBatchRequest, ): Promise> { diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index db73707..9fc5c8b 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -3588,6 +3588,8 @@ decoders.ReviewQueueItemNewEvent = (input?: Record) => { received_at: { type: 'DatetimeType', isSingle: true }, + flags: { type: 'ModerationFlagResponse', isSingle: false }, + action: { type: 'ActionLogResponse', isSingle: true }, review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true }, @@ -3605,6 +3607,8 @@ decoders.ReviewQueueItemResponse = (input?: Record) => { bans: { type: 'Ban', isSingle: false }, + flags: { type: 'ModerationFlagResponse', isSingle: false }, + completed_at: { type: 'DatetimeType', isSingle: true }, reviewed_at: { type: 'DatetimeType', isSingle: true }, @@ -3630,6 +3634,8 @@ decoders.ReviewQueueItemUpdatedEvent = (input?: Record) => { received_at: { type: 'DatetimeType', isSingle: true }, + flags: { type: 'ModerationFlagResponse', isSingle: false }, + action: { type: 'ActionLogResponse', isSingle: true }, review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index d6a133c..fbb7d00 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -242,6 +242,12 @@ export interface ActiveCallsMetrics { subscribers?: SubscribersMetrics; } +export interface ActiveCallsResolutionStats { + p10: number; + + p50: number; +} + export interface ActiveCallsSummary { active_calls: number; @@ -308,8 +314,6 @@ export interface ActivityFeedbackResponse { activity_id: string; duration: string; - - success: boolean; } export interface ActivityLocation { @@ -1938,6 +1942,8 @@ export interface CallParticipant { role: string; + role: string; + user_session_id: string; custom: Record; @@ -7607,12 +7613,12 @@ export interface ModerationFlagResponse { entity_type: string; - id: string; - type: string; updated_at: string; + user_id: string; + entity_creator_id?: string; reason?: string; @@ -8454,6 +8460,8 @@ export interface PublisherVideoMetrics { frame_encoding_time_ms?: ActiveCallsLatencyStats; jitter_ms?: ActiveCallsLatencyStats; + + resolution?: ActiveCallsResolutionStats; } export interface PublishersMetrics { @@ -10063,7 +10071,7 @@ export interface ReviewQueueItemNewEvent { received_at?: Date; - flags?: FlagResponse[]; + flags?: ModerationFlagResponse[]; action?: ActionLogResponse; @@ -10097,7 +10105,7 @@ export interface ReviewQueueItemResponse { bans: Ban[]; - flags: FlagResponse[]; + flags: ModerationFlagResponse[]; languages: string[]; @@ -10139,7 +10147,7 @@ export interface ReviewQueueItemUpdatedEvent { received_at?: Date; - flags?: FlagResponse[]; + flags?: ModerationFlagResponse[]; action?: ActionLogResponse; From cf8b76eb1c157e4f6937b448ba203aa588117369 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Thu, 14 Aug 2025 13:24:51 +0200 Subject: [PATCH 20/21] Fix build error --- src/gen/models/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index fbb7d00..940c3ea 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -1942,8 +1942,6 @@ export interface CallParticipant { role: string; - role: string; - user_session_id: string; custom: Record; From 5fb4f7d557e0c9761888ac0fe8bde815a8a3afb6 Mon Sep 17 00:00:00 2001 From: Zoran Miladinoski Date: Fri, 15 Aug 2025 09:56:06 +0200 Subject: [PATCH 21/21] feat: [Feeds-661] delete membership level (#135) --- src/gen/feeds/FeedsApi.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 4d6f88d..49aaa53 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -1897,6 +1897,25 @@ export class FeedsApi { return { ...response.body, metadata: response.metadata }; } + async deleteMembershipLevel(request: { + id: string; + }): Promise> { + const pathParams = { + id: request?.id, + }; + + const response = await this.apiClient.sendRequest>( + 'DELETE', + '/api/v2/feeds/membership_levels/{id}', + pathParams, + undefined, + ); + + decoders.Response?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + async updateMembershipLevel( request: UpdateMembershipLevelRequest & { id: string }, ): Promise> {