@stream-io/node-sdk 0.7.48 → 0.7.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,9 @@
1
1
  import { ApiClient, StreamResponse } from '../../gen-imports';
2
- import { AppealRequest, AppealResponse, BanRequest, BanResponse, BulkImageModerationRequest, BulkImageModerationResponse, CheckRequest, CheckResponse, CheckS3AccessRequest, CheckS3AccessResponse, CustomCheckRequest, CustomCheckResponse, DeleteModerationConfigResponse, DeleteModerationRuleResponse, DeleteModerationTemplateResponse, FlagRequest, FlagResponse, GetAppealResponse, GetConfigResponse, GetModerationRuleResponse, GetReviewQueueItemResponse, MuteRequest, MuteResponse, QueryAppealsRequest, QueryAppealsResponse, QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryModerationFlagsRequest, QueryModerationFlagsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryModerationRulesRequest, QueryModerationRulesResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, SubmitActionRequest, SubmitActionResponse, UnbanRequest, UnbanResponse, UnmuteRequest, UnmuteResponse, UpsertConfigRequest, UpsertConfigResponse, UpsertModerationRuleRequest, UpsertModerationRuleResponse, UpsertModerationTemplateRequest, UpsertModerationTemplateResponse } from '../models';
2
+ import { AppealRequest, AppealResponse, BanRequest, BanResponse, BulkImageModerationRequest, BulkImageModerationResponse, CheckRequest, CheckResponse, CheckS3AccessRequest, CheckS3AccessResponse, CustomCheckRequest, CustomCheckResponse, DeleteModerationConfigResponse, DeleteModerationRuleResponse, DeleteModerationTemplateResponse, FlagRequest, FlagResponse, GetAppealResponse, GetConfigResponse, GetFlagCountRequest, GetFlagCountResponse, GetModerationRuleResponse, GetReviewQueueItemResponse, InsertActionLogRequest, InsertActionLogResponse, MuteRequest, MuteResponse, QueryAppealsRequest, QueryAppealsResponse, QueryFeedModerationTemplatesResponse, QueryModerationConfigsRequest, QueryModerationConfigsResponse, QueryModerationFlagsRequest, QueryModerationFlagsResponse, QueryModerationLogsRequest, QueryModerationLogsResponse, QueryModerationRulesRequest, QueryModerationRulesResponse, QueryReviewQueueRequest, QueryReviewQueueResponse, SubmitActionRequest, SubmitActionResponse, UnbanRequest, UnbanResponse, UnmuteRequest, UnmuteResponse, UpsertConfigRequest, UpsertConfigResponse, UpsertModerationRuleRequest, UpsertModerationRuleResponse, UpsertModerationTemplateRequest, UpsertModerationTemplateResponse } from '../models';
3
3
  export declare class ModerationApi {
4
4
  readonly apiClient: ApiClient;
5
5
  constructor(apiClient: ApiClient);
6
+ insertActionLog(request: InsertActionLogRequest): Promise<StreamResponse<InsertActionLogResponse>>;
6
7
  appeal(request: AppealRequest): Promise<StreamResponse<AppealResponse>>;
7
8
  getAppeal(request: {
8
9
  id: string;
@@ -27,6 +28,7 @@ export declare class ModerationApi {
27
28
  v2QueryTemplates(): Promise<StreamResponse<QueryFeedModerationTemplatesResponse>>;
28
29
  v2UpsertTemplate(request: UpsertModerationTemplateRequest): Promise<StreamResponse<UpsertModerationTemplateResponse>>;
29
30
  flag(request: FlagRequest): Promise<StreamResponse<FlagResponse>>;
31
+ getFlagCount(request: GetFlagCountRequest): Promise<StreamResponse<GetFlagCountResponse>>;
30
32
  queryModerationFlags(request?: QueryModerationFlagsRequest): Promise<StreamResponse<QueryModerationFlagsResponse>>;
31
33
  queryModerationLogs(request?: QueryModerationLogsRequest): Promise<StreamResponse<QueryModerationLogsResponse>>;
32
34
  upsertModerationRule(request: UpsertModerationRuleRequest): Promise<StreamResponse<UpsertModerationRuleResponse>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/node-sdk",
3
- "version": "0.7.48",
3
+ "version": "0.7.50",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -19,6 +19,8 @@ import {
19
19
  DeleteMessageResponse,
20
20
  DeleteReactionResponse,
21
21
  DeleteReminderResponse,
22
+ DeleteRetentionPolicyRequest,
23
+ DeleteRetentionPolicyResponse,
22
24
  DeleteSegmentTargetsRequest,
23
25
  EventResponse,
24
26
  ExportChannelsRequest,
@@ -31,6 +33,9 @@ import {
31
33
  GetMessageResponse,
32
34
  GetReactionsResponse,
33
35
  GetRepliesResponse,
36
+ GetRetentionPolicyResponse,
37
+ GetRetentionPolicyRunsRequest,
38
+ GetRetentionPolicyRunsResponse,
34
39
  GetSegmentResponse,
35
40
  GetThreadResponse,
36
41
  HideChannelRequest,
@@ -86,6 +91,8 @@ import {
86
91
  SendReactionRequest,
87
92
  SendReactionResponse,
88
93
  SendUserCustomEventRequest,
94
+ SetRetentionPolicyRequest,
95
+ SetRetentionPolicyResponse,
89
96
  ShowChannelRequest,
90
97
  ShowChannelResponse,
91
98
  SortParamRequest,
@@ -1973,6 +1980,92 @@ export class ChatApi {
1973
1980
  return { ...response.body, metadata: response.metadata };
1974
1981
  }
1975
1982
 
1983
+ async getRetentionPolicy(): Promise<
1984
+ StreamResponse<GetRetentionPolicyResponse>
1985
+ > {
1986
+ const response = await this.apiClient.sendRequest<
1987
+ StreamResponse<GetRetentionPolicyResponse>
1988
+ >('GET', '/api/v2/chat/retention_policy', undefined, undefined);
1989
+
1990
+ decoders.GetRetentionPolicyResponse?.(response.body);
1991
+
1992
+ return { ...response.body, metadata: response.metadata };
1993
+ }
1994
+
1995
+ async setRetentionPolicy(
1996
+ request: SetRetentionPolicyRequest,
1997
+ ): Promise<StreamResponse<SetRetentionPolicyResponse>> {
1998
+ const body = {
1999
+ max_age_hours: request?.max_age_hours,
2000
+ policy: request?.policy,
2001
+ };
2002
+
2003
+ const response = await this.apiClient.sendRequest<
2004
+ StreamResponse<SetRetentionPolicyResponse>
2005
+ >(
2006
+ 'POST',
2007
+ '/api/v2/chat/retention_policy',
2008
+ undefined,
2009
+ undefined,
2010
+ body,
2011
+ 'application/json',
2012
+ );
2013
+
2014
+ decoders.SetRetentionPolicyResponse?.(response.body);
2015
+
2016
+ return { ...response.body, metadata: response.metadata };
2017
+ }
2018
+
2019
+ async deleteRetentionPolicy(
2020
+ request: DeleteRetentionPolicyRequest,
2021
+ ): Promise<StreamResponse<DeleteRetentionPolicyResponse>> {
2022
+ const body = {
2023
+ policy: request?.policy,
2024
+ };
2025
+
2026
+ const response = await this.apiClient.sendRequest<
2027
+ StreamResponse<DeleteRetentionPolicyResponse>
2028
+ >(
2029
+ 'POST',
2030
+ '/api/v2/chat/retention_policy/delete',
2031
+ undefined,
2032
+ undefined,
2033
+ body,
2034
+ 'application/json',
2035
+ );
2036
+
2037
+ decoders.DeleteRetentionPolicyResponse?.(response.body);
2038
+
2039
+ return { ...response.body, metadata: response.metadata };
2040
+ }
2041
+
2042
+ async getRetentionPolicyRuns(
2043
+ request?: GetRetentionPolicyRunsRequest,
2044
+ ): Promise<StreamResponse<GetRetentionPolicyRunsResponse>> {
2045
+ const body = {
2046
+ limit: request?.limit,
2047
+ next: request?.next,
2048
+ prev: request?.prev,
2049
+ sort: request?.sort,
2050
+ filter_conditions: request?.filter_conditions,
2051
+ };
2052
+
2053
+ const response = await this.apiClient.sendRequest<
2054
+ StreamResponse<GetRetentionPolicyRunsResponse>
2055
+ >(
2056
+ 'POST',
2057
+ '/api/v2/chat/retention_policy/runs',
2058
+ undefined,
2059
+ undefined,
2060
+ body,
2061
+ 'application/json',
2062
+ );
2063
+
2064
+ decoders.GetRetentionPolicyRunsResponse?.(response.body);
2065
+
2066
+ return { ...response.body, metadata: response.metadata };
2067
+ }
2068
+
1976
2069
  async search(request?: {
1977
2070
  payload?: SearchPayload;
1978
2071
  }): Promise<StreamResponse<SearchResponse>> {
@@ -47,6 +47,7 @@ import {
47
47
  GetBlockListResponse,
48
48
  GetBlockedUsersResponse,
49
49
  GetCustomPermissionResponse,
50
+ GetExternalStorageResponse,
50
51
  GetImportResponse,
51
52
  GetImportV2TaskResponse,
52
53
  GetOGResponse,
@@ -100,12 +101,15 @@ import {
100
101
  UpdateUsersPartialRequest,
101
102
  UpdateUsersRequest,
102
103
  UpdateUsersResponse,
104
+ UpsertExternalStorageRequest,
105
+ UpsertExternalStorageResponse,
103
106
  UpsertPushPreferencesRequest,
104
107
  UpsertPushPreferencesResponse,
105
108
  UpsertPushProviderRequest,
106
109
  UpsertPushProviderResponse,
107
110
  UpsertPushTemplateRequest,
108
111
  UpsertPushTemplateResponse,
112
+ ValidateExternalStorageResponse,
109
113
  } from '../models';
110
114
  import { decoders } from '../model-decoders/decoders';
111
115
 
@@ -699,6 +703,71 @@ export class CommonApi {
699
703
  return { ...response.body, metadata: response.metadata };
700
704
  }
701
705
 
706
+ async deleteImporterExternalStorage(): Promise<
707
+ StreamResponse<DeleteExternalStorageResponse>
708
+ > {
709
+ const response = await this.apiClient.sendRequest<
710
+ StreamResponse<DeleteExternalStorageResponse>
711
+ >('DELETE', '/api/v2/imports/v2/external-storage', undefined, undefined);
712
+
713
+ decoders.DeleteExternalStorageResponse?.(response.body);
714
+
715
+ return { ...response.body, metadata: response.metadata };
716
+ }
717
+
718
+ async getImporterExternalStorage(): Promise<
719
+ StreamResponse<GetExternalStorageResponse>
720
+ > {
721
+ const response = await this.apiClient.sendRequest<
722
+ StreamResponse<GetExternalStorageResponse>
723
+ >('GET', '/api/v2/imports/v2/external-storage', undefined, undefined);
724
+
725
+ decoders.GetExternalStorageResponse?.(response.body);
726
+
727
+ return { ...response.body, metadata: response.metadata };
728
+ }
729
+
730
+ async upsertImporterExternalStorage(
731
+ request: UpsertExternalStorageRequest,
732
+ ): Promise<StreamResponse<UpsertExternalStorageResponse>> {
733
+ const body = {
734
+ type: request?.type,
735
+ aws_s3: request?.aws_s3,
736
+ };
737
+
738
+ const response = await this.apiClient.sendRequest<
739
+ StreamResponse<UpsertExternalStorageResponse>
740
+ >(
741
+ 'PUT',
742
+ '/api/v2/imports/v2/external-storage',
743
+ undefined,
744
+ undefined,
745
+ body,
746
+ 'application/json',
747
+ );
748
+
749
+ decoders.UpsertExternalStorageResponse?.(response.body);
750
+
751
+ return { ...response.body, metadata: response.metadata };
752
+ }
753
+
754
+ async validateImporterExternalStorage(): Promise<
755
+ StreamResponse<ValidateExternalStorageResponse>
756
+ > {
757
+ const response = await this.apiClient.sendRequest<
758
+ StreamResponse<ValidateExternalStorageResponse>
759
+ >(
760
+ 'POST',
761
+ '/api/v2/imports/v2/external-storage/validate',
762
+ undefined,
763
+ undefined,
764
+ );
765
+
766
+ decoders.ValidateExternalStorageResponse?.(response.body);
767
+
768
+ return { ...response.body, metadata: response.metadata };
769
+ }
770
+
702
771
  async deleteImportV2Task(request: {
703
772
  id: string;
704
773
  }): Promise<StreamResponse<DeleteImportV2TaskResponse>> {
@@ -1539,6 +1608,7 @@ export class CommonApi {
1539
1608
  };
1540
1609
  const body = {
1541
1610
  member_ids: request?.member_ids,
1611
+ as_admin: request?.as_admin,
1542
1612
  team_id: request?.team_id,
1543
1613
  };
1544
1614
 
@@ -129,6 +129,8 @@ import {
129
129
  UpdateBookmarkResponse,
130
130
  UpdateCollectionsRequest,
131
131
  UpdateCollectionsResponse,
132
+ UpdateCommentPartialRequest,
133
+ UpdateCommentPartialResponse,
132
134
  UpdateCommentRequest,
133
135
  UpdateCommentResponse,
134
136
  UpdateFeedGroupRequest,
@@ -1188,6 +1190,39 @@ export class FeedsApi {
1188
1190
  return { ...response.body, metadata: response.metadata };
1189
1191
  }
1190
1192
 
1193
+ async updateCommentPartial(
1194
+ request: UpdateCommentPartialRequest & { id: string },
1195
+ ): Promise<StreamResponse<UpdateCommentPartialResponse>> {
1196
+ const pathParams = {
1197
+ id: request?.id,
1198
+ };
1199
+ const body = {
1200
+ copy_custom_to_notification: request?.copy_custom_to_notification,
1201
+ handle_mention_notifications: request?.handle_mention_notifications,
1202
+ skip_enrich_url: request?.skip_enrich_url,
1203
+ skip_push: request?.skip_push,
1204
+ user_id: request?.user_id,
1205
+ unset: request?.unset,
1206
+ set: request?.set,
1207
+ user: request?.user,
1208
+ };
1209
+
1210
+ const response = await this.apiClient.sendRequest<
1211
+ StreamResponse<UpdateCommentPartialResponse>
1212
+ >(
1213
+ 'POST',
1214
+ '/api/v2/feeds/comments/{id}/partial',
1215
+ pathParams,
1216
+ undefined,
1217
+ body,
1218
+ 'application/json',
1219
+ );
1220
+
1221
+ decoders.UpdateCommentPartialResponse?.(response.body);
1222
+
1223
+ return { ...response.body, metadata: response.metadata };
1224
+ }
1225
+
1191
1226
  async addCommentReaction(
1192
1227
  request: AddCommentReactionRequest & { id: string },
1193
1228
  ): Promise<StreamResponse<AddCommentReactionResponse>> {
@@ -1986,6 +1986,15 @@ decoders.EgressRTMPResponse = (input?: Record<string, any>) => {
1986
1986
  return decode(typeMappings, input);
1987
1987
  };
1988
1988
 
1989
+ decoders.EnrichedCollection = (input?: Record<string, any>) => {
1990
+ const typeMappings: TypeMapping = {
1991
+ created_at: { type: 'DatetimeType', isSingle: true },
1992
+
1993
+ updated_at: { type: 'DatetimeType', isSingle: true },
1994
+ };
1995
+ return decode(typeMappings, input);
1996
+ };
1997
+
1989
1998
  decoders.EnrichedCollectionResponse = (input?: Record<string, any>) => {
1990
1999
  const typeMappings: TypeMapping = {
1991
2000
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -2247,6 +2256,15 @@ decoders.FeedViewResponse = (input?: Record<string, any>) => {
2247
2256
  return decode(typeMappings, input);
2248
2257
  };
2249
2258
 
2259
+ decoders.FeedsReactionGroup = (input?: Record<string, any>) => {
2260
+ const typeMappings: TypeMapping = {
2261
+ first_reaction_at: { type: 'DatetimeType', isSingle: true },
2262
+
2263
+ last_reaction_at: { type: 'DatetimeType', isSingle: true },
2264
+ };
2265
+ return decode(typeMappings, input);
2266
+ };
2267
+
2250
2268
  decoders.FeedsReactionGroupResponse = (input?: Record<string, any>) => {
2251
2269
  const typeMappings: TypeMapping = {
2252
2270
  first_reaction_at: { type: 'DatetimeType', isSingle: true },
@@ -2267,6 +2285,48 @@ decoders.FeedsReactionResponse = (input?: Record<string, any>) => {
2267
2285
  return decode(typeMappings, input);
2268
2286
  };
2269
2287
 
2288
+ decoders.FeedsV3ActivityResponse = (input?: Record<string, any>) => {
2289
+ const typeMappings: TypeMapping = {
2290
+ created_at: { type: 'DatetimeType', isSingle: true },
2291
+
2292
+ updated_at: { type: 'DatetimeType', isSingle: true },
2293
+
2294
+ comments: { type: 'FeedsV3CommentResponse', isSingle: false },
2295
+
2296
+ mentioned_users: { type: 'UserResponse', isSingle: false },
2297
+
2298
+ collections: { type: 'EnrichedCollection', isSingle: false },
2299
+
2300
+ reaction_groups: { type: 'FeedsReactionGroup', isSingle: false },
2301
+
2302
+ user: { type: 'UserResponse', isSingle: true },
2303
+
2304
+ deleted_at: { type: 'DatetimeType', isSingle: true },
2305
+
2306
+ edited_at: { type: 'DatetimeType', isSingle: true },
2307
+
2308
+ expires_at: { type: 'DatetimeType', isSingle: true },
2309
+ };
2310
+ return decode(typeMappings, input);
2311
+ };
2312
+
2313
+ decoders.FeedsV3CommentResponse = (input?: Record<string, any>) => {
2314
+ const typeMappings: TypeMapping = {
2315
+ created_at: { type: 'DatetimeType', isSingle: true },
2316
+
2317
+ updated_at: { type: 'DatetimeType', isSingle: true },
2318
+
2319
+ mentioned_users: { type: 'UserResponse', isSingle: false },
2320
+
2321
+ user: { type: 'UserResponse', isSingle: true },
2322
+
2323
+ deleted_at: { type: 'DatetimeType', isSingle: true },
2324
+
2325
+ edited_at: { type: 'DatetimeType', isSingle: true },
2326
+ };
2327
+ return decode(typeMappings, input);
2328
+ };
2329
+
2270
2330
  decoders.FlagDetailsResponse = (input?: Record<string, any>) => {
2271
2331
  const typeMappings: TypeMapping = {
2272
2332
  automod: { type: 'AutomodDetailsResponse', isSingle: true },
@@ -2530,6 +2590,15 @@ decoders.GetDraftResponse = (input?: Record<string, any>) => {
2530
2590
  return decode(typeMappings, input);
2531
2591
  };
2532
2592
 
2593
+ decoders.GetExternalStorageResponse = (input?: Record<string, any>) => {
2594
+ const typeMappings: TypeMapping = {
2595
+ created_at: { type: 'DatetimeType', isSingle: true },
2596
+
2597
+ updated_at: { type: 'DatetimeType', isSingle: true },
2598
+ };
2599
+ return decode(typeMappings, input);
2600
+ };
2601
+
2533
2602
  decoders.GetFeedGroupResponse = (input?: Record<string, any>) => {
2534
2603
  const typeMappings: TypeMapping = {
2535
2604
  feed_group: { type: 'FeedGroupResponse', isSingle: true },
@@ -2656,6 +2725,13 @@ decoders.GetRepliesResponse = (input?: Record<string, any>) => {
2656
2725
  return decode(typeMappings, input);
2657
2726
  };
2658
2727
 
2728
+ decoders.GetRetentionPolicyResponse = (input?: Record<string, any>) => {
2729
+ const typeMappings: TypeMapping = {
2730
+ policies: { type: 'RetentionPolicy', isSingle: false },
2731
+ };
2732
+ return decode(typeMappings, input);
2733
+ };
2734
+
2659
2735
  decoders.GetReviewQueueItemResponse = (input?: Record<string, any>) => {
2660
2736
  const typeMappings: TypeMapping = {
2661
2737
  item: { type: 'ReviewQueueItemResponse', isSingle: true },
@@ -3939,6 +4015,17 @@ decoders.ReactionGroupResponse = (input?: Record<string, any>) => {
3939
4015
  first_reaction_at: { type: 'DatetimeType', isSingle: true },
3940
4016
 
3941
4017
  last_reaction_at: { type: 'DatetimeType', isSingle: true },
4018
+
4019
+ latest_reactions_by: { type: 'ReactionGroupUserResponse', isSingle: false },
4020
+ };
4021
+ return decode(typeMappings, input);
4022
+ };
4023
+
4024
+ decoders.ReactionGroupUserResponse = (input?: Record<string, any>) => {
4025
+ const typeMappings: TypeMapping = {
4026
+ created_at: { type: 'DatetimeType', isSingle: true },
4027
+
4028
+ user: { type: 'UserResponse', isSingle: true },
3942
4029
  };
3943
4030
  return decode(typeMappings, input);
3944
4031
  };
@@ -4129,6 +4216,13 @@ decoders.RestoreFeedGroupResponse = (input?: Record<string, any>) => {
4129
4216
  return decode(typeMappings, input);
4130
4217
  };
4131
4218
 
4219
+ decoders.RetentionPolicy = (input?: Record<string, any>) => {
4220
+ const typeMappings: TypeMapping = {
4221
+ enabled_at: { type: 'DatetimeType', isSingle: true },
4222
+ };
4223
+ return decode(typeMappings, input);
4224
+ };
4225
+
4132
4226
  decoders.ReviewQueueItemNewEvent = (input?: Record<string, any>) => {
4133
4227
  const typeMappings: TypeMapping = {
4134
4228
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -4158,6 +4252,8 @@ decoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {
4158
4252
 
4159
4253
  completed_at: { type: 'DatetimeType', isSingle: true },
4160
4254
 
4255
+ escalated_at: { type: 'DatetimeType', isSingle: true },
4256
+
4161
4257
  reviewed_at: { type: 'DatetimeType', isSingle: true },
4162
4258
 
4163
4259
  appeal: { type: 'AppealItemResponse', isSingle: true },
@@ -4170,9 +4266,9 @@ decoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {
4170
4266
 
4171
4267
  feeds_v2_reaction: { type: 'Reaction', isSingle: true },
4172
4268
 
4173
- feeds_v3_activity: { type: 'ActivityResponse', isSingle: true },
4269
+ feeds_v3_activity: { type: 'FeedsV3ActivityResponse', isSingle: true },
4174
4270
 
4175
- feeds_v3_comment: { type: 'CommentResponse', isSingle: true },
4271
+ feeds_v3_comment: { type: 'FeedsV3CommentResponse', isSingle: true },
4176
4272
 
4177
4273
  message: { type: 'MessageResponse', isSingle: true },
4178
4274
 
@@ -4334,6 +4430,13 @@ decoders.SessionWarningResponse = (input?: Record<string, any>) => {
4334
4430
  return decode(typeMappings, input);
4335
4431
  };
4336
4432
 
4433
+ decoders.SetRetentionPolicyResponse = (input?: Record<string, any>) => {
4434
+ const typeMappings: TypeMapping = {
4435
+ policy: { type: 'RetentionPolicy', isSingle: true },
4436
+ };
4437
+ return decode(typeMappings, input);
4438
+ };
4439
+
4337
4440
  decoders.SharedLocationResponse = (input?: Record<string, any>) => {
4338
4441
  const typeMappings: TypeMapping = {
4339
4442
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -4702,6 +4805,13 @@ decoders.UpdateCommandResponse = (input?: Record<string, any>) => {
4702
4805
  return decode(typeMappings, input);
4703
4806
  };
4704
4807
 
4808
+ decoders.UpdateCommentPartialResponse = (input?: Record<string, any>) => {
4809
+ const typeMappings: TypeMapping = {
4810
+ comment: { type: 'CommentResponse', isSingle: true },
4811
+ };
4812
+ return decode(typeMappings, input);
4813
+ };
4814
+
4705
4815
  decoders.UpdateCommentResponse = (input?: Record<string, any>) => {
4706
4816
  const typeMappings: TypeMapping = {
4707
4817
  comment: { type: 'CommentResponse', isSingle: true },