From 898ee9e692b85075e60147835ff43de3f1179587 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Tue, 24 Jun 2025 09:45:41 +0200 Subject: [PATCH 1/3] feat: Update to API spec v179.7.0 (#113) --- src/gen/chat/ChatApi.ts | 154 ++++++ src/gen/common/CommonApi.ts | 85 +++ src/gen/model-decoders/index.ts | 246 +++++++++ src/gen/models/index.ts | 810 +++++++++++++++++++++++++++- src/gen/moderation/ModerationApi.ts | 48 ++ 5 files changed, 1319 insertions(+), 24 deletions(-) diff --git a/src/gen/chat/ChatApi.ts b/src/gen/chat/ChatApi.ts index 19d80ab..408a6c7 100644 --- a/src/gen/chat/ChatApi.ts +++ b/src/gen/chat/ChatApi.ts @@ -12,12 +12,14 @@ import { CreateCommandResponse, CreatePollOptionRequest, CreatePollRequest, + CreateReminderRequest, DeleteChannelResponse, DeleteChannelsRequest, DeleteChannelsResponse, DeleteCommandResponse, DeleteMessageResponse, DeleteReactionResponse, + DeleteReminderResponse, DeleteSegmentTargetsRequest, EventResponse, ExportChannelsRequest, @@ -30,6 +32,7 @@ import { GetDraftResponse, GetManyMessagesResponse, GetMessageResponse, + GetPushTemplatesResponse, GetReactionsResponse, GetRepliesResponse, GetSegmentResponse, @@ -71,12 +74,15 @@ import { QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, + QueryRemindersRequest, + QueryRemindersResponse, QuerySegmentTargetsRequest, QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, QueryThreadsRequest, QueryThreadsResponse, + ReminderResponseData, Response, SearchPayload, SearchResponse, @@ -116,10 +122,14 @@ import { UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, + UpdateReminderRequest, + UpdateReminderResponse, UpdateThreadPartialRequest, UpdateThreadPartialResponse, UpsertPushPreferencesRequest, UpsertPushPreferencesResponse, + UpsertPushTemplateRequest, + UpsertPushTemplateResponse, WrappedUnreadCountsResponse, } from '../models'; import { decoders } from '../model-decoders'; @@ -790,6 +800,7 @@ export class ChatApi extends BaseApi { skip_push: request?.skip_push, truncated_at: request?.truncated_at, user_id: request?.user_id, + member_ids: request?.member_ids, message: request?.message, user: request?.user, }; @@ -876,6 +887,7 @@ export class ChatApi extends BaseApi { typing_events: request?.typing_events, uploads: request?.uploads, url_enrichment: request?.url_enrichment, + user_message_reminders: request?.user_message_reminders, blocklists: request?.blocklists, commands: request?.commands, permissions: request?.permissions, @@ -957,6 +969,7 @@ export class ChatApi extends BaseApi { typing_events: request?.typing_events, uploads: request?.uploads, url_enrichment: request?.url_enrichment, + user_message_reminders: request?.user_message_reminders, allowed_flag_reasons: request?.allowed_flag_reasons, blocklists: request?.blocklists, commands: request?.commands, @@ -1195,6 +1208,7 @@ export class ChatApi extends BaseApi { const body = { message: request?.message, skip_enrich_url: request?.skip_enrich_url, + skip_push: request?.skip_push, }; const response = await this.sendRequest< @@ -1414,6 +1428,7 @@ export class ChatApi extends BaseApi { const body = { message: request?.message, skip_enrich_url: request?.skip_enrich_url, + skip_push: request?.skip_push, }; const response = await this.sendRequest< @@ -1484,6 +1499,85 @@ export class ChatApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + deleteReminder = async (request: { + message_id: string; + user_id?: string; + }): Promise> => { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + message_id: request?.message_id, + }; + + const response = await this.sendRequest< + StreamResponse + >( + 'DELETE', + '/api/v2/chat/messages/{message_id}/reminders', + pathParams, + queryParams, + ); + + decoders.DeleteReminderResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + updateReminder = async ( + request: UpdateReminderRequest & { message_id: string }, + ): Promise> => { + const pathParams = { + message_id: request?.message_id, + }; + const body = { + remind_at: request?.remind_at, + user_id: request?.user_id, + user: request?.user, + }; + + const response = await this.sendRequest< + StreamResponse + >( + 'PATCH', + '/api/v2/chat/messages/{message_id}/reminders', + pathParams, + undefined, + body, + ); + + decoders.UpdateReminderResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + createReminder = async ( + request: CreateReminderRequest & { message_id: string }, + ): Promise> => { + const pathParams = { + message_id: request?.message_id, + }; + const body = { + remind_at: request?.remind_at, + user_id: request?.user_id, + user: request?.user, + }; + + const response = await this.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/chat/messages/{message_id}/reminders', + pathParams, + undefined, + body, + ); + + decoders.ReminderResponseData?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + getReplies = async (request: { parent_id: string; limit?: number; @@ -1908,6 +2002,44 @@ export class ChatApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + getPushTemplates = async (request: { + push_provider_type: string; + push_provider_name?: string; + }): Promise> => { + const queryParams = { + push_provider_type: request?.push_provider_type, + push_provider_name: request?.push_provider_name, + }; + + const response = await this.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/push_templates', undefined, queryParams); + + decoders.GetPushTemplatesResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + upsertPushTemplate = async ( + request: UpsertPushTemplateRequest, + ): Promise> => { + const body = { + event_type: request?.event_type, + push_provider_type: request?.push_provider_type, + enable_push: request?.enable_push, + push_provider_name: request?.push_provider_name, + template: request?.template, + }; + + const response = await this.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/push_templates', undefined, undefined, body); + + decoders.UpsertPushTemplateResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + queryBannedUsers = async (request?: { payload?: QueryBannedUsersPayload; }): Promise> => { @@ -1924,6 +2056,28 @@ export class ChatApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + queryReminders = async ( + request?: QueryRemindersRequest, + ): Promise> => { + const body = { + limit: request?.limit, + next: request?.next, + prev: request?.prev, + user_id: request?.user_id, + sort: request?.sort, + filter: request?.filter, + user: request?.user, + }; + + const response = await this.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/reminders/query', undefined, undefined, body); + + decoders.QueryRemindersResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + search = async (request?: { payload?: SearchPayload; }): Promise> => { diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index 5d574a4..6a52ad7 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -33,6 +33,8 @@ import { ExportUserResponse, ExportUsersRequest, ExportUsersResponse, + FileUploadRequest, + FileUploadResponse, GetApplicationResponse, GetBlockListResponse, GetBlockedUsersResponse, @@ -41,6 +43,8 @@ import { GetOGResponse, GetRateLimitsResponse, GetTaskResponse, + ImageUploadRequest, + ImageUploadResponse, ListBlockListResponse, ListDevicesResponse, ListExternalStorageResponse, @@ -115,6 +119,7 @@ export class CommonApi extends BaseApi { sqs_url: request?.sqs_url, webhook_url: request?.webhook_url, allowed_flag_reasons: request?.allowed_flag_reasons, + event_hooks: request?.event_hooks, image_moderation_block_labels: request?.image_moderation_block_labels, image_moderation_labels: request?.image_moderation_labels, user_search_disallowed_roles: request?.user_search_disallowed_roles, @@ -127,6 +132,8 @@ export class CommonApi extends BaseApi { grants: request?.grants, huawei_config: request?.huawei_config, image_upload_config: request?.image_upload_config, + moderation_dashboard_preferences: + request?.moderation_dashboard_preferences, push_config: request?.push_config, xiaomi_config: request?.xiaomi_config, }; @@ -247,6 +254,7 @@ export class CommonApi extends BaseApi { ): Promise> => { const body = { apn_template: request?.apn_template, + event_type: request?.event_type, firebase_data_template: request?.firebase_data_template, firebase_template: request?.firebase_template, message_id: request?.message_id, @@ -751,6 +759,83 @@ export class CommonApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + deleteFile = async (request?: { + url?: string; + }): Promise> => { + const queryParams = { + url: request?.url, + }; + + const response = await this.sendRequest>( + 'DELETE', + '/api/v2/uploads/file', + undefined, + queryParams, + ); + + decoders.Response?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + uploadFile = async ( + request?: FileUploadRequest, + ): Promise> => { + const body = { + file: request?.file, + user: request?.user, + }; + + const response = await this.sendRequest>( + 'POST', + '/api/v2/uploads/file', + undefined, + undefined, + body, + ); + + decoders.FileUploadResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + deleteImage = async (request?: { + url?: string; + }): Promise> => { + const queryParams = { + url: request?.url, + }; + + const response = await this.sendRequest>( + 'DELETE', + '/api/v2/uploads/image', + undefined, + queryParams, + ); + + decoders.Response?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + + uploadImage = async ( + request?: ImageUploadRequest, + ): Promise> => { + const body = { + file: request?.file, + upload_sizes: request?.upload_sizes, + user: request?.user, + }; + + const response = await this.sendRequest< + StreamResponse + >('POST', '/api/v2/uploads/image', undefined, undefined, body); + + decoders.ImageUploadResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + queryUsers = async (request?: { payload?: QueryUsersPayload; }): Promise> => { diff --git a/src/gen/model-decoders/index.ts b/src/gen/model-decoders/index.ts index 435e8b8..002ee56 100644 --- a/src/gen/model-decoders/index.ts +++ b/src/gen/model-decoders/index.ts @@ -60,6 +60,8 @@ decoders.ActionLogResponse = (input?: Record) => { decoders.AppResponseFields = (input?: Record) => { const typeMappings: TypeMapping = { + event_hooks: { type: 'EventHook', isSingle: false }, + call_types: { type: 'CallType', isSingle: false }, channel_configs: { type: 'ChannelConfig', isSingle: false }, @@ -135,6 +137,84 @@ decoders.BlockedUserResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.Call = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + blocked_users: { type: 'User', isSingle: false }, + + egresses: { type: 'CallEgress', isSingle: false }, + + members: { type: 'CallMember', isSingle: false }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + egress_updated_at: { type: 'DatetimeType', isSingle: true }, + + ended_at: { type: 'DatetimeType', isSingle: true }, + + last_heartbeat_at: { type: 'DatetimeType', isSingle: true }, + + starts_at: { type: 'DatetimeType', isSingle: true }, + + call_type: { type: 'CallType', isSingle: true }, + + created_by: { type: 'User', isSingle: true }, + + session: { type: 'CallSession', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallEgress = (input?: Record) => { + const typeMappings: TypeMapping = { + started_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + stopped_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallMember = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallParticipant = (input?: Record) => { + const typeMappings: TypeMapping = { + joined_at: { type: 'DatetimeType', isSingle: true }, + + ban_expires: { type: 'DatetimeType', isSingle: true }, + + created_at: { type: 'DatetimeType', isSingle: true }, + + deactivated_at: { type: 'DatetimeType', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + last_active: { type: 'DatetimeType', isSingle: true }, + + last_engaged_at: { type: 'DatetimeType', isSingle: true }, + + revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallParticipantResponse = (input?: Record) => { const typeMappings: TypeMapping = { joined_at: { type: 'DatetimeType', isSingle: true }, @@ -179,6 +259,37 @@ decoders.CallResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallSession = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + active_sf_us: { type: 'SFUIDLastSeen', isSingle: false }, + + participants: { type: 'CallParticipant', isSingle: false }, + + accepted_by: { type: 'DatetimeType', isSingle: false }, + + missed_by: { type: 'DatetimeType', isSingle: false }, + + rejected_by: { type: 'DatetimeType', isSingle: false }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + ended_at: { type: 'DatetimeType', isSingle: true }, + + live_ended_at: { type: 'DatetimeType', isSingle: true }, + + live_started_at: { type: 'DatetimeType', isSingle: true }, + + ring_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + timer_ends_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallSessionResponse = (input?: Record) => { const typeMappings: TypeMapping = { participants: { type: 'CallParticipantResponse', isSingle: false }, @@ -710,6 +821,15 @@ decoders.EntityCreatorResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.EventHook = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.EventResponse = (input?: Record) => { const typeMappings: TypeMapping = { event: { type: 'WSEvent', isSingle: true }, @@ -734,6 +854,8 @@ decoders.Flag = (input?: Record) => { updated_at: { type: 'DatetimeType', isSingle: true }, + review_queue_item: { type: 'ReviewQueueItem', isSingle: true }, + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); @@ -801,6 +923,8 @@ decoders.GetBlockedUsersResponse = (input?: Record) => { decoders.GetCallReportResponse = (input?: Record) => { const typeMappings: TypeMapping = { + video_reactions: { type: 'VideoReactionsResponse', isSingle: false }, + chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true }, }; return decode(typeMappings, input); @@ -888,6 +1012,13 @@ decoders.GetOrCreateCallResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.GetPushTemplatesResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + templates: { type: 'PushTemplate', isSingle: false }, + }; + return decode(typeMappings, input); +}; + decoders.GetReactionsResponse = (input?: Record) => { const typeMappings: TypeMapping = { reactions: { type: 'Reaction', isSingle: false }, @@ -1084,6 +1215,8 @@ decoders.Message = (input?: Record) => { quoted_message: { type: 'Message', isSingle: true }, + reminder: { type: 'MessageReminder', isSingle: true }, + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); @@ -1145,6 +1278,23 @@ decoders.MessageReadEvent = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MessageReminder = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + remind_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'Channel', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MessageResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1178,6 +1328,8 @@ decoders.MessageResponse = (input?: Record) => { quoted_message: { type: 'MessageResponse', isSingle: true }, reaction_groups: { type: 'ReactionGroupResponse', isSingle: false }, + + reminder: { type: 'ReminderResponseData', isSingle: true }, }; return decode(typeMappings, input); }; @@ -1224,6 +1376,17 @@ decoders.MessageWithChannelResponse = (input?: Record) => { quoted_message: { type: 'MessageResponse', isSingle: true }, reaction_groups: { type: 'ReactionGroupResponse', isSingle: false }, + + reminder: { type: 'ReminderResponseData', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ModerationFlagResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + review_queue_item: { type: 'ReviewQueueItem', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, }; return decode(typeMappings, input); }; @@ -1424,6 +1587,8 @@ decoders.PushProvider = (input?: Record) => { updated_at: { type: 'DatetimeType', isSingle: true }, disabled_at: { type: 'DatetimeType', isSingle: true }, + + push_templates: { type: 'PushTemplate', isSingle: false }, }; return decode(typeMappings, input); }; @@ -1439,6 +1604,15 @@ decoders.PushProviderResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.PushTemplate = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.QueryBannedUsersResponse = (input?: Record) => { const typeMappings: TypeMapping = { bans: { type: 'BanResponse', isSingle: false }, @@ -1538,6 +1712,13 @@ decoders.QueryModerationConfigsResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.QueryModerationFlagsResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + flags: { type: 'ModerationFlagResponse', isSingle: false }, + }; + return decode(typeMappings, input); +}; + decoders.QueryModerationLogsResponse = (input?: Record) => { const typeMappings: TypeMapping = { logs: { type: 'ActionLogResponse', isSingle: false }, @@ -1559,6 +1740,13 @@ decoders.QueryReactionsResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.QueryRemindersResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + reminders: { type: 'ReminderResponseData', isSingle: false }, + }; + return decode(typeMappings, input); +}; + decoders.QueryReviewQueueResponse = (input?: Record) => { const typeMappings: TypeMapping = { items: { type: 'ReviewQueueItemResponse', isSingle: false }, @@ -1641,6 +1829,23 @@ decoders.ReadStateResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReminderResponseData = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + remind_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'ChannelResponse', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ReviewQueueItem = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1655,6 +1860,8 @@ decoders.ReviewQueueItem = (input?: Record) => { assigned_to: { type: 'User', isSingle: true }, + call: { type: 'Call', isSingle: true }, + entity_creator: { type: 'EntityCreator', isSingle: true }, feeds_v2_reaction: { type: 'Reaction', isSingle: true }, @@ -1682,6 +1889,8 @@ decoders.ReviewQueueItemResponse = (input?: Record) => { assigned_to: { type: 'UserResponse', isSingle: true }, + call: { type: 'CallResponse', isSingle: true }, + entity_creator: { type: 'EntityCreatorResponse', isSingle: true }, feeds_v2_reaction: { type: 'Reaction', isSingle: true }, @@ -1702,6 +1911,13 @@ decoders.Role = (input?: Record) => { return decode(typeMappings, input); }; +decoders.SFUIDLastSeen = (input?: Record) => { + const typeMappings: TypeMapping = { + last_seen: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.SearchResult = (input?: Record) => { const typeMappings: TypeMapping = { message: { type: 'SearchResultMessage', isSingle: true }, @@ -1744,6 +1960,8 @@ decoders.SearchResultMessage = (input?: Record) => { quoted_message: { type: 'MessageResponse', isSingle: true }, reaction_groups: { type: 'ReactionGroupResponse', isSingle: false }, + + reminder: { type: 'ReminderResponseData', isSingle: true }, }; return decode(typeMappings, input); }; @@ -1998,6 +2216,13 @@ decoders.UpdateMessageResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UpdateReminderResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + reminder: { type: 'ReminderResponseData', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UpdateThreadPartialResponse = (input?: Record) => { const typeMappings: TypeMapping = { thread: { type: 'ThreadResponse', isSingle: true }, @@ -2042,6 +2267,13 @@ decoders.UpsertPushProviderResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UpsertPushTemplateResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + template: { type: 'PushTemplate', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.User = (input?: Record) => { const typeMappings: TypeMapping = { ban_expires: { type: 'DatetimeType', isSingle: true }, @@ -2136,6 +2368,20 @@ decoders.UserResponseCommonFields = (input?: Record) => { return decode(typeMappings, input); }; +decoders.VideoReactionOverTimeResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + by_minute: { type: 'CountByMinuteResponse', isSingle: false }, + }; + return decode(typeMappings, input); +}; + +decoders.VideoReactionsResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + count_over_time: { type: 'VideoReactionOverTimeResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.WSEvent = (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 638c86d..b746d0e 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -73,8 +73,6 @@ export interface APNConfigFields { enabled: boolean; - notification_template: string; - auth_key?: string; auth_type?: string; @@ -85,6 +83,8 @@ export interface APNConfigFields { key_id?: string; + notification_template?: string; + p12_cert?: string; team_id?: string; @@ -94,6 +94,14 @@ export interface APNS { body: string; title: string; + + content_available?: number; + + mutable_content?: number; + + sound?: string; + + data?: Record; } export interface AWSRekognitionRule { @@ -168,6 +176,22 @@ export interface ActionLogResponse { user?: UserResponse; } +export interface ActionSequence { + action: string; + + blur: boolean; + + cooldown_period: number; + + threshold: number; + + time_window: number; + + warning: boolean; + + warning_text: string; +} + export interface AnyEvent { created_at: Date; @@ -227,8 +251,12 @@ export interface AppResponseFields { suspended_explanation: string; + use_hook_v2: boolean; + webhook_url: string; + event_hooks: EventHook[]; + user_search_disallowed_roles: string[]; webhook_events: string[]; @@ -258,6 +286,26 @@ export interface AppResponseFields { image_moderation_labels?: string[]; datadog_info?: DataDogInfo; + + moderation_dashboard_preferences?: ModerationDashboardPreferences; +} + +export interface AsyncBulkImageModerationEvent { + created_at: Date; + + finished_at: Date; + + started_at: Date; + + task_id: string; + + url: string; + + custom: Record; + + type: string; + + received_at?: Date; } export interface AsyncExportChannelsEvent { @@ -549,6 +597,8 @@ export interface Ban { export interface BanActionRequest { channel_ban_only?: boolean; + delete_messages?: 'soft' | 'pruning' | 'hard'; + ip_ban?: boolean; reason?: string; @@ -565,6 +615,8 @@ export interface BanRequest { channel_cid?: string; + delete_messages?: 'soft' | 'pruning' | 'hard'; + ip_ban?: boolean; reason?: string; @@ -625,6 +677,7 @@ export interface BlockListResponse { export interface BlockListRule { action: | 'flag' + | 'mask_flag' | 'shadow' | 'remove' | 'bounce' @@ -748,6 +801,80 @@ export interface BrowserDataResponse { version?: string; } +export interface BulkImageModerationRequest { + csv_file: string; +} + +export interface BulkImageModerationResponse { + duration: string; + + task_id: string; +} + +export interface Call { + app_pk: number; + + backstage: boolean; + + channel_cid: string; + + cid: string; + + created_at: Date; + + created_by_user_id: string; + + current_session_id: string; + + id: string; + + last_session_id: string; + + team: string; + + thumbnail_url: string; + + type: string; + + updated_at: Date; + + blocked_user_i_ds: string[]; + + blocked_users: User[]; + + egresses: CallEgress[]; + + members: CallMember[]; + + custom: Record; + + deleted_at?: Date; + + egress_updated_at?: Date; + + ended_at?: Date; + + join_ahead_time_seconds?: number; + + last_heartbeat_at?: Date; + + member_count?: number; + + starts_at?: Date; + + call_type?: CallType; + + created_by?: User; + + member_lookup?: MemberLookup; + + session?: CallSession; + + settings?: CallSettings; + + settings_overrides?: CallSettings; +} + export interface CallAcceptedEvent { call_cid: string; @@ -826,6 +953,30 @@ export interface CallDurationReportResponse { daily: DailyAggregateCallDurationReportResponse[]; } +export interface CallEgress { + app_pk: number; + + call_id: string; + + call_type: string; + + egress_id: string; + + egress_type: string; + + instance_ip: string; + + started_at: Date; + + state: string; + + updated_at: Date; + + stopped_at?: Date; + + config?: EgressTaskConfig; +} + export interface CallEndedEvent { call_cid: string; @@ -835,6 +986,8 @@ export interface CallEndedEvent { type: string; + reason?: string; + user?: UserResponse; } @@ -936,6 +1089,22 @@ export interface CallLiveStartedEvent { type: string; } +export interface CallMember { + created_at: Date; + + role: string; + + updated_at: Date; + + user_id: string; + + custom: Record; + + deleted_at?: Date; + + user?: User; +} + export interface CallMemberAddedEvent { call_cid: string; @@ -1004,6 +1173,32 @@ export interface CallMissedEvent { type: string; } +export interface CallModerationBlurEvent { + call_cid: string; + + created_at: Date; + + user_id: string; + + custom: Record; + + type: string; +} + +export interface CallModerationWarningEvent { + call_cid: string; + + created_at: Date; + + message: string; + + user_id: string; + + custom: Record; + + type: string; +} + export interface CallNotificationEvent { call_cid: string; @@ -1020,6 +1215,48 @@ export interface CallNotificationEvent { type: string; } +export interface CallParticipant { + banned: boolean; + + id: string; + + joined_at: Date; + + online: boolean; + + role: string; + + user_session_id: string; + + custom: Record; + + teams_role: Record; + + ban_expires?: Date; + + created_at?: Date; + + deactivated_at?: Date; + + deleted_at?: Date; + + invisible?: boolean; + + language?: string; + + last_active?: Date; + + last_engaged_at?: Date; + + revoke_tokens_issued_before?: Date; + + updated_at?: Date; + + teams?: string[]; + + privacy_settings?: PrivacySettings; +} + export interface CallParticipantCountReport { histogram: ReportByHistogramBucket[]; } @@ -1240,6 +1477,50 @@ export interface CallRtmpBroadcastStoppedEvent { type: string; } +export interface CallSession { + anonymous_participant_count: number; + + app_pk: number; + + call_id: string; + + call_type: string; + + created_at: Date; + + session_id: string; + + active_sf_us: SFUIDLastSeen[]; + + participants: CallParticipant[]; + + sfui_ds: string[]; + + accepted_by: Record; + + missed_by: Record; + + participants_count_by_role: Record; + + rejected_by: Record; + + user_permission_overrides: Record>; + + deleted_at?: Date; + + ended_at?: Date; + + live_ended_at?: Date; + + live_started_at?: Date; + + ring_at?: Date; + + started_at?: Date; + + timer_ends_at?: Date; +} + export interface CallSessionEndedEvent { call_cid: string; @@ -1441,6 +1722,8 @@ export interface CallTranscription { filename: string; + session_id: string; + start_time: Date; url: string; @@ -1454,6 +1737,8 @@ export interface CallTranscriptionFailedEvent { egress_id: string; type: string; + + error?: string; } export interface CallTranscriptionReadyEvent { @@ -1493,8 +1778,6 @@ export interface CallType { created_at: Date; - enable_live_insights: boolean; - external_storage: string; name: string; @@ -1785,6 +2068,8 @@ export interface ChannelConfig { url_enrichment: boolean; + user_message_reminders: boolean; + commands: string[]; blocklist?: string; @@ -1793,7 +2078,7 @@ export interface ChannelConfig { partition_size?: number; - partition_ttl?: string; + partition_ttl?: number; allowed_flag_reasons?: string[]; @@ -1847,6 +2132,8 @@ export interface ChannelConfigWithInfo { url_enrichment: boolean; + user_message_reminders: boolean; + commands: Command[]; blocklist?: string; @@ -2305,6 +2592,8 @@ export interface ChannelTypeConfig { url_enrichment: boolean; + user_message_reminders: boolean; + commands: Command[]; permissions: PolicyRequest[]; @@ -2393,6 +2682,13 @@ export interface CheckExternalStorageResponse { export interface CheckPushRequest { apn_template?: string; + event_type?: + | 'message.new' + | 'message.updated' + | 'reaction.new' + | 'reaction.updated' + | 'notification.reminder_due'; + firebase_data_template?: string; firebase_template?: string; @@ -2413,6 +2709,8 @@ export interface CheckPushRequest { export interface CheckPushResponse { duration: string; + event_type?: string; + rendered_apn_template?: string; rendered_firebase_template?: string; @@ -2548,6 +2846,12 @@ export interface Command { export interface CommitMessageRequest {} +export interface CompositeAppSettings { + json_encoded_settings?: string; + + url?: string; +} + export interface ConfigOverrides { commands: string[]; @@ -2570,6 +2874,8 @@ export interface ConfigOverrides { uploads?: boolean; url_enrichment?: boolean; + + user_message_reminders?: boolean; } export interface ConfigResponse { @@ -2598,6 +2904,8 @@ export interface ConfigResponse { block_list_config?: BlockListConfig; velocity_filter_config?: VelocityFilterConfig; + + video_call_rule_config?: VideoCallRuleConfig; } export interface CountByMinuteResponse { @@ -2699,6 +3007,8 @@ export interface CreateChannelTypeRequest { url_enrichment?: boolean; + user_message_reminders?: boolean; + blocklists?: BlockListOptions[]; commands?: string[]; @@ -2755,6 +3065,8 @@ export interface CreateChannelTypeResponse { url_enrichment: boolean; + user_message_reminders: boolean; + commands: string[]; permissions: PolicyRequest[]; @@ -2902,6 +3214,14 @@ export interface CreatePollRequest { user?: UserRequest; } +export interface CreateReminderRequest { + remind_at?: Date; + + user_id?: string; + + user?: UserRequest; +} + export interface CreateRoleRequest { name: string; } @@ -3128,6 +3448,10 @@ export interface DeleteRecordingResponse { duration: string; } +export interface DeleteReminderResponse { + duration: string; +} + export interface DeleteSegmentTargetsRequest { target_ids: string[]; } @@ -3310,6 +3634,24 @@ export interface EgressResponse { hls?: EgressHLSResponse; } +export interface EgressTaskConfig { + egress_user?: EgressUser; + + frame_recording_egress_config?: FrameRecordingEgressConfig; + + hls_egress_config?: HLSEgressConfig; + + recording_egress_config?: RecordingEgressConfig; + + rtmp_egress_config?: RTMPEgressConfig; + + stt_egress_config?: STTEgressConfig; +} + +export interface EgressUser { + token?: string; +} + export interface EndCallRequest {} export interface EndCallResponse { @@ -3474,10 +3816,56 @@ export interface ErrorResult { version?: string; } +export interface EventHook { + created_at?: Date; + + enabled?: boolean; + + hook_type?: string; + + id?: string; + + sns_auth_type?: string; + + sns_key?: string; + + sns_region?: string; + + sns_role_arn?: string; + + sns_secret?: string; + + sns_topic_arn?: string; + + sqs_auth_type?: string; + + sqs_key?: string; + + sqs_queue_url?: string; + + sqs_region?: string; + + sqs_role_arn?: string; + + sqs_secret?: string; + + timeout_ms?: number; + + updated_at?: Date; + + webhook_url?: string; + + event_types?: string[]; + + callback?: AsyncModerationCallbackConfig; +} + export interface EventNotificationSettings { enabled: boolean; apns: APNS; + + fcm: FCM; } export interface EventRequest { @@ -3518,24 +3906,52 @@ export interface ExportChannelsResponse { task_id: string; } -export interface ExportUserResponse { - duration: string; +export interface ExportUserResponse { + duration: string; + + messages?: MessageResponse[]; + + reactions?: ReactionResponse[]; + + user?: UserResponse; +} + +export interface ExportUsersRequest { + user_ids: string[]; +} + +export interface ExportUsersResponse { + duration: string; + + task_id: string; +} + +export interface ExternalStorage { + abs_account_name?: string; + + abs_client_id?: string; + + abs_client_secret?: string; + + abs_tenant_id?: string; + + bucket?: string; + + gcs_credentials?: string; + + path?: string; - messages?: MessageResponse[]; + s3_api_key?: string; - reactions?: ReactionResponse[]; + s3_custom_endpoint?: string; - user?: UserResponse; -} + s3_region?: string; -export interface ExportUsersRequest { - user_ids: string[]; -} + s3_secret_key?: string; -export interface ExportUsersResponse { - duration: string; + storage_name?: string; - task_id: string; + storage_type?: number; } export interface ExternalStorageResponse { @@ -3548,6 +3964,10 @@ export interface ExternalStorageResponse { type: 's3' | 'gcs' | 'abs'; } +export interface FCM { + data?: Record; +} + export interface FeedsModerationTemplateConfig { config_key: string; @@ -3603,16 +4023,16 @@ export interface FirebaseConfig { } export interface FirebaseConfigFields { - apn_template: string; - - data_template: string; - enabled: boolean; - notification_template: string; + apn_template?: string; credentials_json?: string; + data_template?: string; + + notification_template?: string; + server_key?: string; } @@ -3629,6 +4049,8 @@ export interface Flag { entity_creator_id?: string; + is_streamed_content?: boolean; + moderation_payload_hash?: string; reason?: string; @@ -3643,6 +4065,8 @@ export interface Flag { moderation_payload?: ModerationPayload; + review_queue_item?: ReviewQueueItem; + user?: User; } @@ -3720,6 +4144,16 @@ export interface FrameRecordSettings { quality?: string; } +export interface FrameRecordingEgressConfig { + capture_interval_in_seconds?: number; + + storage_name?: string; + + external_storage?: ExternalStorage; + + quality?: Quality; +} + export interface FrameRecordingResponse { status: string; } @@ -3847,6 +4281,8 @@ export interface GetCallReportResponse { report: ReportResponse; + video_reactions?: VideoReactionsResponse[]; + chat_activity?: ChatActivityStatsResponse; } @@ -3933,6 +4369,8 @@ export interface GetChannelTypeResponse { url_enrichment: boolean; + user_message_reminders: boolean; + commands: Command[]; permissions: PolicyRequest[]; @@ -4092,6 +4530,12 @@ export interface GetOrCreateCallResponse { call: CallResponse; } +export interface GetPushTemplatesResponse { + duration: string; + + templates: PushTemplate[]; +} + export interface GetRateLimitsResponse { duration: string; @@ -4180,6 +4624,16 @@ export interface GroupedStatsResponse { unique: number; } +export interface HLSEgressConfig { + playlist_url?: string; + + start_unix_nano?: number; + + qualities?: Quality[]; + + composite_app_settings?: CompositeAppSettings; +} + export interface HLSSettings { auto_on: boolean; @@ -4210,6 +4664,12 @@ export interface HLSSettingsResponse { layout: LayoutSettingsResponse; } +export interface HarmConfig { + severity: number; + + action_sequences: ActionSequence[]; +} + export interface HideChannelRequest { clear_history?: boolean; @@ -4526,6 +4986,10 @@ export interface MemberAddedEvent { user?: User; } +export interface MemberLookup { + limit: number; +} + export interface MemberRemovedEvent { channel_id: string; @@ -4669,6 +5133,8 @@ export interface Message { quoted_message?: Message; + reminder?: MessageReminder; + user?: User; } @@ -4858,6 +5324,28 @@ export interface MessageReadEvent { user?: UserResponseCommonFields; } +export interface MessageReminder { + channel_cid: string; + + created_at: Date; + + message_id: string; + + task_id: string; + + updated_at: Date; + + user_id: string; + + remind_at?: Date; + + channel?: Channel; + + message?: Message; + + user?: User; +} + export interface MessageRequest { html?: string; @@ -4978,6 +5466,8 @@ export interface MessageResponse { quoted_message?: MessageResponse; reaction_groups?: Record; + + reminder?: ReminderResponseData; } export interface MessageStatsResponse { @@ -5126,6 +5616,8 @@ export interface MessageWithChannelResponse { quoted_message?: MessageResponse; reaction_groups?: Record; + + reminder?: ReminderResponseData; } export interface ModerationActionConfig { @@ -5172,6 +5664,42 @@ export interface ModerationCustomActionEvent { user?: User; } +export interface ModerationDashboardPreferences { + media_queue_blur_enabled?: boolean; +} + +export interface ModerationFlagResponse { + created_at: string; + + entity_id: string; + + entity_type: string; + + id: string; + + type: string; + + updated_at: string; + + entity_creator_id?: string; + + reason?: string; + + review_queue_item_id?: string; + + labels?: string[]; + + result?: Array>; + + custom?: Record; + + moderation_payload?: ModerationPayload; + + review_queue_item?: ReviewQueueItem; + + user?: UserResponse; +} + export interface ModerationFlaggedEvent { created_at: Date; @@ -5883,7 +6411,7 @@ export interface PublisherStatsResponse { } export interface PushConfig { - version: 'v1' | 'v2'; + version: 'v1' | 'v2' | 'v3'; offline_only?: boolean; } @@ -5982,6 +6510,8 @@ export interface PushProvider { xiaomi_app_secret?: string; xiaomi_package_name?: string; + + push_templates?: PushTemplate[]; } export interface PushProviderResponse { @@ -6042,6 +6572,36 @@ export interface PushProviderResponse { xiaomi_package_name?: string; } +export interface PushTemplate { + created_at: Date; + + enable_push: boolean; + + event_type: + | 'message.new' + | 'message.updated' + | 'reaction.new' + | 'notification.reminder_due'; + + updated_at: Date; + + template?: string; +} + +export interface Quality { + bitdepth?: number; + + framerate?: number; + + height?: number; + + name?: string; + + video_bitrate?: number; + + width?: number; +} + export interface QualityScoreReport { histogram: ReportByHistogramBucket[]; } @@ -6368,6 +6928,28 @@ export interface QueryModerationConfigsResponse { prev?: string; } +export interface QueryModerationFlagsRequest { + limit?: number; + + next?: string; + + prev?: string; + + sort?: SortParam[]; + + filter?: Record; +} + +export interface QueryModerationFlagsResponse { + duration: string; + + flags: ModerationFlagResponse[]; + + next?: string; + + prev?: string; +} + export interface QueryModerationLogsRequest { limit?: number; @@ -6454,6 +7036,32 @@ export interface QueryReactionsResponse { prev?: string; } +export interface QueryRemindersRequest { + limit?: number; + + next?: string; + + prev?: string; + + user_id?: string; + + sort?: SortParamRequest[]; + + filter?: Record; + + user?: UserRequest; +} + +export interface QueryRemindersResponse { + duration: string; + + reminders: ReminderResponseData[]; + + next?: string; + + prev?: string; +} + export interface QueryReviewQueueRequest { limit?: number; @@ -6636,6 +7244,14 @@ export interface RTMPBroadcastRequest { layout?: LayoutSettingsRequest; } +export interface RTMPEgressConfig { + rtmp_location?: string; + + composite_app_settings?: CompositeAppSettings; + + quality?: Quality; +} + export interface RTMPIngress { address: string; } @@ -6898,6 +7514,40 @@ export interface RecordSettingsResponse { layout: LayoutSettingsResponse; } +export interface RecordingEgressConfig { + audio_only?: boolean; + + storage_name?: string; + + composite_app_settings?: CompositeAppSettings; + + external_storage?: ExternalStorage; + + quality?: Quality; + + video_orientation_hint?: VideoOrientation; +} + +export interface ReminderResponseData { + channel_cid: string; + + created_at: Date; + + message_id: string; + + updated_at: Date; + + user_id: string; + + remind_at?: Date; + + channel?: ChannelResponse; + + message?: Message; + + user?: User; +} + export interface ReportByHistogramBucket { category: string; @@ -6981,6 +7631,8 @@ export interface ReviewQueueItem { assigned_to?: User; + call?: Call; + entity_creator?: EntityCreator; feeds_v2_activity?: EnrichedActivity; @@ -7055,6 +7707,8 @@ export interface ReviewQueueItemResponse { assigned_to?: UserResponse; + call?: CallResponse; + entity_creator?: EntityCreatorResponse; feeds_v2_activity?: EnrichedActivity; @@ -7180,6 +7834,32 @@ export interface SDKUsageReportResponse { daily: DailyAggregateSDKUsageReportResponse[]; } +export interface SFUIDLastSeen { + id: string; + + last_seen: Date; + + process_start_time: number; +} + +export interface STTEgressConfig { + closed_captions_enabled?: boolean; + + language?: string; + + storage_name?: string; + + translations_enabled?: boolean; + + upload_transcriptions?: boolean; + + whisper_server_base_url?: string; + + translation_languages?: string[]; + + external_storage?: ExternalStorage; +} + export interface ScreensharingSettings { access_request_enabled: boolean; @@ -7320,6 +8000,8 @@ export interface SearchResultMessage { quoted_message?: MessageResponse; reaction_groups?: Record; + + reminder?: ReminderResponseData; } export interface SearchWarning { @@ -7476,6 +8158,12 @@ export interface ShowChannelResponse { duration: string; } +export interface SortParam { + direction?: number; + + field?: string; +} + export interface SortParamRequest { direction?: number; @@ -7704,7 +8392,9 @@ export interface SubmitActionRequest { | 'restore' | 'delete_user' | 'unblock' - | 'shadow_block'; + | 'shadow_block' + | 'kick_user' + | 'end_call'; item_id: string; @@ -8100,6 +8790,8 @@ export interface TruncateChannelRequest { user_id?: string; + member_ids?: string[]; + message?: MessageRequest; user?: UserRequest; @@ -8306,6 +8998,8 @@ export interface UpdateAppRequest { allowed_flag_reasons?: string[]; + event_hooks?: EventHook[]; + image_moderation_block_labels?: string[]; image_moderation_labels?: string[]; @@ -8330,6 +9024,8 @@ export interface UpdateAppRequest { image_upload_config?: FileUploadConfig; + moderation_dashboard_preferences?: ModerationDashboardPreferences; + push_config?: PushConfig; xiaomi_config?: XiaomiConfig; @@ -8512,6 +9208,8 @@ export interface UpdateChannelTypeRequest { url_enrichment?: boolean; + user_message_reminders?: boolean; + allowed_flag_reasons?: string[]; blocklists?: BlockListOptions[]; @@ -8572,6 +9270,8 @@ export interface UpdateChannelTypeResponse { url_enrichment: boolean; + user_message_reminders: boolean; + commands: string[]; permissions: PolicyRequest[]; @@ -8669,6 +9369,8 @@ export interface UpdateMessageRequest { message: MessageRequest; skip_enrich_url?: boolean; + + skip_push?: boolean; } export interface UpdateMessageResponse { @@ -8729,6 +9431,20 @@ export interface UpdatePollRequest { user?: UserRequest; } +export interface UpdateReminderRequest { + remind_at?: Date; + + user_id?: string; + + user?: UserRequest; +} + +export interface UpdateReminderResponse { + duration: string; + + reminder: ReminderResponseData; +} + export interface UpdateThreadPartialRequest { user_id?: string; @@ -8827,6 +9543,8 @@ export interface UpsertConfigRequest { user?: UserRequest; velocity_filter_config?: VelocityFilterConfig; + + video_call_rule_config?: VideoCallRuleConfig; } export interface UpsertConfigResponse { @@ -8878,6 +9596,28 @@ export interface UpsertPushProviderResponse { push_provider: PushProviderResponse; } +export interface UpsertPushTemplateRequest { + event_type: + | 'message.new' + | 'message.updated' + | 'reaction.new' + | 'notification.reminder_due'; + + push_provider_type: 'firebase' | 'apn'; + + enable_push?: boolean; + + push_provider_name?: string; + + template?: string; +} + +export interface UpsertPushTemplateResponse { + duration: string; + + template?: PushTemplate; +} + export interface User { banned: boolean; @@ -9306,6 +10046,28 @@ export interface VelocityFilterConfigRule { slow_spam_ban_duration?: number; } +export interface VideoCallRuleConfig { + rules: Record; +} + +export interface VideoEndCallRequest {} + +export interface VideoKickUserRequest {} + +export interface VideoOrientation { + orientation?: number; +} + +export interface VideoReactionOverTimeResponse { + by_minute?: CountByMinuteResponse[]; +} + +export interface VideoReactionsResponse { + reaction: string; + + count_over_time?: VideoReactionOverTimeResponse; +} + export interface VideoSettings { access_request_enabled: boolean; diff --git a/src/gen/moderation/ModerationApi.ts b/src/gen/moderation/ModerationApi.ts index 6627aac..228bee4 100644 --- a/src/gen/moderation/ModerationApi.ts +++ b/src/gen/moderation/ModerationApi.ts @@ -3,6 +3,8 @@ import { StreamResponse } from '../../types'; import { BanRequest, BanResponse, + BulkImageModerationRequest, + BulkImageModerationResponse, CheckRequest, CheckResponse, CustomCheckRequest, @@ -18,6 +20,8 @@ import { QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, + QueryModerationFlagsRequest, + QueryModerationFlagsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryReviewQueueRequest, @@ -41,6 +45,7 @@ export class ModerationApi extends BaseApi { target_user_id: request?.target_user_id, banned_by_id: request?.banned_by_id, channel_cid: request?.channel_cid, + delete_messages: request?.delete_messages, ip_ban: request?.ip_ban, reason: request?.reason, shadow: request?.shadow, @@ -61,6 +66,28 @@ export class ModerationApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + bulkImageModeration = async ( + request: BulkImageModerationRequest, + ): Promise> => { + const body = { + csv_file: request?.csv_file, + }; + + const response = await this.sendRequest< + StreamResponse + >( + 'POST', + '/api/v2/moderation/bulk_image_moderation', + undefined, + undefined, + body, + ); + + decoders.BulkImageModerationResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + check = async ( request: CheckRequest, ): Promise> => { @@ -112,6 +139,7 @@ export class ModerationApi extends BaseApi { rule_builder_config: request?.rule_builder_config, user: request?.user, velocity_filter_config: request?.velocity_filter_config, + video_call_rule_config: request?.video_call_rule_config, }; const response = await this.sendRequest< @@ -294,6 +322,26 @@ export class ModerationApi extends BaseApi { return { ...response.body, metadata: response.metadata }; }; + queryModerationFlags = async ( + request?: QueryModerationFlagsRequest, + ): Promise> => { + const body = { + limit: request?.limit, + next: request?.next, + prev: request?.prev, + sort: request?.sort, + filter: request?.filter, + }; + + const response = await this.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/flags', undefined, undefined, body); + + decoders.QueryModerationFlagsResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + }; + queryModerationLogs = async ( request?: QueryModerationLogsRequest, ): Promise> => { From 91e1586590e54096ed94b566e5745ce493609ddf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 09:47:23 +0200 Subject: [PATCH 2/3] chore(main): release 0.4.25 (#114) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55b2083..3043790 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.4.25](https://github.com/GetStream/stream-node/compare/v0.4.24...v0.4.25) (2025-06-24) + + +### Features + +* Update to API spec v179.7.0 ([#113](https://github.com/GetStream/stream-node/issues/113)) ([898ee9e](https://github.com/GetStream/stream-node/commit/898ee9e692b85075e60147835ff43de3f1179587)) + ## [0.4.24](https://github.com/GetStream/stream-node/compare/v0.4.23...v0.4.24) (2025-05-06) diff --git a/package.json b/package.json index 01eae7d..28b5784 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/node-sdk", - "version": "0.4.24", + "version": "0.4.25", "description": "", "exports": { ".": { From e706f7db1318c43fabc14aace4cb9aa0426c773d Mon Sep 17 00:00:00 2001 From: kmitrovv Date: Fri, 27 Jun 2025 10:39:58 +0200 Subject: [PATCH 3/3] chore: update to latest api spec --- src/gen/chat/ChannelApi.ts | 138 +- src/gen/chat/ChatApi.ts | 1047 ++++++--------- src/gen/common/CommonApi.ts | 787 ++++++++---- .../model-decoders/{index.ts => decoders.ts} | 1127 ++++++++++++++++- src/gen/models/index.ts | 164 ++- src/gen/moderation/ModerationApi.ts | 222 ++-- src/gen/video/CallApi.ts | 205 ++- src/gen/video/VideoApi.ts | 419 +++--- 8 files changed, 2569 insertions(+), 1540 deletions(-) rename src/gen/model-decoders/{index.ts => decoders.ts} (71%) diff --git a/src/gen/chat/ChannelApi.ts b/src/gen/chat/ChannelApi.ts index 763d59e..c3ad843 100644 --- a/src/gen/chat/ChannelApi.ts +++ b/src/gen/chat/ChannelApi.ts @@ -1,5 +1,4 @@ -import { ChatApi } from './ChatApi'; -import { StreamResponse } from '../../types'; +import { StreamResponse, ChatApi } from '../../gen-imports'; import { ChannelGetOrCreateRequest, ChannelStateResponse, @@ -36,281 +35,292 @@ export class ChannelApi { constructor( protected chatApi: ChatApi, public readonly type: string, - public id?: string, + public id: string | undefined, ) {} - delete = (request?: { + delete(request?: { hard_delete?: boolean; - }): Promise> => { + }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.deleteChannel({ id: this.id, type: this.type, ...request, }); - }; + } - updateChannelPartial = ( + updateChannelPartial( request?: UpdateChannelPartialRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.updateChannelPartial({ id: this.id, type: this.type, ...request, }); - }; + } - update = ( + update( request?: UpdateChannelRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.updateChannel({ id: this.id, type: this.type, ...request, }); - }; + } - deleteDraft = (request?: { + deleteDraft(request?: { parent_id?: string; user_id?: string; - }): Promise> => { + }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.deleteDraft({ id: this.id, type: this.type, ...request, }); - }; + } - getDraft = (request?: { + getDraft(request?: { parent_id?: string; user_id?: string; - }): Promise> => { + }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.getDraft({ id: this.id, type: this.type, ...request }); - }; + } - sendEvent = ( - request: SendEventRequest, - ): Promise> => { + sendEvent(request: SendEventRequest): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request }); - }; + } - deleteFile = (request?: { - url?: string; - }): Promise> => { + deleteFile(request?: { url?: string }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.deleteFile({ id: this.id, type: this.type, ...request, }); - }; + } - uploadFile = ( + uploadFile( request?: FileUploadRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.uploadFile({ id: this.id, type: this.type, ...request, }); - }; + } - hide = ( + hide( request?: HideChannelRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.hideChannel({ id: this.id, type: this.type, ...request, }); - }; + } - deleteImage = (request?: { - url?: string; - }): Promise> => { + deleteImage(request?: { url?: string }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.deleteImage({ id: this.id, type: this.type, ...request, }); - }; + } - uploadImage = ( + uploadImage( request?: ImageUploadRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.uploadImage({ id: this.id, type: this.type, ...request, }); - }; + } - updateMemberPartial = ( + updateMemberPartial( request?: UpdateMemberPartialRequest & { user_id?: string }, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.updateMemberPartial({ id: this.id, type: this.type, ...request, }); - }; + } - sendMessage = ( + sendMessage( request: SendMessageRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.sendMessage({ id: this.id, type: this.type, ...request, }); - }; + } - getManyMessages = (request: { + getManyMessages(request: { ids: string[]; - }): Promise> => { + }): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.getManyMessages({ id: this.id, type: this.type, ...request, }); - }; + } - getOrCreate = ( + getOrCreate( request?: ChannelGetOrCreateRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.getOrCreateChannel({ id: this.id, type: this.type, ...request, }); - }; + } - markRead = ( + markRead( request?: MarkReadRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.markRead({ id: this.id, type: this.type, ...request }); - }; + } - show = ( + show( request?: ShowChannelRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.showChannel({ id: this.id, type: this.type, ...request, }); - }; + } - truncate = ( + truncate( request?: TruncateChannelRequest, - ): Promise> => { + ): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.truncateChannel({ id: this.id, type: this.type, ...request, }); - }; + } - markUnread = ( - request?: MarkUnreadRequest, - ): Promise> => { + markUnread(request?: MarkUnreadRequest): Promise> { if (!this.id) { throw new Error( `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`, ); } + return this.chatApi.markUnread({ id: this.id, type: this.type, ...request, }); - }; + } } diff --git a/src/gen/chat/ChatApi.ts b/src/gen/chat/ChatApi.ts index 408a6c7..ed57861 100644 --- a/src/gen/chat/ChatApi.ts +++ b/src/gen/chat/ChatApi.ts @@ -1,5 +1,4 @@ -import { BaseApi } from '../../BaseApi'; -import { StreamResponse } from '../../types'; +import { ApiClient, StreamResponse } from '../../gen-imports'; import { CampaignResponse, CastPollVoteRequest, @@ -10,8 +9,6 @@ import { CreateChannelTypeResponse, CreateCommandRequest, CreateCommandResponse, - CreatePollOptionRequest, - CreatePollRequest, CreateReminderRequest, DeleteChannelResponse, DeleteChannelsRequest, @@ -52,10 +49,7 @@ import { MessageResponse, MuteChannelRequest, MuteChannelResponse, - PollOptionResponse, - PollResponse, PollVoteResponse, - PollVotesResponse, QueryBannedUsersPayload, QueryBannedUsersResponse, QueryCampaignsRequest, @@ -69,9 +63,6 @@ import { QueryMessageFlagsResponse, QueryMessageHistoryRequest, QueryMessageHistoryResponse, - QueryPollVotesRequest, - QueryPollsRequest, - QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, QueryRemindersRequest, @@ -119,9 +110,6 @@ import { UpdateMessagePartialResponse, UpdateMessageRequest, UpdateMessageResponse, - UpdatePollOptionRequest, - UpdatePollPartialRequest, - UpdatePollRequest, UpdateReminderRequest, UpdateReminderResponse, UpdateThreadPartialRequest, @@ -132,12 +120,14 @@ import { UpsertPushTemplateResponse, WrappedUnreadCountsResponse, } from '../models'; -import { decoders } from '../model-decoders'; +import { decoders } from '../model-decoders/decoders'; -export class ChatApi extends BaseApi { - queryCampaigns = async ( +export class ChatApi { + constructor(public readonly apiClient: ApiClient) {} + + async queryCampaigns( request?: QueryCampaignsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -147,21 +137,21 @@ export class ChatApi extends BaseApi { filter: request?.filter, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/campaigns/query', undefined, undefined, body); decoders.QueryCampaignsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getCampaign = async (request: { + async getCampaign(request: { id: string; prev?: string; next?: string; limit?: number; - }): Promise> => { + }): Promise> { const queryParams = { prev: request?.prev, next: request?.next, @@ -171,18 +161,18 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/campaigns/{id}', pathParams, queryParams); decoders.GetCampaignResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startCampaign = async ( + async startCampaign( request: StartCampaignRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -191,39 +181,35 @@ export class ChatApi extends BaseApi { stop_at: request?.stop_at, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/campaigns/{id}/start', pathParams, undefined, body); decoders.StartCampaignResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - scheduleCampaign = async ( + async scheduleCampaign( request: StopCampaignRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; const body = {}; - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/campaigns/{id}/stop', - pathParams, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/campaigns/{id}/stop', pathParams, undefined, body); decoders.CampaignResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryChannels = async ( + async queryChannels( request?: QueryChannelsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, member_limit: request?.member_limit, @@ -236,57 +222,53 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/channels', undefined, undefined, body); decoders.QueryChannelsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteChannels = async ( + async deleteChannels( request: DeleteChannelsRequest, - ): Promise> => { + ): Promise> { const body = { cids: request?.cids, hard_delete: request?.hard_delete, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/channels/delete', undefined, undefined, body); decoders.DeleteChannelsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - markChannelsRead = async ( + async markChannelsRead( request?: MarkChannelsReadRequest, - ): Promise> => { + ): Promise> { const body = { user_id: request?.user_id, read_by_channel: request?.read_by_channel, user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/channels/read', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/channels/read', undefined, undefined, body); decoders.MarkReadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getOrCreateDistinctChannel = async ( + async getOrCreateDistinctChannel( request: ChannelGetOrCreateRequest & { type: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, }; @@ -300,7 +282,7 @@ export class ChatApi extends BaseApi { watchers: request?.watchers, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -313,13 +295,13 @@ export class ChatApi extends BaseApi { decoders.ChannelStateResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteChannel = async (request: { + async deleteChannel(request: { type: string; id: string; hard_delete?: boolean; - }): Promise> => { + }): Promise> { const queryParams = { hard_delete: request?.hard_delete, }; @@ -328,18 +310,18 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('DELETE', '/api/v2/chat/channels/{type}/{id}', pathParams, queryParams); decoders.DeleteChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateChannelPartial = async ( + async updateChannelPartial( request: UpdateChannelPartialRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -351,7 +333,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'PATCH', @@ -364,11 +346,11 @@ export class ChatApi extends BaseApi { decoders.UpdateChannelPartialResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateChannel = async ( + async updateChannel( request: UpdateChannelRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -391,21 +373,21 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/channels/{type}/{id}', pathParams, undefined, body); decoders.UpdateChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteDraft = async (request: { + async deleteDraft(request: { type: string; id: string; parent_id?: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { parent_id: request?.parent_id, user_id: request?.user_id, @@ -415,7 +397,7 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/chat/channels/{type}/{id}/draft', pathParams, @@ -425,14 +407,14 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getDraft = async (request: { + async getDraft(request: { type: string; id: string; parent_id?: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { parent_id: request?.parent_id, user_id: request?.user_id, @@ -442,7 +424,9 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'GET', '/api/v2/chat/channels/{type}/{id}/draft', pathParams, @@ -452,11 +436,11 @@ export class ChatApi extends BaseApi { decoders.GetDraftResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - sendEvent = async ( + async sendEvent( request: SendEventRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -465,7 +449,9 @@ export class ChatApi extends BaseApi { event: request?.event, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/channels/{type}/{id}/event', pathParams, @@ -476,13 +462,13 @@ export class ChatApi extends BaseApi { decoders.EventResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteFile = async (request: { + async deleteFile(request: { type: string; id: string; url?: string; - }): Promise> => { + }): Promise> { const queryParams = { url: request?.url, }; @@ -491,7 +477,7 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/chat/channels/{type}/{id}/file', pathParams, @@ -501,11 +487,11 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - uploadFile = async ( + async uploadFile( request: FileUploadRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -515,7 +501,9 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/channels/{type}/{id}/file', pathParams, @@ -526,11 +514,11 @@ export class ChatApi extends BaseApi { decoders.FileUploadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - hideChannel = async ( + async hideChannel( request: HideChannelRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -541,7 +529,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -554,13 +542,13 @@ export class ChatApi extends BaseApi { decoders.HideChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteImage = async (request: { + async deleteImage(request: { type: string; id: string; url?: string; - }): Promise> => { + }): Promise> { const queryParams = { url: request?.url, }; @@ -569,7 +557,7 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/chat/channels/{type}/{id}/image', pathParams, @@ -579,11 +567,11 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - uploadImage = async ( + async uploadImage( request: ImageUploadRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -594,7 +582,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -607,15 +595,15 @@ export class ChatApi extends BaseApi { decoders.ImageUploadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateMemberPartial = async ( + async updateMemberPartial( request: UpdateMemberPartialRequest & { type: string; id: string; user_id?: string; }, - ): Promise> => { + ): Promise> { const queryParams = { user_id: request?.user_id, }; @@ -628,7 +616,7 @@ export class ChatApi extends BaseApi { set: request?.set, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'PATCH', @@ -641,11 +629,11 @@ export class ChatApi extends BaseApi { decoders.UpdateMemberPartialResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - sendMessage = async ( + async sendMessage( request: SendMessageRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -660,7 +648,7 @@ export class ChatApi extends BaseApi { pending_message_metadata: request?.pending_message_metadata, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -673,13 +661,13 @@ export class ChatApi extends BaseApi { decoders.SendMessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getManyMessages = async (request: { + async getManyMessages(request: { type: string; id: string; ids: string[]; - }): Promise> => { + }): Promise> { const queryParams = { ids: request?.ids, }; @@ -688,7 +676,7 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'GET', @@ -700,11 +688,11 @@ export class ChatApi extends BaseApi { decoders.GetManyMessagesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getOrCreateChannel = async ( + async getOrCreateChannel( request: ChannelGetOrCreateRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -719,7 +707,7 @@ export class ChatApi extends BaseApi { watchers: request?.watchers, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -732,11 +720,11 @@ export class ChatApi extends BaseApi { decoders.ChannelStateResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - markRead = async ( + async markRead( request: MarkReadRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -748,7 +736,9 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/channels/{type}/{id}/read', pathParams, @@ -759,11 +749,11 @@ export class ChatApi extends BaseApi { decoders.MarkReadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - showChannel = async ( + async showChannel( request: ShowChannelRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -773,7 +763,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -786,11 +776,11 @@ export class ChatApi extends BaseApi { decoders.ShowChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - truncateChannel = async ( + async truncateChannel( request: TruncateChannelRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -805,7 +795,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -818,11 +808,11 @@ export class ChatApi extends BaseApi { decoders.TruncateChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - markUnread = async ( + async markUnread( request: MarkUnreadRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -834,7 +824,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'POST', '/api/v2/chat/channels/{type}/{id}/unread', pathParams, @@ -845,23 +835,21 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listChannelTypes = async (): Promise< - StreamResponse - > => { - const response = await this.sendRequest< + async listChannelTypes(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/channeltypes', undefined, undefined); decoders.ListChannelTypesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createChannelType = async ( + async createChannelType( request: CreateChannelTypeRequest, - ): Promise> => { + ): Promise> { const body = { automod: request?.automod, automod_behavior: request?.automod_behavior, @@ -894,23 +882,23 @@ export class ChatApi extends BaseApi { grants: request?.grants, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/channeltypes', undefined, undefined, body); decoders.CreateChannelTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteChannelType = async (request: { + async deleteChannelType(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/chat/channeltypes/{name}', pathParams, @@ -920,27 +908,27 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getChannelType = async (request: { + async getChannelType(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/channeltypes/{name}', pathParams, undefined); decoders.GetChannelTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateChannelType = async ( + async updateChannelType( request: UpdateChannelTypeRequest & { name: string }, - ): Promise> => { + ): Promise> { const pathParams = { name: request?.name, }; @@ -978,28 +966,28 @@ export class ChatApi extends BaseApi { grants: request?.grants, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/chat/channeltypes/{name}', pathParams, undefined, body); decoders.UpdateChannelTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listCommands = async (): Promise> => { - const response = await this.sendRequest< + async listCommands(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/commands', undefined, undefined); decoders.ListCommandsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createCommand = async ( + async createCommand( request: CreateCommandRequest, - ): Promise> => { + ): Promise> { const body = { description: request?.description, name: request?.name, @@ -1007,53 +995,50 @@ export class ChatApi extends BaseApi { set: request?.set, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/commands', undefined, undefined, body); decoders.CreateCommandResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteCommand = async (request: { + async deleteCommand(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('DELETE', '/api/v2/chat/commands/{name}', pathParams, undefined); decoders.DeleteCommandResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getCommand = async (request: { + async getCommand(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/commands/{name}', - pathParams, - undefined, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/commands/{name}', pathParams, undefined); decoders.GetCommandResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateCommand = async ( + async updateCommand( request: UpdateCommandRequest & { name: string }, - ): Promise> => { + ): Promise> { const pathParams = { name: request?.name, }; @@ -1063,18 +1048,18 @@ export class ChatApi extends BaseApi { set: request?.set, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/chat/commands/{name}', pathParams, undefined, body); decoders.UpdateCommandResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryDrafts = async ( + async queryDrafts( request?: QueryDraftsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -1085,18 +1070,18 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/drafts/query', undefined, undefined, body); decoders.QueryDraftsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - exportChannels = async ( + async exportChannels( request: ExportChannelsRequest, - ): Promise> => { + ): Promise> { const body = { channels: request?.channels, clear_deleted_message_text: request?.clear_deleted_message_text, @@ -1106,37 +1091,34 @@ export class ChatApi extends BaseApi { version: request?.version, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/export_channels', undefined, undefined, body); decoders.ExportChannelsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryMembers = async (request?: { + async queryMembers(request?: { payload?: QueryMembersPayload; - }): Promise> => { + }): Promise> { const queryParams = { payload: request?.payload, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/members', - undefined, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/members', undefined, queryParams); decoders.MembersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryMessageHistory = async ( + async queryMessageHistory( request: QueryMessageHistoryRequest, - ): Promise> => { + ): Promise> { const body = { filter: request?.filter, limit: request?.limit, @@ -1145,20 +1127,20 @@ export class ChatApi extends BaseApi { sort: request?.sort, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/messages/history', undefined, undefined, body); decoders.QueryMessageHistoryResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteMessage = async (request: { + async deleteMessage(request: { id: string; hard?: boolean; deleted_by?: string; - }): Promise> => { + }): Promise> { const queryParams = { hard: request?.hard, deleted_by: request?.deleted_by, @@ -1167,19 +1149,19 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('DELETE', '/api/v2/chat/messages/{id}', pathParams, queryParams); decoders.DeleteMessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getMessage = async (request: { + async getMessage(request: { id: string; show_deleted_message?: boolean; - }): Promise> => { + }): Promise> { const queryParams = { show_deleted_message: request?.show_deleted_message, }; @@ -1187,21 +1169,18 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/messages/{id}', - pathParams, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/messages/{id}', pathParams, queryParams); decoders.GetMessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateMessage = async ( + async updateMessage( request: UpdateMessageRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1211,18 +1190,18 @@ export class ChatApi extends BaseApi { skip_push: request?.skip_push, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/messages/{id}', pathParams, undefined, body); decoders.UpdateMessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateMessagePartial = async ( + async updateMessagePartial( request: UpdateMessagePartialRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1234,18 +1213,18 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/chat/messages/{id}', pathParams, undefined, body); decoders.UpdateMessagePartialResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - runMessageAction = async ( + async runMessageAction( request: MessageActionRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1255,43 +1234,35 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/messages/{id}/action', - pathParams, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/messages/{id}/action', pathParams, undefined, body); decoders.MessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - commitMessage = async ( + async commitMessage( request: CommitMessageRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; const body = {}; - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/messages/{id}/commit', - pathParams, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/chat/messages/{id}/commit', pathParams, undefined, body); decoders.MessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - sendReaction = async ( + async sendReaction( request: SendReactionRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1301,7 +1272,7 @@ export class ChatApi extends BaseApi { skip_push: request?.skip_push, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1314,13 +1285,13 @@ export class ChatApi extends BaseApi { decoders.SendReactionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteReaction = async (request: { + async deleteReaction(request: { id: string; type: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { user_id: request?.user_id, }; @@ -1329,7 +1300,7 @@ export class ChatApi extends BaseApi { type: request?.type, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'DELETE', @@ -1341,13 +1312,13 @@ export class ChatApi extends BaseApi { decoders.DeleteReactionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getReactions = async (request: { + async getReactions(request: { id: string; limit?: number; offset?: number; - }): Promise> => { + }): Promise> { const queryParams = { limit: request?.limit, offset: request?.offset, @@ -1356,18 +1327,18 @@ export class ChatApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/messages/{id}/reactions', pathParams, queryParams); decoders.GetReactionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryReactions = async ( + async queryReactions( request: QueryReactionsRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1381,7 +1352,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1394,11 +1365,11 @@ export class ChatApi extends BaseApi { decoders.QueryReactionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - translateMessage = async ( + async translateMessage( request: TranslateMessageRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1406,7 +1377,9 @@ export class ChatApi extends BaseApi { language: request?.language, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/messages/{id}/translate', pathParams, @@ -1417,11 +1390,11 @@ export class ChatApi extends BaseApi { decoders.MessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - undeleteMessage = async ( + async undeleteMessage( request: UpdateMessageRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -1431,7 +1404,7 @@ export class ChatApi extends BaseApi { skip_push: request?.skip_push, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1444,11 +1417,11 @@ export class ChatApi extends BaseApi { decoders.UpdateMessageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - castPollVote = async ( + async castPollVote( request: CastPollVoteRequest & { message_id: string; poll_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { message_id: request?.message_id, poll_id: request?.poll_id, @@ -1459,7 +1432,9 @@ export class ChatApi extends BaseApi { vote: request?.vote, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote', pathParams, @@ -1470,14 +1445,14 @@ export class ChatApi extends BaseApi { decoders.PollVoteResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - removePollVote = async (request: { + async removePollVote(request: { message_id: string; poll_id: string; vote_id: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { user_id: request?.user_id, }; @@ -1487,7 +1462,9 @@ export class ChatApi extends BaseApi { vote_id: request?.vote_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'DELETE', '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}', pathParams, @@ -1497,12 +1474,12 @@ export class ChatApi extends BaseApi { decoders.PollVoteResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteReminder = async (request: { + async deleteReminder(request: { message_id: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { user_id: request?.user_id, }; @@ -1510,7 +1487,7 @@ export class ChatApi extends BaseApi { message_id: request?.message_id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'DELETE', @@ -1522,11 +1499,11 @@ export class ChatApi extends BaseApi { decoders.DeleteReminderResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateReminder = async ( + async updateReminder( request: UpdateReminderRequest & { message_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { message_id: request?.message_id, }; @@ -1536,7 +1513,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'PATCH', @@ -1549,11 +1526,11 @@ export class ChatApi extends BaseApi { decoders.UpdateReminderResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createReminder = async ( + async createReminder( request: CreateReminderRequest & { message_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { message_id: request?.message_id, }; @@ -1563,7 +1540,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1576,9 +1553,9 @@ export class ChatApi extends BaseApi { decoders.ReminderResponseData?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getReplies = async (request: { + async getReplies(request: { parent_id: string; limit?: number; offset?: number; @@ -1593,7 +1570,7 @@ export class ChatApi extends BaseApi { id_around?: string; created_at_around?: Date; sort?: SortParamRequest[]; - }): Promise> => { + }): Promise> { const queryParams = { limit: request?.limit, offset: request?.offset, @@ -1613,7 +1590,9 @@ export class ChatApi extends BaseApi { parent_id: request?.parent_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'GET', '/api/v2/chat/messages/{parent_id}/replies', pathParams, @@ -1623,27 +1602,27 @@ export class ChatApi extends BaseApi { decoders.GetRepliesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryMessageFlags = async (request?: { + async queryMessageFlags(request?: { payload?: QueryMessageFlagsPayload; - }): Promise> => { + }): Promise> { const queryParams = { payload: request?.payload, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/moderation/flags/message', undefined, queryParams); decoders.QueryMessageFlagsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - muteChannel = async ( + async muteChannel( request?: MuteChannelRequest, - ): Promise> => { + ): Promise> { const body = { expiration: request?.expiration, user_id: request?.user_id, @@ -1651,7 +1630,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1664,11 +1643,11 @@ export class ChatApi extends BaseApi { decoders.MuteChannelResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unmuteChannel = async ( + async unmuteChannel( request?: UnmuteChannelRequest, - ): Promise> => { + ): Promise> { const body = { expiration: request?.expiration, user_id: request?.user_id, @@ -1676,7 +1655,9 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/chat/moderation/unmute/channel', undefined, @@ -1687,342 +1668,45 @@ export class ChatApi extends BaseApi { decoders.UnmuteResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; - - createPoll = async ( - request: CreatePollRequest, - ): Promise> => { - const body = { - name: request?.name, - allow_answers: request?.allow_answers, - allow_user_suggested_options: request?.allow_user_suggested_options, - description: request?.description, - enforce_unique_vote: request?.enforce_unique_vote, - id: request?.id, - is_closed: request?.is_closed, - max_votes_allowed: request?.max_votes_allowed, - user_id: request?.user_id, - voting_visibility: request?.voting_visibility, - options: request?.options, - custom: request?.custom, - user: request?.user, - }; - - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/polls', - undefined, - undefined, - body, - ); - - decoders.PollResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - updatePoll = async ( - request: UpdatePollRequest, - ): Promise> => { - const body = { - id: request?.id, - name: request?.name, - allow_answers: request?.allow_answers, - allow_user_suggested_options: request?.allow_user_suggested_options, - description: request?.description, - enforce_unique_vote: request?.enforce_unique_vote, - is_closed: request?.is_closed, - max_votes_allowed: request?.max_votes_allowed, - user_id: request?.user_id, - voting_visibility: request?.voting_visibility, - options: request?.options, - custom: request?.custom, - user: request?.user, - }; - - const response = await this.sendRequest>( - 'PUT', - '/api/v2/chat/polls', - undefined, - undefined, - body, - ); - - decoders.PollResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - queryPolls = async ( - request?: QueryPollsRequest & { user_id?: string }, - ): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const body = { - limit: request?.limit, - next: request?.next, - prev: request?.prev, - sort: request?.sort, - filter: request?.filter, - }; - - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/polls/query', - undefined, - queryParams, - body, - ); - - decoders.QueryPollsResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - deletePoll = async (request: { - poll_id: string; - user_id?: string; - }): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const pathParams = { - poll_id: request?.poll_id, - }; - - const response = await this.sendRequest>( - 'DELETE', - '/api/v2/chat/polls/{poll_id}', - pathParams, - queryParams, - ); - - decoders.Response?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - getPoll = async (request: { - poll_id: string; - user_id?: string; - }): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const pathParams = { - poll_id: request?.poll_id, - }; - - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/polls/{poll_id}', - pathParams, - queryParams, - ); - - decoders.PollResponse?.(response.body); + } - return { ...response.body, metadata: response.metadata }; - }; - - updatePollPartial = async ( - request: UpdatePollPartialRequest & { poll_id: string }, - ): Promise> => { - const pathParams = { - poll_id: request?.poll_id, - }; - const body = { - user_id: request?.user_id, - unset: request?.unset, - set: request?.set, - user: request?.user, - }; - - const response = await this.sendRequest>( - 'PATCH', - '/api/v2/chat/polls/{poll_id}', - pathParams, - undefined, - body, - ); - - decoders.PollResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - createPollOption = async ( - request: CreatePollOptionRequest & { poll_id: string }, - ): Promise> => { - const pathParams = { - poll_id: request?.poll_id, - }; - const body = { - text: request?.text, - position: request?.position, - user_id: request?.user_id, - custom: request?.custom, - user: request?.user, - }; - - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/polls/{poll_id}/options', - pathParams, - undefined, - body, - ); - - decoders.PollOptionResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - updatePollOption = async ( - request: UpdatePollOptionRequest & { poll_id: string }, - ): Promise> => { - const pathParams = { - poll_id: request?.poll_id, - }; - const body = { - id: request?.id, - text: request?.text, - user_id: request?.user_id, - custom: request?.custom, - user: request?.user, - }; - - const response = await this.sendRequest>( - 'PUT', - '/api/v2/chat/polls/{poll_id}/options', - pathParams, - undefined, - body, - ); - - decoders.PollOptionResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - deletePollOption = async (request: { - poll_id: string; - option_id: string; - user_id?: string; - }): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const pathParams = { - poll_id: request?.poll_id, - option_id: request?.option_id, - }; - - const response = await this.sendRequest>( - 'DELETE', - '/api/v2/chat/polls/{poll_id}/options/{option_id}', - pathParams, - queryParams, - ); - - decoders.Response?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - getPollOption = async (request: { - poll_id: string; - option_id: string; - user_id?: string; - }): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const pathParams = { - poll_id: request?.poll_id, - option_id: request?.option_id, - }; - - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/polls/{poll_id}/options/{option_id}', - pathParams, - queryParams, - ); - - decoders.PollOptionResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - queryPollVotes = async ( - request: QueryPollVotesRequest & { poll_id: string; user_id?: string }, - ): Promise> => { - const queryParams = { - user_id: request?.user_id, - }; - const pathParams = { - poll_id: request?.poll_id, - }; - const body = { - limit: request?.limit, - next: request?.next, - prev: request?.prev, - sort: request?.sort, - filter: request?.filter, - }; - - const response = await this.sendRequest>( - 'POST', - '/api/v2/chat/polls/{poll_id}/votes', - pathParams, - queryParams, - body, - ); - - decoders.PollVotesResponse?.(response.body); - - return { ...response.body, metadata: response.metadata }; - }; - - updatePushNotificationPreferences = async ( + async updatePushNotificationPreferences( request: UpsertPushPreferencesRequest, - ): Promise> => { + ): Promise> { const body = { preferences: request?.preferences, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/push_preferences', undefined, undefined, body); decoders.UpsertPushPreferencesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getPushTemplates = async (request: { + async getPushTemplates(request: { push_provider_type: string; push_provider_name?: string; - }): Promise> => { + }): Promise> { const queryParams = { push_provider_type: request?.push_provider_type, push_provider_name: request?.push_provider_name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/push_templates', undefined, queryParams); decoders.GetPushTemplatesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - upsertPushTemplate = async ( + async upsertPushTemplate( request: UpsertPushTemplateRequest, - ): Promise> => { + ): Promise> { const body = { event_type: request?.event_type, push_provider_type: request?.push_provider_type, @@ -2031,34 +1715,34 @@ export class ChatApi extends BaseApi { template: request?.template, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/push_templates', undefined, undefined, body); decoders.UpsertPushTemplateResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryBannedUsers = async (request?: { + async queryBannedUsers(request?: { payload?: QueryBannedUsersPayload; - }): Promise> => { + }): Promise> { const queryParams = { payload: request?.payload, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/query_banned_users', undefined, queryParams); decoders.QueryBannedUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryReminders = async ( + async queryReminders( request?: QueryRemindersRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -2069,37 +1753,34 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/reminders/query', undefined, undefined, body); decoders.QueryRemindersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - search = async (request?: { + async search(request?: { payload?: SearchPayload; - }): Promise> => { + }): Promise> { const queryParams = { payload: request?.payload, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/search', - undefined, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/search', undefined, queryParams); decoders.SearchResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - querySegments = async ( + async querySegments( request: QuerySegmentsRequest, - ): Promise> => { + ): Promise> { const body = { filter: request?.filter, limit: request?.limit, @@ -2108,23 +1789,23 @@ export class ChatApi extends BaseApi { sort: request?.sort, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/segments/query', undefined, undefined, body); decoders.QuerySegmentsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteSegment = async (request: { + async deleteSegment(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/chat/segments/{id}', pathParams, @@ -2134,30 +1815,27 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getSegment = async (request: { + async getSegment(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/segments/{id}', - pathParams, - undefined, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/segments/{id}', pathParams, undefined); decoders.GetSegmentResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteSegmentTargets = async ( + async deleteSegmentTargets( request: DeleteSegmentTargetsRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -2165,7 +1843,7 @@ export class ChatApi extends BaseApi { target_ids: request?.target_ids, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'POST', '/api/v2/chat/segments/{id}/deletetargets', pathParams, @@ -2176,18 +1854,18 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - segmentTargetExists = async (request: { + async segmentTargetExists(request: { id: string; target_id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, target_id: request?.target_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'GET', '/api/v2/chat/segments/{id}/target/{target_id}', pathParams, @@ -2197,11 +1875,11 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - querySegmentTargets = async ( + async querySegmentTargets( request: QuerySegmentTargetsRequest & { id: string }, - ): Promise> => { + ): Promise> { const pathParams = { id: request?.id, }; @@ -2213,7 +1891,7 @@ export class ChatApi extends BaseApi { filter: request?.filter, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -2226,11 +1904,11 @@ export class ChatApi extends BaseApi { decoders.QuerySegmentTargetsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryThreads = async ( + async queryThreads( request?: QueryThreadsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, member_limit: request?.member_limit, @@ -2244,21 +1922,21 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/threads', undefined, undefined, body); decoders.QueryThreadsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getThread = async (request: { + async getThread(request: { message_id: string; reply_limit?: number; participant_limit?: number; member_limit?: number; - }): Promise> => { + }): Promise> { const queryParams = { reply_limit: request?.reply_limit, participant_limit: request?.participant_limit, @@ -2268,21 +1946,18 @@ export class ChatApi extends BaseApi { message_id: request?.message_id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/chat/threads/{message_id}', - pathParams, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/chat/threads/{message_id}', pathParams, queryParams); decoders.GetThreadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateThreadPartial = async ( + async updateThreadPartial( request: UpdateThreadPartialRequest & { message_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { message_id: request?.message_id, }; @@ -2293,7 +1968,7 @@ export class ChatApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'PATCH', @@ -2306,39 +1981,37 @@ export class ChatApi extends BaseApi { decoders.UpdateThreadPartialResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unreadCounts = async (): Promise< - StreamResponse - > => { - const response = await this.sendRequest< + async unreadCounts(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/chat/unread', undefined, undefined); decoders.WrappedUnreadCountsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unreadCountsBatch = async ( + async unreadCountsBatch( request: UnreadCountsBatchRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/chat/unread_batch', undefined, undefined, body); decoders.UnreadCountsBatchResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - sendUserCustomEvent = async ( + async sendUserCustomEvent( request: SendUserCustomEventRequest & { user_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { user_id: request?.user_id, }; @@ -2346,7 +2019,7 @@ export class ChatApi extends BaseApi { event: request?.event, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'POST', '/api/v2/chat/users/{user_id}/event', pathParams, @@ -2357,5 +2030,5 @@ export class ChatApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } } diff --git a/src/gen/common/CommonApi.ts b/src/gen/common/CommonApi.ts index 6a52ad7..7a81ee4 100644 --- a/src/gen/common/CommonApi.ts +++ b/src/gen/common/CommonApi.ts @@ -1,5 +1,4 @@ -import { BaseApi } from '../../BaseApi'; -import { StreamResponse } from '../../types'; +import { ApiClient, StreamResponse } from '../../gen-imports'; import { BlockUsersRequest, BlockUsersResponse, @@ -21,6 +20,8 @@ import { CreateImportResponse, CreateImportURLRequest, CreateImportURLResponse, + CreatePollOptionRequest, + CreatePollRequest, CreateRoleRequest, CreateRoleResponse, DeactivateUserRequest, @@ -52,6 +53,12 @@ import { ListPermissionsResponse, ListPushProvidersResponse, ListRolesResponse, + PollOptionResponse, + PollResponse, + PollVotesResponse, + QueryPollVotesRequest, + QueryPollsRequest, + QueryPollsResponse, QueryUsersPayload, QueryUsersResponse, ReactivateUserRequest, @@ -67,28 +74,33 @@ import { UpdateBlockListResponse, UpdateExternalStorageRequest, UpdateExternalStorageResponse, + UpdatePollOptionRequest, + UpdatePollPartialRequest, + UpdatePollRequest, UpdateUsersPartialRequest, UpdateUsersRequest, UpdateUsersResponse, UpsertPushProviderRequest, UpsertPushProviderResponse, } from '../models'; -import { decoders } from '../model-decoders'; +import { decoders } from '../model-decoders/decoders'; -export class CommonApi extends BaseApi { - getApp = async (): Promise> => { - const response = await this.sendRequest< +export class CommonApi { + constructor(public readonly apiClient: ApiClient) {} + + async getApp(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/app', undefined, undefined); decoders.GetApplicationResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateApp = async ( + async updateApp( request?: UpdateAppRequest, - ): Promise> => { + ): Promise> { const body = { async_url_enrich_enabled: request?.async_url_enrich_enabled, auto_translation_enabled: request?.auto_translation_enabled, @@ -138,7 +150,7 @@ export class CommonApi extends BaseApi { xiaomi_config: request?.xiaomi_config, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'PATCH', '/api/v2/app', undefined, @@ -149,27 +161,27 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listBlockLists = async (request?: { + async listBlockLists(request?: { team?: string; - }): Promise> => { + }): Promise> { const queryParams = { team: request?.team, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/blocklists', undefined, queryParams); decoders.ListBlockListResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createBlockList = async ( + async createBlockList( request: CreateBlockListRequest, - ): Promise> => { + ): Promise> { const body = { name: request?.name, words: request?.words, @@ -177,19 +189,19 @@ export class CommonApi extends BaseApi { type: request?.type, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/blocklists', undefined, undefined, body); decoders.CreateBlockListResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteBlockList = async (request: { + async deleteBlockList(request: { name: string; team?: string; - }): Promise> => { + }): Promise> { const queryParams = { team: request?.team, }; @@ -197,7 +209,7 @@ export class CommonApi extends BaseApi { name: request?.name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/blocklists/{name}', pathParams, @@ -207,12 +219,12 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getBlockList = async (request: { + async getBlockList(request: { name: string; team?: string; - }): Promise> => { + }): Promise> { const queryParams = { team: request?.team, }; @@ -220,18 +232,18 @@ export class CommonApi extends BaseApi { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/blocklists/{name}', pathParams, queryParams); decoders.GetBlockListResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateBlockList = async ( + async updateBlockList( request: UpdateBlockListRequest & { name: string }, - ): Promise> => { + ): Promise> { const pathParams = { name: request?.name, }; @@ -240,18 +252,18 @@ export class CommonApi extends BaseApi { words: request?.words, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/blocklists/{name}', pathParams, undefined, body); decoders.UpdateBlockListResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - checkPush = async ( + async checkPush( request?: CheckPushRequest, - ): Promise> => { + ): Promise> { const body = { apn_template: request?.apn_template, event_type: request?.event_type, @@ -265,73 +277,61 @@ export class CommonApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/check_push', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/check_push', undefined, undefined, body); decoders.CheckPushResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - checkSNS = async ( + async checkSNS( request?: CheckSNSRequest, - ): Promise> => { + ): Promise> { const body = { sns_key: request?.sns_key, sns_secret: request?.sns_secret, sns_topic_arn: request?.sns_topic_arn, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/check_sns', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/check_sns', undefined, undefined, body); decoders.CheckSNSResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - checkSQS = async ( + async checkSQS( request?: CheckSQSRequest, - ): Promise> => { + ): Promise> { const body = { sqs_key: request?.sqs_key, sqs_secret: request?.sqs_secret, sqs_url: request?.sqs_url, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/check_sqs', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/check_sqs', undefined, undefined, body); decoders.CheckSQSResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteDevice = async (request: { + async deleteDevice(request: { id: string; user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { id: request?.id, user_id: request?.user_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/devices', undefined, @@ -341,27 +341,27 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listDevices = async (request?: { + async listDevices(request?: { user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { user_id: request?.user_id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/devices', undefined, queryParams); decoders.ListDevicesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createDevice = async ( + async createDevice( request: CreateDeviceRequest, - ): Promise> => { + ): Promise> { const body = { id: request?.id, push_provider: request?.push_provider, @@ -371,7 +371,7 @@ export class CommonApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'POST', '/api/v2/devices', undefined, @@ -382,39 +382,39 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - exportUsers = async ( + async exportUsers( request: ExportUsersRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/export/users', undefined, undefined, body); decoders.ExportUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listExternalStorage = async (): Promise< + async listExternalStorage(): Promise< StreamResponse - > => { - const response = await this.sendRequest< + > { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/external_storage', undefined, undefined); decoders.ListExternalStorageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createExternalStorage = async ( + async createExternalStorage( request: CreateExternalStorageRequest, - ): Promise> => { + ): Promise> { const body = { bucket: request?.bucket, name: request?.name, @@ -425,34 +425,34 @@ export class CommonApi extends BaseApi { azure_blob: request?.azure_blob, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/external_storage', undefined, undefined, body); decoders.CreateExternalStorageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteExternalStorage = async (request: { + async deleteExternalStorage(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('DELETE', '/api/v2/external_storage/{name}', pathParams, undefined); decoders.DeleteExternalStorageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateExternalStorage = async ( + async updateExternalStorage( request: UpdateExternalStorageRequest & { name: string }, - ): Promise> => { + ): Promise> { const pathParams = { name: request?.name, }; @@ -465,194 +465,453 @@ export class CommonApi extends BaseApi { azure_blob: request?.azure_blob, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/external_storage/{name}', pathParams, undefined, body); decoders.UpdateExternalStorageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - checkExternalStorage = async (request: { + async checkExternalStorage(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/external_storage/{name}/check', pathParams, undefined); decoders.CheckExternalStorageResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createGuest = async ( + async createGuest( request: CreateGuestRequest, - ): Promise> => { + ): Promise> { const body = { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/guest', undefined, undefined, body); decoders.CreateGuestResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createImportURL = async ( + async createImportURL( request?: CreateImportURLRequest, - ): Promise> => { + ): Promise> { const body = { filename: request?.filename, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/import_urls', undefined, undefined, body); decoders.CreateImportURLResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listImports = async (): Promise> => { - const response = await this.sendRequest< + async listImports(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/imports', undefined, undefined); decoders.ListImportsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createImport = async ( + async createImport( request: CreateImportRequest, - ): Promise> => { + ): Promise> { const body = { mode: request?.mode, path: request?.path, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/imports', undefined, undefined, body); decoders.CreateImportResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getImport = async (request: { + async getImport(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/imports/{id}', - pathParams, - undefined, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/imports/{id}', pathParams, undefined); decoders.GetImportResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getOG = async (request: { + async getOG(request: { url: string; - }): Promise> => { + }): Promise> { const queryParams = { url: request?.url, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/og', - undefined, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/og', undefined, queryParams); decoders.GetOGResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listPermissions = async (): Promise< - StreamResponse - > => { - const response = await this.sendRequest< + async listPermissions(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/permissions', undefined, undefined); decoders.ListPermissionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getPermission = async (request: { + async getPermission(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/permissions/{id}', pathParams, undefined); decoders.GetCustomPermissionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listPushProviders = async (): Promise< + async createPoll( + request: CreatePollRequest, + ): Promise> { + const body = { + name: request?.name, + allow_answers: request?.allow_answers, + allow_user_suggested_options: request?.allow_user_suggested_options, + description: request?.description, + enforce_unique_vote: request?.enforce_unique_vote, + id: request?.id, + is_closed: request?.is_closed, + max_votes_allowed: request?.max_votes_allowed, + user_id: request?.user_id, + voting_visibility: request?.voting_visibility, + options: request?.options, + custom: request?.custom, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/polls', undefined, undefined, body); + + decoders.PollResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updatePoll( + request: UpdatePollRequest, + ): Promise> { + const body = { + id: request?.id, + name: request?.name, + allow_answers: request?.allow_answers, + allow_user_suggested_options: request?.allow_user_suggested_options, + description: request?.description, + enforce_unique_vote: request?.enforce_unique_vote, + is_closed: request?.is_closed, + max_votes_allowed: request?.max_votes_allowed, + user_id: request?.user_id, + voting_visibility: request?.voting_visibility, + options: request?.options, + custom: request?.custom, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('PUT', '/api/v2/polls', undefined, undefined, body); + + decoders.PollResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async queryPolls( + request?: QueryPollsRequest & { user_id?: string }, + ): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + 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/polls/query', undefined, queryParams, body); + + decoders.QueryPollsResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async deletePoll(request: { + poll_id: string; + user_id?: string; + }): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + poll_id: request?.poll_id, + }; + + const response = await this.apiClient.sendRequest>( + 'DELETE', + '/api/v2/polls/{poll_id}', + pathParams, + queryParams, + ); + + decoders.Response?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async getPoll(request: { + poll_id: string; + user_id?: string; + }): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + poll_id: request?.poll_id, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/polls/{poll_id}', pathParams, queryParams); + + decoders.PollResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updatePollPartial( + request: UpdatePollPartialRequest & { poll_id: string }, + ): Promise> { + const pathParams = { + poll_id: request?.poll_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/polls/{poll_id}', pathParams, undefined, body); + + decoders.PollResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async createPollOption( + request: CreatePollOptionRequest & { poll_id: string }, + ): Promise> { + const pathParams = { + poll_id: request?.poll_id, + }; + const body = { + text: request?.text, + user_id: request?.user_id, + custom: request?.custom, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/polls/{poll_id}/options', pathParams, undefined, body); + + decoders.PollOptionResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async updatePollOption( + request: UpdatePollOptionRequest & { poll_id: string }, + ): Promise> { + const pathParams = { + poll_id: request?.poll_id, + }; + const body = { + id: request?.id, + text: request?.text, + user_id: request?.user_id, + custom: request?.custom, + user: request?.user, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >('PUT', '/api/v2/polls/{poll_id}/options', pathParams, undefined, body); + + decoders.PollOptionResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async deletePollOption(request: { + poll_id: string; + option_id: string; + user_id?: string; + }): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + poll_id: request?.poll_id, + option_id: request?.option_id, + }; + + const response = await this.apiClient.sendRequest>( + 'DELETE', + '/api/v2/polls/{poll_id}/options/{option_id}', + pathParams, + queryParams, + ); + + decoders.Response?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async getPollOption(request: { + poll_id: string; + option_id: string; + user_id?: string; + }): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + poll_id: request?.poll_id, + option_id: request?.option_id, + }; + + const response = await this.apiClient.sendRequest< + StreamResponse + >( + 'GET', + '/api/v2/polls/{poll_id}/options/{option_id}', + pathParams, + queryParams, + ); + + decoders.PollOptionResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async queryPollVotes( + request: QueryPollVotesRequest & { poll_id: string; user_id?: string }, + ): Promise> { + const queryParams = { + user_id: request?.user_id, + }; + const pathParams = { + poll_id: request?.poll_id, + }; + 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/polls/{poll_id}/votes', pathParams, queryParams, body); + + decoders.PollVotesResponse?.(response.body); + + return { ...response.body, metadata: response.metadata }; + } + + async listPushProviders(): Promise< StreamResponse - > => { - const response = await this.sendRequest< + > { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/push_providers', undefined, undefined); decoders.ListPushProvidersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - upsertPushProvider = async ( + async upsertPushProvider( request?: UpsertPushProviderRequest, - ): Promise> => { + ): Promise> { const body = { push_provider: request?.push_provider, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/push_providers', undefined, undefined, body); decoders.UpsertPushProviderResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deletePushProvider = async (request: { + async deletePushProvider(request: { type: string; name: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, name: request?.name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/push_providers/{type}/{name}', pathParams, @@ -662,15 +921,15 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getRateLimits = async (request?: { + async getRateLimits(request?: { server_side?: boolean; android?: boolean; ios?: boolean; web?: boolean; endpoints?: string; - }): Promise> => { + }): Promise> { const queryParams = { server_side: request?.server_side, android: request?.android, @@ -679,56 +938,49 @@ export class CommonApi extends BaseApi { endpoints: request?.endpoints, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/rate_limits', undefined, queryParams); decoders.GetRateLimitsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listRoles = async (): Promise> => { - const response = await this.sendRequest>( - 'GET', - '/api/v2/roles', - undefined, - undefined, - ); + async listRoles(): Promise> { + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/roles', undefined, undefined); decoders.ListRolesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createRole = async ( + async createRole( request: CreateRoleRequest, - ): Promise> => { + ): Promise> { const body = { name: request?.name, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/roles', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/roles', undefined, undefined, body); decoders.CreateRoleResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteRole = async (request: { + async deleteRole(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/roles/{name}', pathParams, @@ -738,35 +990,32 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getTask = async (request: { + async getTask(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/tasks/{id}', - pathParams, - undefined, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/tasks/{id}', pathParams, undefined); decoders.GetTaskResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteFile = async (request?: { + async deleteFile(request?: { url?: string; - }): Promise> => { + }): Promise> { const queryParams = { url: request?.url, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/uploads/file', undefined, @@ -776,37 +1025,33 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - uploadFile = async ( + async uploadFile( request?: FileUploadRequest, - ): Promise> => { + ): Promise> { const body = { file: request?.file, user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/uploads/file', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/uploads/file', undefined, undefined, body); decoders.FileUploadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteImage = async (request?: { + async deleteImage(request?: { url?: string; - }): Promise> => { + }): Promise> { const queryParams = { url: request?.url, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/uploads/image', undefined, @@ -816,118 +1061,111 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - uploadImage = async ( + async uploadImage( request?: ImageUploadRequest, - ): Promise> => { + ): Promise> { const body = { file: request?.file, upload_sizes: request?.upload_sizes, user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/uploads/image', undefined, undefined, body); decoders.ImageUploadResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryUsers = async (request?: { + async queryUsers(request?: { payload?: QueryUsersPayload; - }): Promise> => { + }): Promise> { const queryParams = { payload: request?.payload, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/users', - undefined, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/users', undefined, queryParams); decoders.QueryUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateUsersPartial = async ( + async updateUsersPartial( request: UpdateUsersPartialRequest, - ): Promise> => { + ): Promise> { const body = { users: request?.users, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PATCH', '/api/v2/users', undefined, undefined, body); decoders.UpdateUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateUsers = async ( + async updateUsers( request: UpdateUsersRequest, - ): Promise> => { + ): Promise> { const body = { users: request?.users, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/users', undefined, undefined, body); decoders.UpdateUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getBlockedUsers = async (request?: { + async getBlockedUsers(request?: { user_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { user_id: request?.user_id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/users/block', undefined, queryParams); decoders.GetBlockedUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - blockUsers = async ( + async blockUsers( request: BlockUsersRequest, - ): Promise> => { + ): Promise> { const body = { blocked_user_id: request?.blocked_user_id, user_id: request?.user_id, user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/users/block', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/users/block', undefined, undefined, body); decoders.BlockUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deactivateUsers = async ( + async deactivateUsers( request: DeactivateUsersRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, created_by_id: request?.created_by_id, @@ -935,18 +1173,18 @@ export class CommonApi extends BaseApi { mark_messages_deleted: request?.mark_messages_deleted, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/users/deactivate', undefined, undefined, body); decoders.DeactivateUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteUsers = async ( + async deleteUsers( request: DeleteUsersRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, calls: request?.calls, @@ -957,18 +1195,18 @@ export class CommonApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/users/delete', undefined, undefined, body); decoders.DeleteUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - reactivateUsers = async ( + async reactivateUsers( request: ReactivateUsersRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, created_by_id: request?.created_by_id, @@ -976,23 +1214,23 @@ export class CommonApi extends BaseApi { restore_messages: request?.restore_messages, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/users/reactivate', undefined, undefined, body); decoders.ReactivateUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - restoreUsers = async ( + async restoreUsers( request: RestoreUsersRequest, - ): Promise> => { + ): Promise> { const body = { user_ids: request?.user_ids, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'POST', '/api/v2/users/restore', undefined, @@ -1003,29 +1241,29 @@ export class CommonApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unblockUsers = async ( + async unblockUsers( request: UnblockUsersRequest, - ): Promise> => { + ): Promise> { const body = { blocked_user_id: request?.blocked_user_id, user_id: request?.user_id, user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/users/unblock', undefined, undefined, body); decoders.UnblockUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deactivateUser = async ( + async deactivateUser( request: DeactivateUserRequest & { user_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { user_id: request?.user_id, }; @@ -1034,7 +1272,7 @@ export class CommonApi extends BaseApi { mark_messages_deleted: request?.mark_messages_deleted, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1047,30 +1285,27 @@ export class CommonApi extends BaseApi { decoders.DeactivateUserResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - exportUser = async (request: { + async exportUser(request: { user_id: string; - }): Promise> => { + }): Promise> { const pathParams = { user_id: request?.user_id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/users/{user_id}/export', - pathParams, - undefined, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/users/{user_id}/export', pathParams, undefined); decoders.ExportUserResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - reactivateUser = async ( + async reactivateUser( request: ReactivateUserRequest & { user_id: string }, - ): Promise> => { + ): Promise> { const pathParams = { user_id: request?.user_id, }; @@ -1080,7 +1315,7 @@ export class CommonApi extends BaseApi { restore_messages: request?.restore_messages, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1093,5 +1328,5 @@ export class CommonApi extends BaseApi { decoders.ReactivateUserResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } } diff --git a/src/gen/model-decoders/index.ts b/src/gen/model-decoders/decoders.ts similarity index 71% rename from src/gen/model-decoders/index.ts rename to src/gen/model-decoders/decoders.ts index 002ee56..f5fc3ae 100644 --- a/src/gen/model-decoders/index.ts +++ b/src/gen/model-decoders/decoders.ts @@ -4,8 +4,10 @@ type TypeMapping = Record; export const decoders: Record = {}; -const decodeDatetimeType = (input: number) => - new Date(Math.floor(input / 1000000)); +const decodeDatetimeType = (input: number | string) => + typeof input === 'number' + ? new Date(Math.floor(input / 1000000)) + : new Date(input); decoders.DatetimeType = decodeDatetimeType; @@ -58,6 +60,20 @@ decoders.ActionLogResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ActivityMarkedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.AnyEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.AppResponseFields = (input?: Record) => { const typeMappings: TypeMapping = { event_hooks: { type: 'EventHook', isSingle: false }, @@ -73,6 +89,71 @@ decoders.AppResponseFields = (input?: Record) => { return decode(typeMappings, input); }; +decoders.AsyncBulkImageModerationEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + finished_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.AsyncExportChannelsEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + finished_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.AsyncExportErrorEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + finished_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.AsyncExportModerationLogsEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + finished_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.AsyncExportUsersEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + finished_at: { type: 'DatetimeType', isSingle: true }, + + started_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.AutomodDetails = (input?: Record) => { const typeMappings: TypeMapping = { result: { type: 'MessageModerationResult', isSingle: true }, @@ -126,6 +207,17 @@ decoders.BlockUsersResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.BlockedUserEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + + blocked_by_user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.BlockedUserResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -168,6 +260,58 @@ decoders.Call = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallAcceptedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallClosedCaptionsFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallClosedCaptionsStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallClosedCaptionsStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallCreatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallEgress = (input?: Record) => { const typeMappings: TypeMapping = { started_at: { type: 'DatetimeType', isSingle: true }, @@ -179,6 +323,87 @@ decoders.CallEgress = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallEndedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallFrameRecordingFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallFrameRecordingFrameReadyEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + captured_at: { type: 'DatetimeType', isSingle: true }, + + created_at: { type: 'DatetimeType', isSingle: true }, + + users: { type: 'UserResponse', isSingle: false }, + }; + return decode(typeMappings, input); +}; + +decoders.CallFrameRecordingStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallFrameRecordingStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallHLSBroadcastingFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallHLSBroadcastingStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallHLSBroadcastingStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallLiveStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallMember = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -192,6 +417,88 @@ decoders.CallMember = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallMemberAddedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallMemberRemovedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallMemberUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallMemberUpdatedPermissionEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallMissedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallModerationBlurEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallModerationWarningEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallNotificationEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallParticipant = (input?: Record) => { const typeMappings: TypeMapping = { joined_at: { type: 'DatetimeType', isSingle: true }, @@ -224,6 +531,15 @@ decoders.CallParticipantResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallReactionEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + reaction: { type: 'ReactionResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallRecording = (input?: Record) => { const typeMappings: TypeMapping = { end_time: { type: 'DatetimeType', isSingle: true }, @@ -233,6 +549,47 @@ decoders.CallRecording = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallRecordingFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRecordingReadyEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call_recording: { type: 'CallRecording', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRecordingStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRecordingStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRejectedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallReportResponse = (input?: Record) => { const typeMappings: TypeMapping = { ended_at: { type: 'DatetimeType', isSingle: true }, @@ -259,6 +616,40 @@ decoders.CallResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallRingEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + members: { type: 'MemberResponse', isSingle: false }, + + call: { type: 'CallResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRtmpBroadcastFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRtmpBroadcastStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallRtmpBroadcastStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallSession = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -290,6 +681,33 @@ decoders.CallSession = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallSessionEndedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallSessionParticipantJoinedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + participant: { type: 'CallParticipantResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallSessionParticipantLeftEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + participant: { type: 'CallParticipantResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallSessionResponse = (input?: Record) => { const typeMappings: TypeMapping = { participants: { type: 'CallParticipantResponse', isSingle: false }, @@ -313,6 +731,15 @@ decoders.CallSessionResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallSessionStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallStateResponseFields = (input?: Record) => { const typeMappings: TypeMapping = { members: { type: 'MemberResponse', isSingle: false }, @@ -322,6 +749,13 @@ decoders.CallStateResponseFields = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallStatsReportReadyEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallStatsReportSummaryResponse = (input?: Record) => { const typeMappings: TypeMapping = { first_stats_time: { type: 'DatetimeType', isSingle: true }, @@ -340,6 +774,36 @@ decoders.CallTranscription = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallTranscriptionFailedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallTranscriptionReadyEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call_transcription: { type: 'CallTranscription', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallTranscriptionStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallTranscriptionStoppedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CallType = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -358,6 +822,42 @@ decoders.CallTypeResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CallUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + call: { type: 'CallResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallUserFeedbackSubmittedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CallUserMutedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.CampaignCompletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + campaign: { type: 'CampaignResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CampaignResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -379,6 +879,17 @@ decoders.CampaignResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CampaignStartedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + campaign: { type: 'CampaignResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.CampaignStatsResponse = (input?: Record) => { const typeMappings: TypeMapping = { stats_completed_at: { type: 'DatetimeType', isSingle: true }, @@ -388,45 +899,79 @@ decoders.CampaignStatsResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.Channel = (input?: Record) => { +decoders.Channel = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + last_message_at: { type: 'DatetimeType', isSingle: true }, + + invites: { type: 'ChannelMember', isSingle: false }, + + members: { type: 'ChannelMember', isSingle: false }, + + config: { type: 'ChannelConfig', isSingle: true }, + + created_by: { type: 'User', isSingle: true }, + + truncated_by: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelConfig = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelConfigWithInfo = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + commands: { type: 'Command', isSingle: false }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelCreatedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; - updated_at: { type: 'DatetimeType', isSingle: true }, - - deleted_at: { type: 'DatetimeType', isSingle: true }, - - last_message_at: { type: 'DatetimeType', isSingle: true }, - - invites: { type: 'ChannelMember', isSingle: false }, - - members: { type: 'ChannelMember', isSingle: false }, - - config: { type: 'ChannelConfig', isSingle: true }, - - created_by: { type: 'User', isSingle: true }, +decoders.ChannelDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, - truncated_by: { type: 'User', isSingle: true }, + channel: { type: 'ChannelResponse', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.ChannelConfig = (input?: Record) => { +decoders.ChannelFrozenEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - - updated_at: { type: 'DatetimeType', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.ChannelConfigWithInfo = (input?: Record) => { +decoders.ChannelHiddenEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - updated_at: { type: 'DatetimeType', isSingle: true }, + channel: { type: 'ChannelResponse', isSingle: true }, - commands: { type: 'Command', isSingle: false }, + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); }; @@ -492,6 +1037,13 @@ decoders.ChannelMute = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ChannelMutedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ChannelPushPreferences = (input?: Record) => { const typeMappings: TypeMapping = { disabled_until: { type: 'DatetimeType', isSingle: true }, @@ -584,6 +1136,15 @@ decoders.ChannelStateResponseFields = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ChannelTruncatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'ChannelResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ChannelTypeConfig = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -595,6 +1156,42 @@ decoders.ChannelTypeConfig = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ChannelUnFrozenEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelUnmutedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'ChannelResponse', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.ChannelVisibleEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ChatActivityStatsResponse = (input?: Record) => { const typeMappings: TypeMapping = { messages: { type: 'MessageStatsResponse', isSingle: true }, @@ -609,6 +1206,13 @@ decoders.CheckResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ClosedCaptionEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.Command = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -694,6 +1298,15 @@ decoders.CustomCheckResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.CustomVideoEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.DeactivateUserResponse = (input?: Record) => { const typeMappings: TypeMapping = { user: { type: 'UserResponse', isSingle: true }, @@ -875,6 +1488,21 @@ decoders.FlagFeedback = (input?: Record) => { return decode(typeMappings, input); }; +decoders.FlagUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + created_by: { type: 'UserResponse', isSingle: true }, + + message: { type: 'MessageResponse', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.FullUserResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1165,6 +1793,28 @@ decoders.MarkReadResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MemberAddedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + member: { type: 'ChannelMember', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.MemberRemovedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + member: { type: 'ChannelMember', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MemberResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1178,6 +1828,17 @@ decoders.MemberResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MemberUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + member: { type: 'ChannelMember', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MembersResponse = (input?: Record) => { const typeMappings: TypeMapping = { members: { type: 'ChannelMember', isSingle: false }, @@ -1222,6 +1883,19 @@ decoders.Message = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MessageDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MessageFlagResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1249,6 +1923,21 @@ decoders.MessageFlagResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MessageFlaggedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + flag: { type: 'Flag', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MessageHistoryEntryResponse = (input?: Record) => { const typeMappings: TypeMapping = { message_updated_at: { type: 'DatetimeType', isSingle: true }, @@ -1265,6 +1954,19 @@ decoders.MessageModerationResult = (input?: Record) => { return decode(typeMappings, input); }; +decoders.MessageNewEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.MessageReadEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1273,20 +1975,105 @@ decoders.MessageReadEvent = (input?: Record) => { thread: { type: 'ThreadResponse', isSingle: true }, - user: { type: 'UserResponseCommonFields', isSingle: true }, + user: { type: 'UserResponseCommonFields', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.MessageReminder = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + remind_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'Channel', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.MessageResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + updated_at: { type: 'DatetimeType', isSingle: true }, + + latest_reactions: { type: 'ReactionResponse', isSingle: false }, + + mentioned_users: { type: 'UserResponse', isSingle: false }, + + own_reactions: { type: 'ReactionResponse', isSingle: false }, + + user: { type: 'UserResponse', isSingle: true }, + + deleted_at: { type: 'DatetimeType', isSingle: true }, + + message_text_updated_at: { type: 'DatetimeType', isSingle: true }, + + pin_expires: { type: 'DatetimeType', isSingle: true }, + + pinned_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'UserResponse', isSingle: false }, + + draft: { type: 'DraftResponse', isSingle: true }, + + pinned_by: { type: 'UserResponse', isSingle: true }, + + poll: { type: 'PollResponseData', isSingle: true }, + + quoted_message: { type: 'MessageResponse', isSingle: true }, + + reaction_groups: { type: 'ReactionGroupResponse', isSingle: false }, + + reminder: { type: 'ReminderResponseData', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.MessageStatsResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + count_over_time: { type: 'CountByMinuteResponse', isSingle: false }, + }; + return decode(typeMappings, input); +}; + +decoders.MessageUnblockedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.MessageUndeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.MessageReminder = (input?: Record) => { +decoders.MessageUpdatedEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - updated_at: { type: 'DatetimeType', isSingle: true }, - - remind_at: { type: 'DatetimeType', isSingle: true }, - - channel: { type: 'Channel', isSingle: true }, + thread_participants: { type: 'User', isSingle: false }, message: { type: 'Message', isSingle: true }, @@ -1295,7 +2082,7 @@ decoders.MessageReminder = (input?: Record) => { return decode(typeMappings, input); }; -decoders.MessageResponse = (input?: Record) => { +decoders.MessageWithChannelResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1307,6 +2094,8 @@ decoders.MessageResponse = (input?: Record) => { own_reactions: { type: 'ReactionResponse', isSingle: false }, + channel: { type: 'ChannelResponse', isSingle: true }, + user: { type: 'UserResponse', isSingle: true }, deleted_at: { type: 'DatetimeType', isSingle: true }, @@ -1334,59 +2123,55 @@ decoders.MessageResponse = (input?: Record) => { return decode(typeMappings, input); }; -decoders.MessageStatsResponse = (input?: Record) => { +decoders.ModerationCheckCompletedEvent = (input?: Record) => { const typeMappings: TypeMapping = { - count_over_time: { type: 'CountByMinuteResponse', isSingle: false }, + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.MessageWithChannelResponse = (input?: Record) => { +decoders.ModerationCustomActionEvent = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, - updated_at: { type: 'DatetimeType', isSingle: true }, - - latest_reactions: { type: 'ReactionResponse', isSingle: false }, + item: { type: 'ReviewQueueItem', isSingle: true }, - mentioned_users: { type: 'UserResponse', isSingle: false }, + message: { type: 'Message', isSingle: true }, - own_reactions: { type: 'ReactionResponse', isSingle: false }, + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; - channel: { type: 'ChannelResponse', isSingle: true }, +decoders.ModerationFlagResponse = (input?: Record) => { + const typeMappings: TypeMapping = { + review_queue_item: { type: 'ReviewQueueItem', isSingle: true }, user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; - deleted_at: { type: 'DatetimeType', isSingle: true }, - - message_text_updated_at: { type: 'DatetimeType', isSingle: true }, - - pin_expires: { type: 'DatetimeType', isSingle: true }, - - pinned_at: { type: 'DatetimeType', isSingle: true }, - - thread_participants: { type: 'UserResponse', isSingle: false }, - - draft: { type: 'DraftResponse', isSingle: true }, - - pinned_by: { type: 'UserResponse', isSingle: true }, - - poll: { type: 'PollResponseData', isSingle: true }, - - quoted_message: { type: 'MessageResponse', isSingle: true }, - - reaction_groups: { type: 'ReactionGroupResponse', isSingle: false }, +decoders.ModerationFlaggedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, - reminder: { type: 'ReminderResponseData', isSingle: true }, + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); }; -decoders.ModerationFlagResponse = (input?: Record) => { +decoders.ModerationMarkReviewedEvent = (input?: Record) => { const typeMappings: TypeMapping = { - review_queue_item: { type: 'ReviewQueueItem', isSingle: true }, + created_at: { type: 'DatetimeType', isSingle: true }, - user: { type: 'UserResponse', isSingle: true }, + item: { type: 'ReviewQueueItem', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + user: { type: 'User', isSingle: true }, }; return decode(typeMappings, input); }; @@ -1411,6 +2196,19 @@ decoders.MuteResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.NotificationMarkUnreadEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + last_read_at: { type: 'DatetimeType', isSingle: true }, + + channel: { type: 'ChannelResponse', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.OwnUser = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1486,6 +2284,15 @@ decoders.PendingMessageResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.PermissionRequestEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.Poll = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1793,6 +2600,21 @@ decoders.Reaction = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReactionDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + reaction: { type: 'Reaction', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ReactionGroupResponse = (input?: Record) => { const typeMappings: TypeMapping = { first_reaction_at: { type: 'DatetimeType', isSingle: true }, @@ -1802,6 +2624,21 @@ decoders.ReactionGroupResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReactionNewEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread_participants: { type: 'User', isSingle: false }, + + message: { type: 'Message', isSingle: true }, + + reaction: { type: 'Reaction', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ReactionResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1813,6 +2650,19 @@ decoders.ReactionResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReactionUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + message: { type: 'Message', isSingle: true }, + + reaction: { type: 'Reaction', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ReactivateUserResponse = (input?: Record) => { const typeMappings: TypeMapping = { user: { type: 'UserResponse', isSingle: true }, @@ -1873,6 +2723,19 @@ decoders.ReviewQueueItem = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReviewQueueItemNewEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + action: { type: 'ActionLogResponse', isSingle: true }, + + review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.ReviewQueueItemResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -1902,6 +2765,19 @@ decoders.ReviewQueueItemResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ReviewQueueItemUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + + action: { type: 'ActionLogResponse', isSingle: true }, + + review_queue_item: { type: 'ReviewQueueItemResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.Role = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2088,6 +2964,17 @@ decoders.ThreadStateResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.ThreadUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + thread: { type: 'ThreadResponse', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.TruncateChannelResponse = (input?: Record) => { const typeMappings: TypeMapping = { channel: { type: 'ChannelResponse', isSingle: true }, @@ -2097,6 +2984,15 @@ decoders.TruncateChannelResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UnblockedUserEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UnreadCountsBatchResponse = (input?: Record) => { const typeMappings: TypeMapping = { counts_by_user: { type: 'UnreadCountsResponse', isSingle: false }, @@ -2237,6 +3133,15 @@ decoders.UpdateUsersResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UpdatedCallPermissionsEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'UserResponse', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UpsertConfigResponse = (input?: Record) => { const typeMappings: TypeMapping = { config: { type: 'ConfigResponse', isSingle: true }, @@ -2295,6 +3200,48 @@ decoders.User = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UserBannedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + created_by: { type: 'User', isSingle: true }, + + expiration: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserDeactivatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + created_by: { type: 'User', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserDeletedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserFlaggedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UserMute = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2325,6 +3272,24 @@ decoders.UserMuteResponse = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UserMutedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserReactivatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.UserResponse = (input?: Record) => { const typeMappings: TypeMapping = { created_at: { type: 'DatetimeType', isSingle: true }, @@ -2368,6 +3333,42 @@ decoders.UserResponseCommonFields = (input?: Record) => { return decode(typeMappings, input); }; +decoders.UserUnbannedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserUnmutedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserUnreadReminderEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + user: { type: 'User', isSingle: true }, + }; + return decode(typeMappings, input); +}; + +decoders.UserUpdatedEvent = (input?: Record) => { + const typeMappings: TypeMapping = { + created_at: { type: 'DatetimeType', isSingle: true }, + + received_at: { type: 'DatetimeType', isSingle: true }, + }; + return decode(typeMappings, input); +}; + decoders.VideoReactionOverTimeResponse = (input?: Record) => { const typeMappings: TypeMapping = { by_minute: { type: 'CountByMinuteResponse', isSingle: false }, diff --git a/src/gen/models/index.ts b/src/gen/models/index.ts index b746d0e..d921621 100644 --- a/src/gen/models/index.ts +++ b/src/gen/models/index.ts @@ -192,6 +192,24 @@ export interface ActionSequence { warning_text: string; } +export interface ActivityMarkedEvent { + all_read: boolean; + + all_seen: boolean; + + created_at: Date; + + feed_id: string; + + user_id: string; + + type: string; + + marked_read?: string[]; + + marked_watched?: string[]; +} + export interface AnyEvent { created_at: Date; @@ -1226,6 +1244,8 @@ export interface CallParticipant { role: string; + role: string; + user_session_id: string; custom: Record; @@ -3177,8 +3197,6 @@ export interface CreateImportURLResponse { export interface CreatePollOptionRequest { text: string; - position?: number; - user_id?: string; custom?: Record; @@ -4839,21 +4857,33 @@ export interface LimitInfo { } export interface LimitsSettings { + max_participants_exclude_roles: string[]; + max_duration_seconds?: number; max_participants?: number; + + max_participants_exclude_owner?: boolean; } export interface LimitsSettingsRequest { max_duration_seconds?: number; max_participants?: number; + + max_participants_exclude_owner?: boolean; + + max_participants_exclude_roles?: string[]; } export interface LimitsSettingsResponse { + max_participants_exclude_roles: string[]; + max_duration_seconds?: number; max_participants?: number; + + max_participants_exclude_owner?: boolean; } export interface ListBlockListResponse { @@ -8927,6 +8957,8 @@ export interface UnreadCountsResponse { channels: UnreadCountsChannel[]; threads: UnreadCountsThread[]; + + total_unread_count_by_team: Record; } export interface UnreadCountsThread { @@ -10108,8 +10140,6 @@ export interface VoteData { answer_text?: string; option_id?: string; - - option?: PollOptionResponseData; } export interface WSEvent { @@ -10168,9 +10198,127 @@ export interface WSEvent { user?: UserResponse; } -export interface WebhookEvent { - type: string; -} +export type WebhookEvent = + | ({ type: '*' } & AnyEvent) + | ({ type: 'activity.marked' } & ActivityMarkedEvent) + | ({ type: 'call.accepted' } & CallAcceptedEvent) + | ({ type: 'call.blocked_user' } & BlockedUserEvent) + | ({ type: 'call.closed_caption' } & ClosedCaptionEvent) + | ({ type: 'call.closed_captions_failed' } & CallClosedCaptionsFailedEvent) + | ({ type: 'call.closed_captions_started' } & CallClosedCaptionsStartedEvent) + | ({ type: 'call.closed_captions_stopped' } & CallClosedCaptionsStoppedEvent) + | ({ type: 'call.created' } & CallCreatedEvent) + | ({ type: 'call.deleted' } & CallDeletedEvent) + | ({ type: 'call.ended' } & CallEndedEvent) + | ({ type: 'call.frame_recording_failed' } & CallFrameRecordingFailedEvent) + | ({ type: 'call.frame_recording_ready' } & CallFrameRecordingFrameReadyEvent) + | ({ type: 'call.frame_recording_started' } & CallFrameRecordingStartedEvent) + | ({ type: 'call.frame_recording_stopped' } & CallFrameRecordingStoppedEvent) + | ({ type: 'call.hls_broadcasting_failed' } & CallHLSBroadcastingFailedEvent) + | ({ + type: 'call.hls_broadcasting_started'; + } & CallHLSBroadcastingStartedEvent) + | ({ + type: 'call.hls_broadcasting_stopped'; + } & CallHLSBroadcastingStoppedEvent) + | ({ type: 'call.live_started' } & CallLiveStartedEvent) + | ({ type: 'call.member_added' } & CallMemberAddedEvent) + | ({ type: 'call.member_removed' } & CallMemberRemovedEvent) + | ({ type: 'call.member_updated' } & CallMemberUpdatedEvent) + | ({ + type: 'call.member_updated_permission'; + } & CallMemberUpdatedPermissionEvent) + | ({ type: 'call.missed' } & CallMissedEvent) + | ({ type: 'call.moderation_blur' } & CallModerationBlurEvent) + | ({ type: 'call.moderation_warning' } & CallModerationWarningEvent) + | ({ type: 'call.notification' } & CallNotificationEvent) + | ({ type: 'call.permission_request' } & PermissionRequestEvent) + | ({ type: 'call.permissions_updated' } & UpdatedCallPermissionsEvent) + | ({ type: 'call.reaction_new' } & CallReactionEvent) + | ({ type: 'call.recording_failed' } & CallRecordingFailedEvent) + | ({ type: 'call.recording_ready' } & CallRecordingReadyEvent) + | ({ type: 'call.recording_started' } & CallRecordingStartedEvent) + | ({ type: 'call.recording_stopped' } & CallRecordingStoppedEvent) + | ({ type: 'call.rejected' } & CallRejectedEvent) + | ({ type: 'call.ring' } & CallRingEvent) + | ({ type: 'call.rtmp_broadcast_failed' } & CallRtmpBroadcastFailedEvent) + | ({ type: 'call.rtmp_broadcast_started' } & CallRtmpBroadcastStartedEvent) + | ({ type: 'call.rtmp_broadcast_stopped' } & CallRtmpBroadcastStoppedEvent) + | ({ type: 'call.session_ended' } & CallSessionEndedEvent) + | ({ + type: 'call.session_participant_joined'; + } & CallSessionParticipantJoinedEvent) + | ({ + type: 'call.session_participant_left'; + } & CallSessionParticipantLeftEvent) + | ({ type: 'call.session_started' } & CallSessionStartedEvent) + | ({ type: 'call.stats_report_ready' } & CallStatsReportReadyEvent) + | ({ type: 'call.transcription_failed' } & CallTranscriptionFailedEvent) + | ({ type: 'call.transcription_ready' } & CallTranscriptionReadyEvent) + | ({ type: 'call.transcription_started' } & CallTranscriptionStartedEvent) + | ({ type: 'call.transcription_stopped' } & CallTranscriptionStoppedEvent) + | ({ type: 'call.unblocked_user' } & UnblockedUserEvent) + | ({ type: 'call.updated' } & CallUpdatedEvent) + | ({ type: 'call.user_feedback_submitted' } & CallUserFeedbackSubmittedEvent) + | ({ type: 'call.user_muted' } & CallUserMutedEvent) + | ({ type: 'campaign.completed' } & CampaignCompletedEvent) + | ({ type: 'campaign.started' } & CampaignStartedEvent) + | ({ type: 'channel.created' } & ChannelCreatedEvent) + | ({ type: 'channel.deleted' } & ChannelDeletedEvent) + | ({ type: 'channel.frozen' } & ChannelFrozenEvent) + | ({ type: 'channel.hidden' } & ChannelHiddenEvent) + | ({ type: 'channel.muted' } & ChannelMutedEvent) + | ({ type: 'channel.truncated' } & ChannelTruncatedEvent) + | ({ type: 'channel.unfrozen' } & ChannelUnFrozenEvent) + | ({ type: 'channel.unmuted' } & ChannelUnmutedEvent) + | ({ type: 'channel.updated' } & ChannelUpdatedEvent) + | ({ type: 'channel.visible' } & ChannelVisibleEvent) + | ({ type: 'custom' } & CustomVideoEvent) + | ({ type: 'export.bulk_image_moderation.error' } & AsyncExportErrorEvent) + | ({ + type: 'export.bulk_image_moderation.success'; + } & AsyncBulkImageModerationEvent) + | ({ type: 'export.channels.error' } & AsyncExportErrorEvent) + | ({ type: 'export.channels.success' } & AsyncExportChannelsEvent) + | ({ type: 'export.moderation_logs.error' } & AsyncExportErrorEvent) + | ({ + type: 'export.moderation_logs.success'; + } & AsyncExportModerationLogsEvent) + | ({ type: 'export.users.error' } & AsyncExportErrorEvent) + | ({ type: 'export.users.success' } & AsyncExportUsersEvent) + | ({ type: 'flag.updated' } & FlagUpdatedEvent) + | ({ type: 'member.added' } & MemberAddedEvent) + | ({ type: 'member.removed' } & MemberRemovedEvent) + | ({ type: 'member.updated' } & MemberUpdatedEvent) + | ({ type: 'message.deleted' } & MessageDeletedEvent) + | ({ type: 'message.flagged' } & MessageFlaggedEvent) + | ({ type: 'message.new' } & MessageNewEvent) + | ({ type: 'message.read' } & MessageReadEvent) + | ({ type: 'message.unblocked' } & MessageUnblockedEvent) + | ({ type: 'message.undeleted' } & MessageUndeletedEvent) + | ({ type: 'message.updated' } & MessageUpdatedEvent) + | ({ type: 'moderation.custom_action' } & ModerationCustomActionEvent) + | ({ type: 'moderation.flagged' } & ModerationFlaggedEvent) + | ({ type: 'moderation.mark_reviewed' } & ModerationMarkReviewedEvent) + | ({ type: 'moderation_check.completed' } & ModerationCheckCompletedEvent) + | ({ type: 'notification.mark_unread' } & NotificationMarkUnreadEvent) + | ({ type: 'notification.thread_message_new' } & MessageNewEvent) + | ({ type: 'reaction.deleted' } & ReactionDeletedEvent) + | ({ type: 'reaction.new' } & ReactionNewEvent) + | ({ type: 'reaction.updated' } & ReactionUpdatedEvent) + | ({ type: 'review_queue_item.new' } & ReviewQueueItemNewEvent) + | ({ type: 'review_queue_item.updated' } & ReviewQueueItemUpdatedEvent) + | ({ type: 'thread.updated' } & ThreadUpdatedEvent) + | ({ type: 'user.banned' } & UserBannedEvent) + | ({ type: 'user.deactivated' } & UserDeactivatedEvent) + | ({ type: 'user.deleted' } & UserDeletedEvent) + | ({ type: 'user.flagged' } & UserFlaggedEvent) + | ({ type: 'user.muted' } & UserMutedEvent) + | ({ type: 'user.reactivated' } & UserReactivatedEvent) + | ({ type: 'user.unbanned' } & UserUnbannedEvent) + | ({ type: 'user.unmuted' } & UserUnmutedEvent) + | ({ type: 'user.unread_message_reminder' } & UserUnreadReminderEvent) + | ({ type: 'user.updated' } & UserUpdatedEvent); export interface WrappedUnreadCountsResponse { duration: string; @@ -10184,6 +10332,8 @@ export interface WrappedUnreadCountsResponse { channels: UnreadCountsChannel[]; threads: UnreadCountsThread[]; + + total_unread_count_by_team: Record; } export interface XiaomiConfig { diff --git a/src/gen/moderation/ModerationApi.ts b/src/gen/moderation/ModerationApi.ts index 228bee4..4e1c4b9 100644 --- a/src/gen/moderation/ModerationApi.ts +++ b/src/gen/moderation/ModerationApi.ts @@ -1,5 +1,4 @@ -import { BaseApi } from '../../BaseApi'; -import { StreamResponse } from '../../types'; +import { ApiClient, StreamResponse } from '../../gen-imports'; import { BanRequest, BanResponse, @@ -37,10 +36,12 @@ import { UpsertModerationTemplateRequest, UpsertModerationTemplateResponse, } from '../models'; -import { decoders } from '../model-decoders'; +import { decoders } from '../model-decoders/decoders'; -export class ModerationApi extends BaseApi { - ban = async (request: BanRequest): Promise> => { +export class ModerationApi { + constructor(public readonly apiClient: ApiClient) {} + + async ban(request: BanRequest): Promise> { const body = { target_user_id: request?.target_user_id, banned_by_id: request?.banned_by_id, @@ -53,27 +54,23 @@ export class ModerationApi extends BaseApi { banned_by: request?.banned_by, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/ban', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/ban', undefined, undefined, body); decoders.BanResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - bulkImageModeration = async ( + async bulkImageModeration( request: BulkImageModerationRequest, - ): Promise> => { + ): Promise> { const body = { csv_file: request?.csv_file, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -86,11 +83,9 @@ export class ModerationApi extends BaseApi { decoders.BulkImageModerationResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - check = async ( - request: CheckRequest, - ): Promise> => { + async check(request: CheckRequest): Promise> { const body = { config_key: request?.config_key, entity_creator_id: request?.entity_creator_id, @@ -104,22 +99,18 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/check', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/check', undefined, undefined, body); decoders.CheckResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - upsertConfig = async ( + async upsertConfig( request: UpsertConfigRequest, - ): Promise> => { + ): Promise> { const body = { key: request?.key, async: request?.async, @@ -142,19 +133,19 @@ export class ModerationApi extends BaseApi { video_call_rule_config: request?.video_call_rule_config, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/config', undefined, undefined, body); decoders.UpsertConfigResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteConfig = async (request: { + async deleteConfig(request: { key: string; team?: string; - }): Promise> => { + }): Promise> { const queryParams = { team: request?.team, }; @@ -162,19 +153,19 @@ export class ModerationApi extends BaseApi { key: request?.key, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('DELETE', '/api/v2/moderation/config/{key}', pathParams, queryParams); decoders.DeleteModerationConfigResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getConfig = async (request: { + async getConfig(request: { key: string; team?: string; - }): Promise> => { + }): Promise> { const queryParams = { team: request?.team, }; @@ -182,21 +173,18 @@ export class ModerationApi extends BaseApi { key: request?.key, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/moderation/config/{key}', - pathParams, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/moderation/config/{key}', pathParams, queryParams); decoders.GetConfigResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryModerationConfigs = async ( + async queryModerationConfigs( request?: QueryModerationConfigsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -207,18 +195,18 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/configs', undefined, undefined, body); decoders.QueryModerationConfigsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - customCheck = async ( + async customCheck( request: CustomCheckRequest, - ): Promise> => { + ): Promise> { const body = { entity_id: request?.entity_id, entity_type: request?.entity_type, @@ -229,19 +217,19 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/custom_check', undefined, undefined, body); decoders.CustomCheckResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - v2DeleteTemplate = async (): Promise< + async v2DeleteTemplate(): Promise< StreamResponse - > => { - const response = await this.sendRequest< + > { + const response = await this.apiClient.sendRequest< StreamResponse >( 'DELETE', @@ -253,12 +241,12 @@ export class ModerationApi extends BaseApi { decoders.DeleteModerationTemplateResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - v2QueryTemplates = async (): Promise< + async v2QueryTemplates(): Promise< StreamResponse - > => { - const response = await this.sendRequest< + > { + const response = await this.apiClient.sendRequest< StreamResponse >( 'GET', @@ -270,17 +258,17 @@ export class ModerationApi extends BaseApi { decoders.QueryFeedModerationTemplatesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - v2UpsertTemplate = async ( + async v2UpsertTemplate( request: UpsertModerationTemplateRequest, - ): Promise> => { + ): Promise> { const body = { name: request?.name, config: request?.config, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -293,11 +281,9 @@ export class ModerationApi extends BaseApi { decoders.UpsertModerationTemplateResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - flag = async ( - request: FlagRequest, - ): Promise> => { + async flag(request: FlagRequest): Promise> { const body = { entity_id: request?.entity_id, entity_type: request?.entity_type, @@ -309,22 +295,18 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/flag', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/flag', undefined, undefined, body); decoders.FlagResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryModerationFlags = async ( + async queryModerationFlags( request?: QueryModerationFlagsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -333,18 +315,18 @@ export class ModerationApi extends BaseApi { filter: request?.filter, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/flags', undefined, undefined, body); decoders.QueryModerationFlagsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryModerationLogs = async ( + async queryModerationLogs( request?: QueryModerationLogsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -355,18 +337,16 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/logs', undefined, undefined, body); decoders.QueryModerationLogsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - mute = async ( - request: MuteRequest, - ): Promise> => { + async mute(request: MuteRequest): Promise> { const body = { target_ids: request?.target_ids, timeout: request?.timeout, @@ -374,22 +354,18 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/mute', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/mute', undefined, undefined, body); decoders.MuteResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryReviewQueue = async ( + async queryReviewQueue( request?: QueryReviewQueueRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, lock_count: request?.lock_count, @@ -404,34 +380,34 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/review_queue', undefined, undefined, body); decoders.QueryReviewQueueResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getReviewQueueItem = async (request: { + async getReviewQueueItem(request: { id: string; - }): Promise> => { + }): Promise> { const pathParams = { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/moderation/review_queue/{id}', pathParams, undefined); decoders.GetReviewQueueItemResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - submitAction = async ( + async submitAction( request: SubmitActionRequest, - ): Promise> => { + ): Promise> { const body = { action_type: request?.action_type, item_id: request?.item_id, @@ -447,22 +423,22 @@ export class ModerationApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/moderation/submit_action', undefined, undefined, body); decoders.SubmitActionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unban = async ( + async unban( request: UnbanRequest & { target_user_id: string; channel_cid?: string; created_by?: string; }, - ): Promise> => { + ): Promise> { const queryParams = { target_user_id: request?.target_user_id, channel_cid: request?.channel_cid, @@ -473,38 +449,30 @@ export class ModerationApi extends BaseApi { unbanned_by: request?.unbanned_by, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/unban', - undefined, - queryParams, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/unban', undefined, queryParams, body); decoders.UnbanResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unmute = async ( + async unmute( request: UnmuteRequest, - ): Promise> => { + ): Promise> { const body = { target_ids: request?.target_ids, user_id: request?.user_id, user: request?.user, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/moderation/unmute', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/moderation/unmute', undefined, undefined, body); decoders.UnmuteResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } } diff --git a/src/gen/video/CallApi.ts b/src/gen/video/CallApi.ts index 0a7960e..d1f3943 100644 --- a/src/gen/video/CallApi.ts +++ b/src/gen/video/CallApi.ts @@ -1,5 +1,4 @@ -import { VideoApi } from './VideoApi'; -import { StreamResponse } from '../../types'; +import { StreamResponse, VideoApi } from '../../gen-imports'; import { BlockUserRequest, BlockUserResponse, @@ -68,305 +67,295 @@ export class CallApi { public readonly id: string, ) {} - get = (request?: { + get(request?: { members_limit?: number; ring?: boolean; notify?: boolean; video?: boolean; - }): Promise> => { + }): Promise> { return this.videoApi.getCall({ id: this.id, type: this.type, ...request }); - }; + } - update = ( + update( request?: UpdateCallRequest, - ): Promise> => { + ): Promise> { return this.videoApi.updateCall({ id: this.id, type: this.type, ...request, }); - }; + } - getOrCreate = ( + getOrCreate( request?: GetOrCreateCallRequest, - ): Promise> => { + ): Promise> { return this.videoApi.getOrCreateCall({ id: this.id, type: this.type, ...request, }); - }; + } - blockUser = ( + blockUser( request: BlockUserRequest, - ): Promise> => { + ): Promise> { return this.videoApi.blockUser({ id: this.id, type: this.type, ...request, }); - }; + } - delete = ( + delete( request?: DeleteCallRequest, - ): Promise> => { + ): Promise> { return this.videoApi.deleteCall({ id: this.id, type: this.type, ...request, }); - }; + } - sendCallEvent = ( + sendCallEvent( request?: SendCallEventRequest, - ): Promise> => { + ): Promise> { return this.videoApi.sendCallEvent({ id: this.id, type: this.type, ...request, }); - }; + } - collectUserFeedback = ( + collectUserFeedback( request: CollectUserFeedbackRequest, - ): Promise> => { + ): Promise> { return this.videoApi.collectUserFeedback({ id: this.id, type: this.type, ...request, }); - }; + } - goLive = ( - request?: GoLiveRequest, - ): Promise> => { + goLive(request?: GoLiveRequest): Promise> { return this.videoApi.goLive({ id: this.id, type: this.type, ...request }); - }; + } - end = (): Promise> => { + end(): Promise> { return this.videoApi.endCall({ id: this.id, type: this.type }); - }; + } - updateCallMembers = ( + updateCallMembers( request?: UpdateCallMembersRequest, - ): Promise> => { + ): Promise> { return this.videoApi.updateCallMembers({ id: this.id, type: this.type, ...request, }); - }; + } - muteUsers = ( + muteUsers( request?: MuteUsersRequest, - ): Promise> => { + ): Promise> { return this.videoApi.muteUsers({ id: this.id, type: this.type, ...request, }); - }; + } - queryCallParticipants = ( + queryCallParticipants( request?: QueryCallParticipantsRequest & { limit?: number }, - ): Promise> => { + ): Promise> { return this.videoApi.queryCallParticipants({ id: this.id, type: this.type, ...request, }); - }; + } - videoPin = (request: PinRequest): Promise> => { + videoPin(request: PinRequest): Promise> { return this.videoApi.videoPin({ id: this.id, type: this.type, ...request }); - }; + } - listRecordings = (): Promise> => { + listRecordings(): Promise> { return this.videoApi.listRecordings({ id: this.id, type: this.type }); - }; + } - getCallReport = (request?: { + getCallReport(request?: { session_id?: string; - }): Promise> => { + }): Promise> { return this.videoApi.getCallReport({ id: this.id, type: this.type, ...request, }); - }; + } - startRTMPBroadcasts = ( + startRTMPBroadcasts( request: StartRTMPBroadcastsRequest, - ): Promise> => { + ): Promise> { return this.videoApi.startRTMPBroadcasts({ id: this.id, type: this.type, ...request, }); - }; + } - stopAllRTMPBroadcasts = (): Promise< + stopAllRTMPBroadcasts(): Promise< StreamResponse - > => { + > { return this.videoApi.stopAllRTMPBroadcasts({ id: this.id, type: this.type, }); - }; + } - stopRTMPBroadcast = ( + stopRTMPBroadcast( request: StopRTMPBroadcastsRequest & { name: string }, - ): Promise> => { + ): Promise> { return this.videoApi.stopRTMPBroadcast({ id: this.id, type: this.type, ...request, }); - }; + } - startHLSBroadcasting = (): Promise< + startHLSBroadcasting(): Promise< StreamResponse - > => { + > { return this.videoApi.startHLSBroadcasting({ id: this.id, type: this.type }); - }; + } - startClosedCaptions = ( + startClosedCaptions( request?: StartClosedCaptionsRequest, - ): Promise> => { + ): Promise> { return this.videoApi.startClosedCaptions({ id: this.id, type: this.type, ...request, }); - }; + } - startFrameRecording = ( + startFrameRecording( request?: StartFrameRecordingRequest, - ): Promise> => { + ): Promise> { return this.videoApi.startFrameRecording({ id: this.id, type: this.type, ...request, }); - }; + } - startRecording = ( + startRecording( request?: StartRecordingRequest, - ): Promise> => { + ): Promise> { return this.videoApi.startRecording({ id: this.id, type: this.type, ...request, }); - }; + } - startTranscription = ( + startTranscription( request?: StartTranscriptionRequest, - ): Promise> => { + ): Promise> { return this.videoApi.startTranscription({ id: this.id, type: this.type, ...request, }); - }; + } - stopHLSBroadcasting = (): Promise< - StreamResponse - > => { + stopHLSBroadcasting(): Promise> { return this.videoApi.stopHLSBroadcasting({ id: this.id, type: this.type }); - }; + } - stopClosedCaptions = ( + stopClosedCaptions( request?: StopClosedCaptionsRequest, - ): Promise> => { + ): Promise> { return this.videoApi.stopClosedCaptions({ id: this.id, type: this.type, ...request, }); - }; + } - stopFrameRecording = (): Promise< - StreamResponse - > => { + stopFrameRecording(): Promise> { return this.videoApi.stopFrameRecording({ id: this.id, type: this.type }); - }; + } - stopLive = ( + stopLive( request?: StopLiveRequest, - ): Promise> => { + ): Promise> { return this.videoApi.stopLive({ id: this.id, type: this.type, ...request }); - }; + } - stopRecording = (): Promise> => { + stopRecording(): Promise> { return this.videoApi.stopRecording({ id: this.id, type: this.type }); - }; + } - stopTranscription = ( + stopTranscription( request?: StopTranscriptionRequest, - ): Promise> => { + ): Promise> { return this.videoApi.stopTranscription({ id: this.id, type: this.type, ...request, }); - }; + } - listTranscriptions = (): Promise< - StreamResponse - > => { + listTranscriptions(): Promise> { return this.videoApi.listTranscriptions({ id: this.id, type: this.type }); - }; + } - unblockUser = ( + unblockUser( request: UnblockUserRequest, - ): Promise> => { + ): Promise> { return this.videoApi.unblockUser({ id: this.id, type: this.type, ...request, }); - }; + } - videoUnpin = ( - request: UnpinRequest, - ): Promise> => { + videoUnpin(request: UnpinRequest): Promise> { return this.videoApi.videoUnpin({ id: this.id, type: this.type, ...request, }); - }; + } - updateUserPermissions = ( + updateUserPermissions( request: UpdateUserPermissionsRequest, - ): Promise> => { + ): Promise> { return this.videoApi.updateUserPermissions({ id: this.id, type: this.type, ...request, }); - }; + } - deleteRecording = (request: { + deleteRecording(request: { session: string; filename: string; - }): Promise> => { + }): Promise> { return this.videoApi.deleteRecording({ id: this.id, type: this.type, ...request, }); - }; + } - deleteTranscription = (request: { + deleteTranscription(request: { session: string; filename: string; - }): Promise> => { + }): Promise> { return this.videoApi.deleteTranscription({ id: this.id, type: this.type, ...request, }); - }; + } } diff --git a/src/gen/video/VideoApi.ts b/src/gen/video/VideoApi.ts index 1beca82..c27e2a4 100644 --- a/src/gen/video/VideoApi.ts +++ b/src/gen/video/VideoApi.ts @@ -1,5 +1,4 @@ -import { BaseApi } from '../../BaseApi'; -import { StreamResponse } from '../../types'; +import { ApiClient, StreamResponse } from '../../gen-imports'; import { BlockUserRequest, BlockUserResponse, @@ -78,12 +77,14 @@ import { UpdateUserPermissionsRequest, UpdateUserPermissionsResponse, } from '../models'; -import { decoders } from '../model-decoders'; +import { decoders } from '../model-decoders/decoders'; -export class VideoApi extends BaseApi { - queryUserFeedback = async ( +export class VideoApi { + constructor(public readonly apiClient: ApiClient) {} + + async queryUserFeedback( request?: QueryUserFeedbackRequest & { full?: boolean }, - ): Promise> => { + ): Promise> { const queryParams = { full: request?.full, }; @@ -95,18 +96,18 @@ export class VideoApi extends BaseApi { filter_conditions: request?.filter_conditions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/call/feedback', undefined, queryParams, body); decoders.QueryUserFeedbackResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryCallMembers = async ( + async queryCallMembers( request: QueryCallMembersRequest, - ): Promise> => { + ): Promise> { const body = { id: request?.id, type: request?.type, @@ -117,18 +118,18 @@ export class VideoApi extends BaseApi { filter_conditions: request?.filter_conditions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/call/members', undefined, undefined, body); decoders.QueryCallMembersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryCallStats = async ( + async queryCallStats( request?: QueryCallStatsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -137,23 +138,23 @@ export class VideoApi extends BaseApi { filter_conditions: request?.filter_conditions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/call/stats', undefined, undefined, body); decoders.QueryCallStatsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getCall = async (request: { + async getCall(request: { type: string; id: string; members_limit?: number; ring?: boolean; notify?: boolean; video?: boolean; - }): Promise> => { + }): Promise> { const queryParams = { members_limit: request?.members_limit, ring: request?.ring, @@ -165,21 +166,18 @@ export class VideoApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest>( - 'GET', - '/api/v2/video/call/{type}/{id}', - pathParams, - queryParams, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/video/call/{type}/{id}', pathParams, queryParams); decoders.GetCallResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateCall = async ( + async updateCall( request: UpdateCallRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -190,22 +188,18 @@ export class VideoApi extends BaseApi { settings_override: request?.settings_override, }; - const response = await this.sendRequest>( - 'PATCH', - '/api/v2/video/call/{type}/{id}', - pathParams, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('PATCH', '/api/v2/video/call/{type}/{id}', pathParams, undefined, body); decoders.UpdateCallResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getOrCreateCall = async ( + async getOrCreateCall( request: GetOrCreateCallRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -218,18 +212,18 @@ export class VideoApi extends BaseApi { data: request?.data, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/call/{type}/{id}', pathParams, undefined, body); decoders.GetOrCreateCallResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - blockUser = async ( + async blockUser( request: BlockUserRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -238,7 +232,9 @@ export class VideoApi extends BaseApi { user_id: request?.user_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/block', pathParams, @@ -249,11 +245,11 @@ export class VideoApi extends BaseApi { decoders.BlockUserResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteCall = async ( + async deleteCall( request: DeleteCallRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -262,7 +258,9 @@ export class VideoApi extends BaseApi { hard: request?.hard, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/delete', pathParams, @@ -273,11 +271,11 @@ export class VideoApi extends BaseApi { decoders.DeleteCallResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - sendCallEvent = async ( + async sendCallEvent( request: SendCallEventRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -288,7 +286,7 @@ export class VideoApi extends BaseApi { user: request?.user, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -301,11 +299,11 @@ export class VideoApi extends BaseApi { decoders.SendCallEventResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - collectUserFeedback = async ( + async collectUserFeedback( request: CollectUserFeedbackRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -319,7 +317,7 @@ export class VideoApi extends BaseApi { custom: request?.custom, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -332,11 +330,11 @@ export class VideoApi extends BaseApi { decoders.CollectUserFeedbackResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - goLive = async ( + async goLive( request: GoLiveRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -350,7 +348,9 @@ export class VideoApi extends BaseApi { transcription_storage_name: request?.transcription_storage_name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/go_live', pathParams, @@ -361,18 +361,20 @@ export class VideoApi extends BaseApi { decoders.GoLiveResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - endCall = async (request: { + async endCall(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/mark_ended', pathParams, @@ -382,11 +384,11 @@ export class VideoApi extends BaseApi { decoders.EndCallResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateCallMembers = async ( + async updateCallMembers( request: UpdateCallMembersRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -396,7 +398,7 @@ export class VideoApi extends BaseApi { update_members: request?.update_members, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -409,11 +411,11 @@ export class VideoApi extends BaseApi { decoders.UpdateCallMembersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - muteUsers = async ( + async muteUsers( request: MuteUsersRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -429,7 +431,9 @@ export class VideoApi extends BaseApi { muted_by: request?.muted_by, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/mute_users', pathParams, @@ -440,15 +444,15 @@ export class VideoApi extends BaseApi { decoders.MuteUsersResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryCallParticipants = async ( + async queryCallParticipants( request: QueryCallParticipantsRequest & { id: string; type: string; limit?: number; }, - ): Promise> => { + ): Promise> { const queryParams = { limit: request?.limit, }; @@ -460,7 +464,7 @@ export class VideoApi extends BaseApi { filter_conditions: request?.filter_conditions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -473,11 +477,11 @@ export class VideoApi extends BaseApi { decoders.QueryCallParticipantsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - videoPin = async ( + async videoPin( request: PinRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -487,7 +491,9 @@ export class VideoApi extends BaseApi { user_id: request?.user_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/pin', pathParams, @@ -498,18 +504,18 @@ export class VideoApi extends BaseApi { decoders.PinResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listRecordings = async (request: { + async listRecordings(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'GET', @@ -521,13 +527,13 @@ export class VideoApi extends BaseApi { decoders.ListRecordingsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getCallReport = async (request: { + async getCallReport(request: { type: string; id: string; session_id?: string; - }): Promise> => { + }): Promise> { const queryParams = { session_id: request?.session_id, }; @@ -536,18 +542,18 @@ export class VideoApi extends BaseApi { id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams); decoders.GetCallReportResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startRTMPBroadcasts = async ( + async startRTMPBroadcasts( request: StartRTMPBroadcastsRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -556,7 +562,7 @@ export class VideoApi extends BaseApi { broadcasts: request?.broadcasts, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -569,18 +575,18 @@ export class VideoApi extends BaseApi { decoders.StartRTMPBroadcastsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopAllRTMPBroadcasts = async (request: { + async stopAllRTMPBroadcasts(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -592,15 +598,15 @@ export class VideoApi extends BaseApi { decoders.StopAllRTMPBroadcastsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopRTMPBroadcast = async ( + async stopRTMPBroadcast( request: StopRTMPBroadcastsRequest & { type: string; id: string; name: string; }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -608,7 +614,7 @@ export class VideoApi extends BaseApi { }; const body = {}; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -621,18 +627,18 @@ export class VideoApi extends BaseApi { decoders.StopRTMPBroadcastsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startHLSBroadcasting = async (request: { + async startHLSBroadcasting(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -644,11 +650,11 @@ export class VideoApi extends BaseApi { decoders.StartHLSBroadcastingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startClosedCaptions = async ( + async startClosedCaptions( request: StartClosedCaptionsRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -659,7 +665,7 @@ export class VideoApi extends BaseApi { language: request?.language, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -672,11 +678,11 @@ export class VideoApi extends BaseApi { decoders.StartClosedCaptionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startFrameRecording = async ( + async startFrameRecording( request: StartFrameRecordingRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -685,7 +691,7 @@ export class VideoApi extends BaseApi { recording_external_storage: request?.recording_external_storage, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -698,11 +704,11 @@ export class VideoApi extends BaseApi { decoders.StartFrameRecordingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startRecording = async ( + async startRecording( request: StartRecordingRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -711,7 +717,7 @@ export class VideoApi extends BaseApi { recording_external_storage: request?.recording_external_storage, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -724,11 +730,11 @@ export class VideoApi extends BaseApi { decoders.StartRecordingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - startTranscription = async ( + async startTranscription( request: StartTranscriptionRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -739,7 +745,7 @@ export class VideoApi extends BaseApi { transcription_external_storage: request?.transcription_external_storage, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -752,18 +758,18 @@ export class VideoApi extends BaseApi { decoders.StartTranscriptionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopHLSBroadcasting = async (request: { + async stopHLSBroadcasting(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -775,11 +781,11 @@ export class VideoApi extends BaseApi { decoders.StopHLSBroadcastingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopClosedCaptions = async ( + async stopClosedCaptions( request: StopClosedCaptionsRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -788,7 +794,7 @@ export class VideoApi extends BaseApi { stop_transcription: request?.stop_transcription, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -801,18 +807,18 @@ export class VideoApi extends BaseApi { decoders.StopClosedCaptionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopFrameRecording = async (request: { + async stopFrameRecording(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -824,11 +830,11 @@ export class VideoApi extends BaseApi { decoders.StopFrameRecordingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopLive = async ( + async stopLive( request: StopLiveRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -841,7 +847,9 @@ export class VideoApi extends BaseApi { continue_transcription: request?.continue_transcription, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/stop_live', pathParams, @@ -852,18 +860,18 @@ export class VideoApi extends BaseApi { decoders.StopLiveResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopRecording = async (request: { + async stopRecording(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -875,11 +883,11 @@ export class VideoApi extends BaseApi { decoders.StopRecordingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - stopTranscription = async ( + async stopTranscription( request: StopTranscriptionRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -888,7 +896,7 @@ export class VideoApi extends BaseApi { stop_closed_captions: request?.stop_closed_captions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -901,18 +909,18 @@ export class VideoApi extends BaseApi { decoders.StopTranscriptionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listTranscriptions = async (request: { + async listTranscriptions(request: { type: string; id: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'GET', @@ -924,11 +932,11 @@ export class VideoApi extends BaseApi { decoders.ListTranscriptionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - unblockUser = async ( + async unblockUser( request: UnblockUserRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -937,7 +945,7 @@ export class VideoApi extends BaseApi { user_id: request?.user_id, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -950,11 +958,11 @@ export class VideoApi extends BaseApi { decoders.UnblockUserResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - videoUnpin = async ( + async videoUnpin( request: UnpinRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -964,7 +972,9 @@ export class VideoApi extends BaseApi { user_id: request?.user_id, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest< + StreamResponse + >( 'POST', '/api/v2/video/call/{type}/{id}/unpin', pathParams, @@ -975,11 +985,11 @@ export class VideoApi extends BaseApi { decoders.UnpinResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateUserPermissions = async ( + async updateUserPermissions( request: UpdateUserPermissionsRequest & { type: string; id: string }, - ): Promise> => { + ): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -990,7 +1000,7 @@ export class VideoApi extends BaseApi { revoke_permissions: request?.revoke_permissions, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'POST', @@ -1003,14 +1013,14 @@ export class VideoApi extends BaseApi { decoders.UpdateUserPermissionsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteRecording = async (request: { + async deleteRecording(request: { type: string; id: string; session: string; filename: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -1018,7 +1028,7 @@ export class VideoApi extends BaseApi { filename: request?.filename, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'DELETE', @@ -1030,14 +1040,14 @@ export class VideoApi extends BaseApi { decoders.DeleteRecordingResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteTranscription = async (request: { + async deleteTranscription(request: { type: string; id: string; session: string; filename: string; - }): Promise> => { + }): Promise> { const pathParams = { type: request?.type, id: request?.id, @@ -1045,7 +1055,7 @@ export class VideoApi extends BaseApi { filename: request?.filename, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >( 'DELETE', @@ -1057,11 +1067,11 @@ export class VideoApi extends BaseApi { decoders.DeleteTranscriptionResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryCalls = async ( + async queryCalls( request?: QueryCallsRequest, - ): Promise> => { + ): Promise> { const body = { limit: request?.limit, next: request?.next, @@ -1070,32 +1080,28 @@ export class VideoApi extends BaseApi { filter_conditions: request?.filter_conditions, }; - const response = await this.sendRequest>( - 'POST', - '/api/v2/video/calls', - undefined, - undefined, - body, - ); + const response = await this.apiClient.sendRequest< + StreamResponse + >('POST', '/api/v2/video/calls', undefined, undefined, body); decoders.QueryCallsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - listCallTypes = async (): Promise> => { - const response = await this.sendRequest< + async listCallTypes(): Promise> { + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/video/calltypes', undefined, undefined); decoders.ListCallTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - createCallType = async ( + async createCallType( request: CreateCallTypeRequest, - ): Promise> => { + ): Promise> { const body = { name: request?.name, external_storage: request?.external_storage, @@ -1104,23 +1110,23 @@ export class VideoApi extends BaseApi { settings: request?.settings, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/calltypes', undefined, undefined, body); decoders.CreateCallTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - deleteCallType = async (request: { + async deleteCallType(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest>( + const response = await this.apiClient.sendRequest>( 'DELETE', '/api/v2/video/calltypes/{name}', pathParams, @@ -1130,27 +1136,27 @@ export class VideoApi extends BaseApi { decoders.Response?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getCallType = async (request: { + async getCallType(request: { name: string; - }): Promise> => { + }): Promise> { const pathParams = { name: request?.name, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('GET', '/api/v2/video/calltypes/{name}', pathParams, undefined); decoders.GetCallTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - updateCallType = async ( + async updateCallType( request: UpdateCallTypeRequest & { name: string }, - ): Promise> => { + ): Promise> { const pathParams = { name: request?.name, }; @@ -1161,43 +1167,40 @@ export class VideoApi extends BaseApi { settings: request?.settings, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('PUT', '/api/v2/video/calltypes/{name}', pathParams, undefined, body); decoders.UpdateCallTypeResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - getEdges = async (): Promise> => { - const response = await this.sendRequest>( - 'GET', - '/api/v2/video/edges', - undefined, - undefined, - ); + async getEdges(): Promise> { + const response = await this.apiClient.sendRequest< + StreamResponse + >('GET', '/api/v2/video/edges', undefined, undefined); decoders.GetEdgesResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } - queryAggregateCallStats = async ( + async queryAggregateCallStats( request?: QueryAggregateCallStatsRequest, - ): Promise> => { + ): Promise> { const body = { from: request?.from, to: request?.to, report_types: request?.report_types, }; - const response = await this.sendRequest< + const response = await this.apiClient.sendRequest< StreamResponse >('POST', '/api/v2/video/stats', undefined, undefined, body); decoders.QueryAggregateCallStatsResponse?.(response.body); return { ...response.body, metadata: response.metadata }; - }; + } }