Skip to content

Commit 629310b

Browse files
committed
Update to latest API spec
1 parent 3ddd3a0 commit 629310b

File tree

4 files changed

+244
-33
lines changed

4 files changed

+244
-33
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"url": "https://github.com/GetStream/stream-node.git"
2020
},
2121
"scripts": {
22+
"prepare": "husky install",
2223
"prepublish": "yarn build",
2324
"test": "vitest",
2425
"test:bun": "bun run vitest",

src/gen-feeds/feeds/FeedsApi.ts

Lines changed: 65 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ import {
5757
QueryActivitiesResponse,
5858
QueryActivityReactionsRequest,
5959
QueryActivityReactionsResponse,
60+
QueryBookmarkFoldersRequest,
61+
QueryBookmarkFoldersResponse,
62+
QueryBookmarksRequest,
63+
QueryBookmarksResponse,
6064
QueryCommentReactionsRequest,
6165
QueryCommentReactionsResponse,
6266
QueryCommentsRequest,
@@ -179,8 +183,6 @@ export class FeedsApi {
179183
request?: QueryActivitiesRequest,
180184
): Promise<StreamResponse<QueryActivitiesResponse>> {
181185
const body = {
182-
comment_limit: request?.comment_limit,
183-
comment_sort: request?.comment_sort,
184186
limit: request?.limit,
185187
next: request?.next,
186188
prev: request?.prev,
@@ -303,7 +305,11 @@ export class FeedsApi {
303305

304306
async deleteBookmark(request: {
305307
activity_id: string;
308+
folder_id?: string;
306309
}): Promise<StreamResponse<DeleteBookmarkResponse>> {
310+
const queryParams = {
311+
folder_id: request?.folder_id,
312+
};
307313
const pathParams = {
308314
activity_id: request?.activity_id,
309315
};
@@ -314,7 +320,7 @@ export class FeedsApi {
314320
'DELETE',
315321
'/api/v3/feeds/activities/{activity_id}/bookmarks',
316322
pathParams,
317-
undefined,
323+
queryParams,
318324
);
319325

320326
decoders.DeleteBookmarkResponse?.(response.body);
@@ -329,9 +335,12 @@ export class FeedsApi {
329335
activity_id: request?.activity_id,
330336
};
331337
const body = {
332-
feed_id: request?.feed_id,
333-
feed_type: request?.feed_type,
338+
folder_id: request?.folder_id,
339+
new_folder_id: request?.new_folder_id,
340+
user_id: request?.user_id,
334341
custom: request?.custom,
342+
new_folder: request?.new_folder,
343+
user: request?.user,
335344
};
336345

337346
const response = await this.apiClient.sendRequest<
@@ -357,8 +366,10 @@ export class FeedsApi {
357366
};
358367
const body = {
359368
folder_id: request?.folder_id,
369+
user_id: request?.user_id,
360370
custom: request?.custom,
361371
new_folder: request?.new_folder,
372+
user: request?.user,
362373
};
363374

364375
const response = await this.apiClient.sendRequest<
@@ -513,6 +524,52 @@ export class FeedsApi {
513524
return { ...response.body, metadata: response.metadata };
514525
}
515526

527+
async queryBookmarkFolders(
528+
request?: QueryBookmarkFoldersRequest,
529+
): Promise<StreamResponse<QueryBookmarkFoldersResponse>> {
530+
const body = {
531+
limit: request?.limit,
532+
next: request?.next,
533+
prev: request?.prev,
534+
sort: request?.sort,
535+
filter: request?.filter,
536+
};
537+
538+
const response = await this.apiClient.sendRequest<
539+
StreamResponse<QueryBookmarkFoldersResponse>
540+
>(
541+
'POST',
542+
'/api/v3/feeds/bookmark_folders/query',
543+
undefined,
544+
undefined,
545+
body,
546+
);
547+
548+
decoders.QueryBookmarkFoldersResponse?.(response.body);
549+
550+
return { ...response.body, metadata: response.metadata };
551+
}
552+
553+
async queryBookmarks(
554+
request?: QueryBookmarksRequest,
555+
): Promise<StreamResponse<QueryBookmarksResponse>> {
556+
const body = {
557+
limit: request?.limit,
558+
next: request?.next,
559+
prev: request?.prev,
560+
sort: request?.sort,
561+
filter: request?.filter,
562+
};
563+
564+
const response = await this.apiClient.sendRequest<
565+
StreamResponse<QueryBookmarksResponse>
566+
>('POST', '/api/v3/feeds/bookmarks/query', undefined, undefined, body);
567+
568+
decoders.QueryBookmarksResponse?.(response.body);
569+
570+
return { ...response.body, metadata: response.metadata };
571+
}
572+
516573
async getComments(request: {
517574
object_id: string;
518575
object_type: string;
@@ -1254,10 +1311,12 @@ export class FeedsApi {
12541311
request?: QueryFeedsRequest,
12551312
): Promise<StreamResponse<QueryFeedsResponse>> {
12561313
const body = {
1314+
limit: request?.limit,
1315+
next: request?.next,
1316+
prev: request?.prev,
12571317
watch: request?.watch,
12581318
sort: request?.sort,
12591319
filter: request?.filter,
1260-
pagination: request?.pagination,
12611320
};
12621321

12631322
const response = await this.apiClient.sendRequest<

src/gen-feeds/model-decoders/decoders.ts

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,24 @@ decoders.ActivityPinResponse = (input?: Record<string, any>) => {
7676

7777
updated_at: { type: 'DatetimeType', isSingle: true },
7878

79+
activity: { type: 'ActivityResponse', isSingle: true },
80+
7981
user: { type: 'UserResponse', isSingle: true },
8082
};
8183
return decode(typeMappings, input);
8284
};
8385

86+
decoders.ActivityPinnedEvent = (input?: Record<string, any>) => {
87+
const typeMappings: TypeMapping = {
88+
created_at: { type: 'DatetimeType', isSingle: true },
89+
90+
pinned_activity: { type: 'PinActivityResponse', isSingle: true },
91+
92+
received_at: { type: 'DatetimeType', isSingle: true },
93+
};
94+
return decode(typeMappings, input);
95+
};
96+
8497
decoders.ActivityReactionAddedEvent = (input?: Record<string, any>) => {
8598
const typeMappings: TypeMapping = {
8699
created_at: { type: 'DatetimeType', isSingle: true },
@@ -160,6 +173,17 @@ decoders.ActivitySelectorConfig = (input?: Record<string, any>) => {
160173
return decode(typeMappings, input);
161174
};
162175

176+
decoders.ActivityUnpinnedEvent = (input?: Record<string, any>) => {
177+
const typeMappings: TypeMapping = {
178+
created_at: { type: 'DatetimeType', isSingle: true },
179+
180+
pinned_activity: { type: 'PinActivityResponse', isSingle: true },
181+
182+
received_at: { type: 'DatetimeType', isSingle: true },
183+
};
184+
return decode(typeMappings, input);
185+
};
186+
163187
decoders.ActivityUpdatedEvent = (input?: Record<string, any>) => {
164188
const typeMappings: TypeMapping = {
165189
created_at: { type: 'DatetimeType', isSingle: true },
@@ -265,6 +289,8 @@ decoders.BookmarkAddedEvent = (input?: Record<string, any>) => {
265289
const typeMappings: TypeMapping = {
266290
created_at: { type: 'DatetimeType', isSingle: true },
267291

292+
bookmark: { type: 'BookmarkResponse', isSingle: true },
293+
268294
received_at: { type: 'DatetimeType', isSingle: true },
269295
};
270296
return decode(typeMappings, input);
@@ -296,9 +322,11 @@ decoders.BookmarkResponse = (input?: Record<string, any>) => {
296322

297323
updated_at: { type: 'DatetimeType', isSingle: true },
298324

299-
folder: { type: 'BookmarkFolderResponse', isSingle: true },
325+
activity: { type: 'ActivityResponse', isSingle: true },
300326

301327
user: { type: 'UserResponse', isSingle: true },
328+
329+
folder: { type: 'BookmarkFolderResponse', isSingle: true },
302330
};
303331
return decode(typeMappings, input);
304332
};
@@ -729,6 +757,8 @@ decoders.NotificationStatusResponse = (input?: Record<string, any>) => {
729757
decoders.PinActivityResponse = (input?: Record<string, any>) => {
730758
const typeMappings: TypeMapping = {
731759
created_at: { type: 'DatetimeType', isSingle: true },
760+
761+
activity: { type: 'ActivityResponse', isSingle: true },
732762
};
733763
return decode(typeMappings, input);
734764
};
@@ -801,6 +831,20 @@ decoders.QueryActivityReactionsResponse = (input?: Record<string, any>) => {
801831
return decode(typeMappings, input);
802832
};
803833

834+
decoders.QueryBookmarkFoldersResponse = (input?: Record<string, any>) => {
835+
const typeMappings: TypeMapping = {
836+
bookmark_folders: { type: 'BookmarkFolderResponse', isSingle: false },
837+
};
838+
return decode(typeMappings, input);
839+
};
840+
841+
decoders.QueryBookmarksResponse = (input?: Record<string, any>) => {
842+
const typeMappings: TypeMapping = {
843+
bookmarks: { type: 'BookmarkResponse', isSingle: false },
844+
};
845+
return decode(typeMappings, input);
846+
};
847+
804848
decoders.QueryCommentReactionsResponse = (input?: Record<string, any>) => {
805849
const typeMappings: TypeMapping = {
806850
reactions: { type: 'FeedsReactionResponse', isSingle: false },
@@ -815,6 +859,20 @@ decoders.QueryCommentsResponse = (input?: Record<string, any>) => {
815859
return decode(typeMappings, input);
816860
};
817861

862+
decoders.QueryFeedMembersResponse = (input?: Record<string, any>) => {
863+
const typeMappings: TypeMapping = {
864+
members: { type: 'FeedMemberResponse', isSingle: false },
865+
};
866+
return decode(typeMappings, input);
867+
};
868+
869+
decoders.QueryFeedsResponse = (input?: Record<string, any>) => {
870+
const typeMappings: TypeMapping = {
871+
feeds: { type: 'FeedResponse', isSingle: false },
872+
};
873+
return decode(typeMappings, input);
874+
};
875+
818876
decoders.QueryFollowsResponse = (input?: Record<string, any>) => {
819877
const typeMappings: TypeMapping = {
820878
follows: { type: 'FollowResponse', isSingle: false },
@@ -880,6 +938,13 @@ decoders.ThreadedCommentResponse = (input?: Record<string, any>) => {
880938
return decode(typeMappings, input);
881939
};
882940

941+
decoders.UnpinActivityResponse = (input?: Record<string, any>) => {
942+
const typeMappings: TypeMapping = {
943+
activity: { type: 'ActivityResponse', isSingle: true },
944+
};
945+
return decode(typeMappings, input);
946+
};
947+
883948
decoders.UpdateActivityPartialResponse = (input?: Record<string, any>) => {
884949
const typeMappings: TypeMapping = {
885950
activity: { type: 'ActivityResponse', isSingle: true },

0 commit comments

Comments
 (0)