From 3ac6a5d6208a66c48f163631d2b676ec28260666 Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Tue, 28 Oct 2025 14:48:02 +0100 Subject: [PATCH 1/2] chore: moderation submit actions --- src/gen/model-decoders/decoders.ts | 170 ++++++++++++- src/gen/models/index.ts | 382 ++++++++++++++++++++++++++-- src/gen/moderation/ModerationApi.ts | 2 + 3 files changed, 534 insertions(+), 20 deletions(-) diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index fdcf3c3..2f61150 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -61,6 +61,41 @@ decoders.ActionLogResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.Activity = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + comments: { type: 'Comment', isSingle: false }, + + latest_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, + + mentioned_users: { type: 'User', isSingle: false }, + + own_bookmarks: { type: 'Bookmark', isSingle: false }, + + own_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, + + reaction_groups: { type: 'FeedsReactionGroup', isSingle: false }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + edited_at: { type: 'DatetimeType', isSingle: true }, + + expires_at: { type: 'DatetimeType', isSingle: true }, + + current_feed: { type: 'Feed', isSingle: true }, + + parent: { type: 'Activity', isSingle: true }, + + poll: { type: 'Poll', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ActivityAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -224,6 +259,13 @@ decoders.ActivityResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ActivitySelectorConfig = (input?: Record) => { + const typeMappings: TypeMapping = { + cutoff_time: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ActivitySelectorConfigResponse = (input?: Record) => { const typeMappings: TypeMapping = { cutoff_time: { type: 'DatetimeType', isSingle: true }, @@ -476,6 +518,21 @@ decoders.BlockedUserResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.Bookmark = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + activity: { type: 'Activity', isSingle: true }, + + folder: { type: 'BookmarkFolder', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.BookmarkAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -502,6 +559,15 @@ decoders.BookmarkDeletedEvent = (input?: Record) => { return decode(typeMappings, input); }; +decoders.BookmarkFolder = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.BookmarkFolderDeletedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1487,6 +1553,31 @@ decoders.Command = (input?: Record) => { return decode(typeMappings, input); }; +decoders.Comment = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + latest_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, + + mentioned_users: { type: 'User', isSingle: false }, + + own_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, + + reaction_groups: { type: 'FeedsReactionGroup', isSingle: false }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + activity: { type: 'Activity', isSingle: true }, + + parent: { type: 'Comment', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CommentAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1780,6 +1871,15 @@ decoders.DeleteReactionResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.DenormalizedFeedsReaction = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.Device = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1876,6 +1976,27 @@ decoders.ExportUserResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.Feed = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + last_activity_added_at: { type: 'DatetimeType', isSingle: true }, + + last_read_at: { type: 'DatetimeType', isSingle: true }, + + last_watched_at: { type: 'DatetimeType', isSingle: true }, + + created_by: { type: 'User', isSingle: true }, + + group: { type: 'FeedGroup', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.FeedCreatedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1902,12 +2023,29 @@ decoders.FeedDeletedEvent = (input?: Record) => { return decode(typeMappings, input); }; +decoders.FeedGroup = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + activity_selectors: { type: 'ActivitySelectorConfig', isSingle: false }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + last_feed_get_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.FeedGroupChangedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, received_at: { type: 'DatetimeType', isSingle: true }, + feed_group: { type: 'FeedGroup', isSingle: true }, + user: { type: 'UserResponseCommonFields', isSingle: true }, }; return decode(typeMappings, input); @@ -2009,6 +2147,23 @@ decoders.FeedResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.FeedSuggestionResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + created_by: { type: 'UserResponse', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + own_follows: { type: 'FollowResponse', isSingle: false }, + + own_membership: { type: 'FeedMemberResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.FeedUpdatedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2034,6 +2189,15 @@ decoders.FeedViewResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.FeedsReactionGroup = (input?: Record) => { + const typeMappings: TypeMapping = { + first_reaction_at: { type: 'DatetimeType', isSingle: true }, + + last_reaction_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.FeedsReactionResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2293,7 +2457,7 @@ decoders.GetFeedViewResponse = (input?: Record) => { decoders.GetFollowSuggestionsResponse = (input?: Record) => { const typeMappings: TypeMapping = { - suggestions: { type: 'FeedResponse', isSingle: false }, + suggestions: { type: 'FeedSuggestionResponse', isSingle: false }, }; return decode(typeMappings, input); }; @@ -3742,6 +3906,10 @@ decoders.ReviewQueueItemResponse = (input?: Record) => { feeds_v2_reaction: { type: 'Reaction', isSingle: true }, + feeds_v3_activity: { type: 'Activity', isSingle: true }, + + feeds_v3_comment: { type: 'Comment', isSingle: true }, + message: { type: 'MessageResponse', isSingle: true }, reaction: { type: 'Reaction', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index a375cfd..8eb13be 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -242,6 +242,104 @@ export interface ActiveCallsSummary { participants: number; } +export interface Activity { + app_pk: number; + + bookmark_count: number; + + comment_count: number; + + created_at: Date; + + current_feed_fid: string; + + id: string; + + interest_score: number; + + is_watched: boolean; + + moderation_action: string; + + parent_id: string; + + poll_id: string; + + popularity: number; + + reaction_count: number; + + restrict_replies: number; + + score: number; + + share_count: number; + + text: string; + + text_tsv: string; + + track_is_watched: boolean; + + type: string; + + updated_at: Date; + + user_id: string; + + visibility: string; + + visibility_tag: string; + + attachments: Attachment[]; + + comments: Comment[]; + + fi_ds: string[]; + + filter_tags: string[]; + + interest_tags: string[]; + + latest_reactions: DenormalizedFeedsReaction[]; + + mentioned_user_i_ds: string[]; + + mentioned_users: User[]; + + own_bookmarks: Bookmark[]; + + own_reactions: DenormalizedFeedsReaction[]; + + aggregation_groups: Record; + + custom: Record; + + reaction_groups: Record; + + search_data: Record; + + deleted_at?: Date; + + edited_at?: Date; + + expires_at?: Date; + + current_feed?: Feed; + + location?: ActivityLocation; + + moderation?: ModerationV2Response; + + notification_context?: NotificationContext; + + parent?: Activity; + + poll?: Poll; + + user?: User; +} + export interface ActivityAddedEvent { created_at: Date; @@ -384,6 +482,10 @@ export interface ActivityPinnedEvent { export interface ActivityProcessorConfig { type: string; + + openai_key?: string; + + config?: Record; } export interface ActivityReactionAddedEvent { @@ -559,6 +661,8 @@ export interface ActivityResponse { is_watched?: boolean; + moderation_action?: string; + text?: string; visibility_tag?: string; @@ -577,19 +681,15 @@ export interface ActivityResponse { } export interface ActivitySelectorConfig { - type: - | 'popular' - | 'proximity' - | 'following' - | 'current_feed' - | 'query' - | 'interest'; + cutoff_time: Date; - cutoff_time?: string; + cutoff_window?: string; min_popularity?: number; - sort?: SortParamRequest[]; + type?: string; + + sort?: SortParam[]; filter?: Record; } @@ -599,6 +699,8 @@ export interface ActivitySelectorConfigResponse { cutoff_time?: Date; + cutoff_window?: string; + min_popularity?: number; sort?: SortParamRequest[]; @@ -818,6 +920,8 @@ export interface AggregatedActivityResponse { export interface AggregationConfig { format?: string; + + group_size?: number; } export interface AnyEvent { @@ -1298,6 +1402,10 @@ export interface BanResponse { user?: UserResponse; } +export interface BlockActionRequest { + reason?: string; +} + export interface BlockListConfig { async?: boolean; @@ -1427,6 +1535,28 @@ export interface BodyguardSeverityRule { severity: 'low' | 'medium' | 'high' | 'critical'; } +export interface Bookmark { + activity_id: string; + + app_pk: number; + + created_at: Date; + + folder_id: string; + + updated_at: Date; + + user_id: string; + + custom: Record; + + activity?: Activity; + + folder?: BookmarkFolder; + + user?: User; +} + export interface BookmarkAddedEvent { created_at: Date; @@ -1455,6 +1585,22 @@ export interface BookmarkDeletedEvent { user?: UserResponseCommonFields; } +export interface BookmarkFolder { + app_pk: number; + + created_at: Date; + + id: string; + + name: string; + + updated_at: Date; + + user_id: string; + + custom: Record; +} + export interface BookmarkFolderDeletedEvent { created_at: Date; @@ -2428,15 +2574,15 @@ export interface CallTranscriptionStoppedEvent { } export interface CallType { - app_pk: number; + app: number; created_at: Date; - external_storage: string; + id: number; name: string; - pk: number; + recording_external_storage: string; updated_at: Date; @@ -3522,6 +3668,68 @@ export interface Command { updated_at?: Date; } +export interface Comment { + app_pk: number; + + confidence_score: number; + + controversy_score: number; + + created_at: Date; + + depth: number; + + downvote_count: number; + + id: string; + + object_id: string; + + object_type: string; + + path: string; + + reply_count: number; + + score: number; + + status: string; + + text: string; + + updated_at: Date; + + upvote_count: number; + + user_id: string; + + attachments: Attachment[]; + + latest_reactions: DenormalizedFeedsReaction[]; + + mentioned_user_i_ds: string[]; + + mentioned_users: User[]; + + own_reactions: DenormalizedFeedsReaction[]; + + custom: Record; + + reaction_groups: Record; + + deleted_at?: Date; + + parent_id?: string; + + activity?: Activity; + + moderation?: ModerationV2Response; + + parent?: Comment; + + user?: User; +} + export interface CommentAddedEvent { created_at: Date; @@ -4433,6 +4641,12 @@ export interface DeleteCommentReactionResponse { reaction: FeedsReactionResponse; } +export interface DeleteCommentRequest { + hard_delete?: boolean; + + reason?: string; +} + export interface DeleteCommentResponse { duration: string; @@ -4569,6 +4783,18 @@ export interface DeliveryReceiptsResponse { enabled?: boolean; } +export interface DenormalizedFeedsReaction { + created_at: Date; + + reaction_type: string; + + updated_at: Date; + + user_id: string; + + custom?: Record; +} + export interface Device { created_at: Date; @@ -4969,6 +5195,56 @@ export interface FCM { data?: Record; } +export interface Feed { + app_pk: number; + + created_at: Date; + + created_by_id: string; + + description: string; + + description_tsv: string; + + fid: string; + + follower_count: number; + + following_count: number; + + group_id: string; + + id: string; + + member_count: number; + + name: string; + + name_tsv: string; + + pin_count: number; + + updated_at: Date; + + visibility: string; + + filter_tags: string[]; + + custom: Record; + + deleted_at?: Date; + + last_activity_added_at?: Date; + + last_read_at?: Date; + + last_watched_at?: Date; + + created_by?: User; + + group?: FeedGroup; +} + export interface FeedCreatedEvent { created_at: Date; @@ -5014,7 +5290,7 @@ export interface FeedGroup { default_visibility: string; - id: string; + group_id: string; updated_at: Date; @@ -5297,6 +5573,52 @@ export interface FeedResponse { own_membership?: FeedMemberResponse; } +export interface FeedSuggestionResponse { + created_at: Date; + + description: string; + + feed: string; + + follower_count: number; + + following_count: number; + + group_id: string; + + id: string; + + member_count: number; + + name: string; + + pin_count: number; + + updated_at: Date; + + created_by: UserResponse; + + deleted_at?: Date; + + reason?: string; + + recommendation_score?: number; + + visibility?: string; + + filter_tags?: string[]; + + own_capabilities?: FeedOwnCapability[]; + + own_follows?: FollowResponse[]; + + algorithm_scores?: Record; + + custom?: Record; + + own_membership?: FeedMemberResponse; +} + export interface FeedUpdatedEvent { created_at: Date; @@ -5357,6 +5679,14 @@ export interface FeedsPreferences { custom_activity_types?: Record; } +export interface FeedsReactionGroup { + count: number; + + first_reaction_at: Date; + + last_reaction_at: Date; +} + export interface FeedsReactionResponse { activity_id: string; @@ -6030,7 +6360,9 @@ export interface GetFeedsRateLimitsResponse { export interface GetFollowSuggestionsResponse { duration: string; - suggestions: FeedResponse[]; + suggestions: FeedSuggestionResponse[]; + + algorithm_used?: string; } export interface GetImportResponse { @@ -8878,6 +9210,8 @@ export interface PushProvider { huawei_app_secret?: string; + huawei_host?: string; + xiaomi_app_secret?: string; xiaomi_package_name?: string; @@ -9964,10 +10298,10 @@ export interface RTMPSettingsResponse { } export interface RankingConfig { - type: 'recency' | 'expression' | 'interest'; - score?: string; + type?: string; + defaults?: Record; functions?: Record; @@ -10426,6 +10760,10 @@ export interface ReviewQueueItemResponse { feeds_v2_reaction?: Reaction; + feeds_v3_activity?: Activity; + + feeds_v3_comment?: Comment; + message?: MessageResponse; moderation_payload?: ModerationPayload; @@ -10994,9 +11332,9 @@ export interface SingleFollowResponse { } export interface SortParam { - direction?: number; + direction: number; - field?: string; + field: string; } export interface SortParamRequest { @@ -11254,6 +11592,7 @@ export interface SubmitActionRequest { | 'mark_reviewed' | 'delete_message' | 'delete_activity' + | 'delete_comment' | 'delete_reaction' | 'ban' | 'custom' @@ -11261,6 +11600,7 @@ export interface SubmitActionRequest { | 'restore' | 'delete_user' | 'unblock' + | 'block' | 'shadow_block' | 'unmask' | 'kick_user' @@ -11272,10 +11612,14 @@ export interface SubmitActionRequest { ban?: BanActionRequest; + block?: BlockActionRequest; + custom?: CustomActionRequest; delete_activity?: DeleteActivityRequest; + delete_comment?: DeleteCommentRequest; + delete_message?: DeleteMessageRequest; delete_reaction?: DeleteReactionRequest; @@ -12978,7 +13322,7 @@ export interface UpsertPushTemplateRequest { | 'feeds.follow.created' | 'feeds.notification_feed.updated'; - push_provider_type: 'firebase' | 'apn'; + push_provider_type: 'firebase' | 'apn' | 'huawei' | 'xiaomi'; enable_push?: boolean; diff --git a/src/gen/moderation/ModerationApi.ts b/src/gen/moderation/ModerationApi.ts index 3a7c083..1ff0dfc 100644 --- a/src/gen/moderation/ModerationApi.ts +++ b/src/gen/moderation/ModerationApi.ts @@ -584,8 +584,10 @@ export class ModerationApi { item_id: request?.item_id, user_id: request?.user_id, ban: request?.ban, + block: request?.block, custom: request?.custom, delete_activity: request?.delete_activity, + delete_comment: request?.delete_comment, delete_message: request?.delete_message, delete_reaction: request?.delete_reaction, delete_user: request?.delete_user, From 42150f196aace7306e25d864b2eb79aba227b3be Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Tue, 28 Oct 2025 18:05:48 +0100 Subject: [PATCH 2/2] Regen api --- src/gen/feeds/FeedsApi.ts | 3 - src/gen/model-decoders/decoders.ts | 152 +------------- src/gen/models/index.ts | 325 ++++------------------------- 3 files changed, 48 insertions(+), 432 deletions(-) diff --git a/src/gen/feeds/FeedsApi.ts b/src/gen/feeds/FeedsApi.ts index 8279783..6f27e34 100644 --- a/src/gen/feeds/FeedsApi.ts +++ b/src/gen/feeds/FeedsApi.ts @@ -342,9 +342,6 @@ export class FeedsApi { }; const body = { hide: request?.hide, - mute_user: request?.mute_user, - reason: request?.reason, - report: request?.report, show_less: request?.show_less, show_more: request?.show_more, user_id: request?.user_id, diff --git a/src/gen/model-decoders/decoders.ts b/src/gen/model-decoders/decoders.ts index 2f61150..e380def 100644 --- a/src/gen/model-decoders/decoders.ts +++ b/src/gen/model-decoders/decoders.ts @@ -61,42 +61,20 @@ decoders.ActionLogResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.Activity = (input?: Record) => { +decoders.ActivityAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - updated_at: { type: 'DatetimeType', isSingle: true }, - - comments: { type: 'Comment', isSingle: false }, - - latest_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, - - mentioned_users: { type: 'User', isSingle: false }, - - own_bookmarks: { type: 'Bookmark', isSingle: false }, - - own_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, - - reaction_groups: { type: 'FeedsReactionGroup', isSingle: false }, - - deleted_at: { type: 'DatetimeType', isSingle: true }, - - edited_at: { type: 'DatetimeType', isSingle: true }, - - expires_at: { type: 'DatetimeType', isSingle: true }, - - current_feed: { type: 'Feed', isSingle: true }, - - parent: { type: 'Activity', isSingle: true }, + activity: { type: 'ActivityResponse', isSingle: true }, - poll: { type: 'Poll', isSingle: true }, + received_at: { type: 'DatetimeType', isSingle: true }, - user: { type: 'User', isSingle: true }, + user: { type: 'UserResponseCommonFields', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.ActivityAddedEvent = (input?: Record) => { +decoders.ActivityDeletedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -109,12 +87,10 @@ decoders.ActivityAddedEvent = (input?: Record) => { return decode(typeMappings, input); }; -decoders.ActivityDeletedEvent = (input?: Record) => { +decoders.ActivityFeedbackEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - activity: { type: 'ActivityResponse', isSingle: true }, - received_at: { type: 'DatetimeType', isSingle: true }, user: { type: 'UserResponseCommonFields', isSingle: true }, @@ -259,13 +235,6 @@ decoders.ActivityResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.ActivitySelectorConfig = (input?: Record) => { - const typeMappings: TypeMapping = { - cutoff_time: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.ActivitySelectorConfigResponse = (input?: Record) => { const typeMappings: TypeMapping = { cutoff_time: { type: 'DatetimeType', isSingle: true }, @@ -518,21 +487,6 @@ decoders.BlockedUserResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.Bookmark = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - - activity: { type: 'Activity', isSingle: true }, - - folder: { type: 'BookmarkFolder', isSingle: true }, - - user: { type: 'User', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.BookmarkAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -559,15 +513,6 @@ decoders.BookmarkDeletedEvent = (input?: Record) => { return decode(typeMappings, input); }; -decoders.BookmarkFolder = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.BookmarkFolderDeletedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1553,31 +1498,6 @@ decoders.Command = (input?: Record) => { return decode(typeMappings, input); }; -decoders.Comment = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - - latest_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, - - mentioned_users: { type: 'User', isSingle: false }, - - own_reactions: { type: 'DenormalizedFeedsReaction', isSingle: false }, - - reaction_groups: { type: 'FeedsReactionGroup', isSingle: false }, - - deleted_at: { type: 'DatetimeType', isSingle: true }, - - activity: { type: 'Activity', isSingle: true }, - - parent: { type: 'Comment', isSingle: true }, - - user: { type: 'User', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.CommentAddedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1871,15 +1791,6 @@ decoders.DeleteReactionResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.DenormalizedFeedsReaction = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.Device = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1976,27 +1887,6 @@ decoders.ExportUserResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.Feed = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - - deleted_at: { type: 'DatetimeType', isSingle: true }, - - last_activity_added_at: { type: 'DatetimeType', isSingle: true }, - - last_read_at: { type: 'DatetimeType', isSingle: true }, - - last_watched_at: { type: 'DatetimeType', isSingle: true }, - - created_by: { type: 'User', isSingle: true }, - - group: { type: 'FeedGroup', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.FeedCreatedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2023,29 +1913,12 @@ decoders.FeedDeletedEvent = (input?: Record) => { return decode(typeMappings, input); }; -decoders.FeedGroup = (input?: Record) => { - const typeMappings: TypeMapping = { - created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, - - activity_selectors: { type: 'ActivitySelectorConfig', isSingle: false }, - - deleted_at: { type: 'DatetimeType', isSingle: true }, - - last_feed_get_at: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.FeedGroupChangedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, received_at: { type: 'DatetimeType', isSingle: true }, - feed_group: { type: 'FeedGroup', isSingle: true }, - user: { type: 'UserResponseCommonFields', isSingle: true }, }; return decode(typeMappings, input); @@ -2189,15 +2062,6 @@ decoders.FeedViewResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.FeedsReactionGroup = (input?: Record) => { - const typeMappings: TypeMapping = { - first_reaction_at: { type: 'DatetimeType', isSingle: true }, - - last_reaction_at: { type: 'DatetimeType', isSingle: true }, - }; - return decode(typeMappings, input); -}; - decoders.FeedsReactionResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -3906,9 +3770,9 @@ decoders.ReviewQueueItemResponse = (input?: Record) => { feeds_v2_reaction: { type: 'Reaction', isSingle: true }, - feeds_v3_activity: { type: 'Activity', isSingle: true }, + feeds_v3_activity: { type: 'ActivityResponse', isSingle: true }, - feeds_v3_comment: { type: 'Comment', isSingle: true }, + feeds_v3_comment: { type: 'CommentResponse', isSingle: true }, message: { type: 'MessageResponse', isSingle: true }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index 8eb13be..98461ac 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -242,105 +242,25 @@ export interface ActiveCallsSummary { participants: number; } -export interface Activity { - app_pk: number; - - bookmark_count: number; - - comment_count: number; - +export interface ActivityAddedEvent { created_at: Date; - current_feed_fid: string; - - id: string; - - interest_score: number; - - is_watched: boolean; - - moderation_action: string; - - parent_id: string; - - poll_id: string; - - popularity: number; - - reaction_count: number; - - restrict_replies: number; - - score: number; - - share_count: number; - - text: string; - - text_tsv: string; - - track_is_watched: boolean; - - type: string; - - updated_at: Date; - - user_id: string; - - visibility: string; - - visibility_tag: string; - - attachments: Attachment[]; - - comments: Comment[]; - - fi_ds: string[]; - - filter_tags: string[]; - - interest_tags: string[]; - - latest_reactions: DenormalizedFeedsReaction[]; - - mentioned_user_i_ds: string[]; - - mentioned_users: User[]; - - own_bookmarks: Bookmark[]; - - own_reactions: DenormalizedFeedsReaction[]; + fid: string; - aggregation_groups: Record; + activity: ActivityResponse; custom: Record; - reaction_groups: Record; - - search_data: Record; - - deleted_at?: Date; - - edited_at?: Date; - - expires_at?: Date; - - current_feed?: Feed; - - location?: ActivityLocation; - - moderation?: ModerationV2Response; - - notification_context?: NotificationContext; + type: string; - parent?: Activity; + feed_visibility?: string; - poll?: Poll; + received_at?: Date; - user?: User; + user?: UserResponseCommonFields; } -export interface ActivityAddedEvent { +export interface ActivityDeletedEvent { created_at: Date; fid: string; @@ -358,32 +278,36 @@ export interface ActivityAddedEvent { user?: UserResponseCommonFields; } -export interface ActivityDeletedEvent { +export interface ActivityFeedbackEvent { created_at: Date; - fid: string; - - activity: ActivityResponse; + activity_feedback: ActivityFeedbackEventPayload; custom: Record; type: string; - feed_visibility?: string; - received_at?: Date; user?: UserResponseCommonFields; } -export interface ActivityFeedbackRequest { - hide?: boolean; +export interface ActivityFeedbackEventPayload { + action: string; - mute_user?: boolean; + activity_id: string; - reason?: string; + created_at: Date; + + updated_at: Date; + + value: string; + + user: UserResponse; +} - report?: boolean; +export interface ActivityFeedbackRequest { + hide?: boolean; show_less?: boolean; @@ -482,10 +406,6 @@ export interface ActivityPinnedEvent { export interface ActivityProcessorConfig { type: string; - - openai_key?: string; - - config?: Record; } export interface ActivityReactionAddedEvent { @@ -681,15 +601,21 @@ export interface ActivityResponse { } export interface ActivitySelectorConfig { - cutoff_time: Date; + type: + | 'popular' + | 'proximity' + | 'following' + | 'current_feed' + | 'query' + | 'interest'; + + cutoff_time?: string; cutoff_window?: string; min_popularity?: number; - type?: string; - - sort?: SortParam[]; + sort?: SortParamRequest[]; filter?: Record; } @@ -920,8 +846,6 @@ export interface AggregatedActivityResponse { export interface AggregationConfig { format?: string; - - group_size?: number; } export interface AnyEvent { @@ -1535,28 +1459,6 @@ export interface BodyguardSeverityRule { severity: 'low' | 'medium' | 'high' | 'critical'; } -export interface Bookmark { - activity_id: string; - - app_pk: number; - - created_at: Date; - - folder_id: string; - - updated_at: Date; - - user_id: string; - - custom: Record; - - activity?: Activity; - - folder?: BookmarkFolder; - - user?: User; -} - export interface BookmarkAddedEvent { created_at: Date; @@ -1585,22 +1487,6 @@ export interface BookmarkDeletedEvent { user?: UserResponseCommonFields; } -export interface BookmarkFolder { - app_pk: number; - - created_at: Date; - - id: string; - - name: string; - - updated_at: Date; - - user_id: string; - - custom: Record; -} - export interface BookmarkFolderDeletedEvent { created_at: Date; @@ -3668,68 +3554,6 @@ export interface Command { updated_at?: Date; } -export interface Comment { - app_pk: number; - - confidence_score: number; - - controversy_score: number; - - created_at: Date; - - depth: number; - - downvote_count: number; - - id: string; - - object_id: string; - - object_type: string; - - path: string; - - reply_count: number; - - score: number; - - status: string; - - text: string; - - updated_at: Date; - - upvote_count: number; - - user_id: string; - - attachments: Attachment[]; - - latest_reactions: DenormalizedFeedsReaction[]; - - mentioned_user_i_ds: string[]; - - mentioned_users: User[]; - - own_reactions: DenormalizedFeedsReaction[]; - - custom: Record; - - reaction_groups: Record; - - deleted_at?: Date; - - parent_id?: string; - - activity?: Activity; - - moderation?: ModerationV2Response; - - parent?: Comment; - - user?: User; -} - export interface CommentAddedEvent { created_at: Date; @@ -4783,18 +4607,6 @@ export interface DeliveryReceiptsResponse { enabled?: boolean; } -export interface DenormalizedFeedsReaction { - created_at: Date; - - reaction_type: string; - - updated_at: Date; - - user_id: string; - - custom?: Record; -} - export interface Device { created_at: Date; @@ -5195,56 +5007,6 @@ export interface FCM { data?: Record; } -export interface Feed { - app_pk: number; - - created_at: Date; - - created_by_id: string; - - description: string; - - description_tsv: string; - - fid: string; - - follower_count: number; - - following_count: number; - - group_id: string; - - id: string; - - member_count: number; - - name: string; - - name_tsv: string; - - pin_count: number; - - updated_at: Date; - - visibility: string; - - filter_tags: string[]; - - custom: Record; - - deleted_at?: Date; - - last_activity_added_at?: Date; - - last_read_at?: Date; - - last_watched_at?: Date; - - created_by?: User; - - group?: FeedGroup; -} - export interface FeedCreatedEvent { created_at: Date; @@ -5679,14 +5441,6 @@ export interface FeedsPreferences { custom_activity_types?: Record; } -export interface FeedsReactionGroup { - count: number; - - first_reaction_at: Date; - - last_reaction_at: Date; -} - export interface FeedsReactionResponse { activity_id: string; @@ -10298,9 +10052,9 @@ export interface RTMPSettingsResponse { } export interface RankingConfig { - score?: string; + type: 'recency' | 'expression' | 'interest'; - type?: string; + score?: string; defaults?: Record; @@ -10760,9 +10514,9 @@ export interface ReviewQueueItemResponse { feeds_v2_reaction?: Reaction; - feeds_v3_activity?: Activity; + feeds_v3_activity?: ActivityResponse; - feeds_v3_comment?: Comment; + feeds_v3_comment?: CommentResponse; message?: MessageResponse; @@ -11332,9 +11086,9 @@ export interface SingleFollowResponse { } export interface SortParam { - direction: number; + direction?: number; - field: string; + field?: string; } export interface SortParamRequest { @@ -14045,6 +13799,7 @@ export type WebhookEvent = | ({ type: 'export.users.success' } & AsyncExportUsersEvent) | ({ type: 'feeds.activity.added' } & ActivityAddedEvent) | ({ type: 'feeds.activity.deleted' } & ActivityDeletedEvent) + | ({ type: 'feeds.activity.feedback' } & ActivityFeedbackEvent) | ({ type: 'feeds.activity.marked' } & ActivityMarkEvent) | ({ type: 'feeds.activity.pinned' } & ActivityPinnedEvent) | ({ type: 'feeds.activity.reaction.added' } & ActivityReactionAddedEvent)