@stream-io/feeds-client 0.1.11 → 0.2.0
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.
- package/CHANGELOG.md +17 -0
- package/dist/index-react-bindings.browser.cjs +172 -124
- package/dist/index-react-bindings.browser.cjs.map +1 -1
- package/dist/index-react-bindings.browser.js +172 -124
- package/dist/index-react-bindings.browser.js.map +1 -1
- package/dist/index-react-bindings.node.cjs +172 -124
- package/dist/index-react-bindings.node.cjs.map +1 -1
- package/dist/index-react-bindings.node.js +172 -124
- package/dist/index-react-bindings.node.js.map +1 -1
- package/dist/index.browser.cjs +170 -122
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +170 -122
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.node.cjs +170 -122
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +170 -122
- package/dist/index.node.js.map +1 -1
- package/dist/src/feed/event-handlers/index.d.ts +1 -0
- package/dist/src/feed/event-handlers/watch/handle-watch-started.d.ts +2 -0
- package/dist/src/feed/event-handlers/watch/handle-watch-stopped.d.ts +2 -0
- package/dist/src/feed/event-handlers/watch/index.d.ts +2 -0
- package/dist/src/feed/feed.d.ts +4 -12
- package/dist/src/feeds-client/event-handlers/index.d.ts +1 -0
- package/dist/src/feeds-client/event-handlers/user/handle-user-updated.d.ts +3 -0
- package/dist/src/{feeds-client.d.ts → feeds-client/feeds-client.d.ts} +16 -16
- package/dist/src/feeds-client/index.d.ts +2 -0
- package/dist/src/gen/feeds/FeedsApi.d.ts +27 -23
- package/dist/src/gen/models/index.d.ts +163 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -1
- package/package.json +2 -2
- package/src/feed/event-handlers/follow/handle-follow-created.test.ts +16 -12
- package/src/feed/event-handlers/follow/handle-follow-created.ts +4 -7
- package/src/feed/event-handlers/follow/handle-follow-deleted.test.ts +19 -15
- package/src/feed/event-handlers/follow/handle-follow-deleted.ts +6 -6
- package/src/feed/event-handlers/follow/handle-follow-updated.ts +7 -10
- package/src/feed/event-handlers/index.ts +2 -1
- package/src/feed/event-handlers/watch/handle-watch-started.ts +5 -0
- package/src/feed/event-handlers/watch/handle-watch-stopped.ts +5 -0
- package/src/feed/event-handlers/watch/index.ts +2 -0
- package/src/feed/feed.ts +15 -33
- package/src/feeds-client/event-handlers/index.ts +1 -0
- package/src/feeds-client/event-handlers/user/handle-user-updated.test.ts +53 -0
- package/src/feeds-client/event-handlers/user/handle-user-updated.ts +28 -0
- package/src/{feeds-client.ts → feeds-client/feeds-client.ts} +48 -39
- package/src/feeds-client/index.ts +2 -0
- package/src/gen/feeds/FeedsApi.ts +164 -138
- package/src/gen/model-decoders/decoders.ts +15 -0
- package/src/gen/models/index.ts +278 -29
- package/src/test-utils/response-generators.ts +10 -11
- package/src/utils/state-update-queue.ts +1 -1
|
@@ -1,46 +1,49 @@
|
|
|
1
|
-
import { FeedsApi } from '
|
|
1
|
+
import { FeedsApi } from '../gen/feeds/FeedsApi';
|
|
2
2
|
import {
|
|
3
3
|
ActivityResponse,
|
|
4
4
|
FeedResponse,
|
|
5
5
|
FileUploadRequest,
|
|
6
6
|
FollowBatchRequest,
|
|
7
|
+
FollowRequest,
|
|
7
8
|
ImageUploadRequest,
|
|
8
9
|
OwnUser,
|
|
9
10
|
PollResponse,
|
|
10
11
|
PollVotesResponse,
|
|
11
12
|
QueryFeedsRequest,
|
|
12
13
|
QueryPollVotesRequest,
|
|
13
|
-
SingleFollowRequest,
|
|
14
14
|
UpdateFollowRequest,
|
|
15
15
|
UserRequest,
|
|
16
16
|
WSEvent,
|
|
17
|
-
} from '
|
|
18
|
-
import { FeedsEvent, StreamFile, TokenOrProvider } from '
|
|
19
|
-
import { StateStore } from '
|
|
20
|
-
import { TokenManager } from '
|
|
21
|
-
import { ConnectionIdManager } from '
|
|
22
|
-
import { StableWSConnection } from '
|
|
23
|
-
import { EventDispatcher } from '
|
|
24
|
-
import { ApiClient } from '
|
|
17
|
+
} from '../gen/models';
|
|
18
|
+
import { FeedsEvent, StreamFile, TokenOrProvider } from '../types';
|
|
19
|
+
import { StateStore } from '../common/StateStore';
|
|
20
|
+
import { TokenManager } from '../common/TokenManager';
|
|
21
|
+
import { ConnectionIdManager } from '../common/ConnectionIdManager';
|
|
22
|
+
import { StableWSConnection } from '../common/real-time/StableWSConnection';
|
|
23
|
+
import { EventDispatcher } from '../common/EventDispatcher';
|
|
24
|
+
import { ApiClient } from '../common/ApiClient';
|
|
25
25
|
import {
|
|
26
26
|
addConnectionEventListeners,
|
|
27
27
|
removeConnectionEventListeners,
|
|
28
28
|
streamDevToken,
|
|
29
|
-
} from '
|
|
30
|
-
import { decodeWSEvent } from '
|
|
29
|
+
} from '../common/utils';
|
|
30
|
+
import { decodeWSEvent } from '../gen/model-decoders/event-decoder-mapping';
|
|
31
31
|
import {
|
|
32
32
|
FeedsClientOptions,
|
|
33
33
|
NetworkChangedEvent,
|
|
34
34
|
StreamResponse,
|
|
35
|
-
} from '
|
|
36
|
-
import { ModerationClient } from '
|
|
37
|
-
import { StreamPoll } from '
|
|
35
|
+
} from '../common/types';
|
|
36
|
+
import { ModerationClient } from '../moderation-client';
|
|
37
|
+
import { StreamPoll } from '../common/Poll';
|
|
38
38
|
import {
|
|
39
39
|
Feed,
|
|
40
40
|
handleFollowCreated,
|
|
41
41
|
handleFollowDeleted,
|
|
42
42
|
handleFollowUpdated,
|
|
43
|
-
|
|
43
|
+
handleWatchStarted,
|
|
44
|
+
handleWatchStopped,
|
|
45
|
+
} from '../feed';
|
|
46
|
+
import { handleUserUpdated } from './event-handlers';
|
|
44
47
|
|
|
45
48
|
export type FeedsClientState = {
|
|
46
49
|
connected_user: OwnUser | undefined;
|
|
@@ -107,7 +110,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
107
110
|
}
|
|
108
111
|
} else {
|
|
109
112
|
for (const activeFeed of Object.values(this.activeFeeds)) {
|
|
110
|
-
|
|
113
|
+
handleWatchStopped.bind(activeFeed)();
|
|
111
114
|
}
|
|
112
115
|
}
|
|
113
116
|
break;
|
|
@@ -194,6 +197,10 @@ export class FeedsClient extends FeedsApi {
|
|
|
194
197
|
|
|
195
198
|
break;
|
|
196
199
|
}
|
|
200
|
+
case 'user.updated': {
|
|
201
|
+
handleUserUpdated.call(this, event);
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
197
204
|
default: {
|
|
198
205
|
feed?.handleWSEvent(event as unknown as WSEvent);
|
|
199
206
|
}
|
|
@@ -344,7 +351,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
344
351
|
};
|
|
345
352
|
|
|
346
353
|
async queryFeeds(request?: QueryFeedsRequest) {
|
|
347
|
-
const response = await this.
|
|
354
|
+
const response = await this._queryFeeds(request);
|
|
348
355
|
|
|
349
356
|
const feeds = response.feeds.map((f) =>
|
|
350
357
|
this.getOrCreateActiveFeed(f.group_id, f.id, f, request?.watch),
|
|
@@ -372,30 +379,32 @@ export class FeedsClient extends FeedsApi {
|
|
|
372
379
|
async updateFollow(request: UpdateFollowRequest) {
|
|
373
380
|
const response = await super.updateFollow(request);
|
|
374
381
|
|
|
375
|
-
[
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
382
|
+
[
|
|
383
|
+
response.follow.source_feed.feed,
|
|
384
|
+
response.follow.target_feed.feed,
|
|
385
|
+
].forEach((fid) => {
|
|
386
|
+
const feed = this.activeFeeds[fid];
|
|
387
|
+
if (feed) {
|
|
388
|
+
handleFollowUpdated.bind(feed)(response);
|
|
389
|
+
}
|
|
390
|
+
});
|
|
383
391
|
|
|
384
392
|
return response;
|
|
385
393
|
}
|
|
386
394
|
|
|
387
395
|
// For follow API endpoints we update the state after HTTP response to allow queryFeeds with watch: false
|
|
388
|
-
async follow(request:
|
|
396
|
+
async follow(request: FollowRequest) {
|
|
389
397
|
const response = await super.follow(request);
|
|
390
398
|
|
|
391
|
-
[
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
+
[
|
|
400
|
+
response.follow.source_feed.feed,
|
|
401
|
+
response.follow.target_feed.feed,
|
|
402
|
+
].forEach((fid) => {
|
|
403
|
+
const feed = this.activeFeeds[fid];
|
|
404
|
+
if (feed) {
|
|
405
|
+
handleFollowCreated.bind(feed)(response);
|
|
406
|
+
}
|
|
407
|
+
});
|
|
399
408
|
|
|
400
409
|
return response;
|
|
401
410
|
}
|
|
@@ -404,7 +413,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
404
413
|
const response = await super.followBatch(request);
|
|
405
414
|
|
|
406
415
|
response.follows.forEach((follow) => {
|
|
407
|
-
const feed = this.activeFeeds[follow.source_feed.
|
|
416
|
+
const feed = this.activeFeeds[follow.source_feed.feed];
|
|
408
417
|
if (feed) {
|
|
409
418
|
handleFollowCreated.bind(feed)({ follow });
|
|
410
419
|
}
|
|
@@ -413,7 +422,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
413
422
|
return response;
|
|
414
423
|
}
|
|
415
424
|
|
|
416
|
-
async unfollow(request:
|
|
425
|
+
async unfollow(request: FollowRequest) {
|
|
417
426
|
const response = await super.unfollow(request);
|
|
418
427
|
|
|
419
428
|
[request.source, request.target].forEach((fid) => {
|
|
@@ -436,7 +445,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
436
445
|
const feed =
|
|
437
446
|
this.activeFeeds[`${request.feed_group_id}:${request.feed_id}`];
|
|
438
447
|
if (feed) {
|
|
439
|
-
|
|
448
|
+
handleWatchStopped.bind(feed)();
|
|
440
449
|
}
|
|
441
450
|
|
|
442
451
|
return response;
|
|
@@ -452,7 +461,7 @@ export class FeedsClient extends FeedsApi {
|
|
|
452
461
|
if (this.activeFeeds[fid]) {
|
|
453
462
|
const feed = this.activeFeeds[fid];
|
|
454
463
|
if (watch && !feed.currentState.watch) {
|
|
455
|
-
|
|
464
|
+
handleWatchStarted.bind(feed)();
|
|
456
465
|
}
|
|
457
466
|
return feed;
|
|
458
467
|
} else {
|
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
AcceptFeedMemberInviteResponse,
|
|
5
5
|
AcceptFollowRequest,
|
|
6
6
|
AcceptFollowResponse,
|
|
7
|
+
ActivityFeedbackRequest,
|
|
8
|
+
ActivityFeedbackResponse,
|
|
7
9
|
AddActivityRequest,
|
|
8
10
|
AddActivityResponse,
|
|
9
11
|
AddBookmarkRequest,
|
|
@@ -41,6 +43,7 @@ import {
|
|
|
41
43
|
FileUploadResponse,
|
|
42
44
|
FollowBatchRequest,
|
|
43
45
|
FollowBatchResponse,
|
|
46
|
+
FollowRequest,
|
|
44
47
|
GetActivityResponse,
|
|
45
48
|
GetApplicationResponse,
|
|
46
49
|
GetBlockedUsersResponse,
|
|
@@ -92,7 +95,6 @@ import {
|
|
|
92
95
|
Response,
|
|
93
96
|
SharedLocationResponse,
|
|
94
97
|
SharedLocationsResponse,
|
|
95
|
-
SingleFollowRequest,
|
|
96
98
|
SingleFollowResponse,
|
|
97
99
|
UnblockUsersRequest,
|
|
98
100
|
UnblockUsersResponse,
|
|
@@ -292,7 +294,7 @@ export class FeedsApi {
|
|
|
292
294
|
): Promise<StreamResponse<AddActivityResponse>> {
|
|
293
295
|
const body = {
|
|
294
296
|
type: request?.type,
|
|
295
|
-
|
|
297
|
+
feeds: request?.feeds,
|
|
296
298
|
expires_at: request?.expires_at,
|
|
297
299
|
id: request?.id,
|
|
298
300
|
parent_id: request?.parent_id,
|
|
@@ -352,7 +354,7 @@ export class FeedsApi {
|
|
|
352
354
|
request: DeleteActivitiesRequest,
|
|
353
355
|
): Promise<StreamResponse<DeleteActivitiesResponse>> {
|
|
354
356
|
const body = {
|
|
355
|
-
|
|
357
|
+
ids: request?.ids,
|
|
356
358
|
hard_delete: request?.hard_delete,
|
|
357
359
|
};
|
|
358
360
|
|
|
@@ -399,108 +401,6 @@ export class FeedsApi {
|
|
|
399
401
|
return { ...response.body, metadata: response.metadata };
|
|
400
402
|
}
|
|
401
403
|
|
|
402
|
-
async deleteActivity(request: {
|
|
403
|
-
activity_id: string;
|
|
404
|
-
hard_delete?: boolean;
|
|
405
|
-
}): Promise<StreamResponse<DeleteActivityResponse>> {
|
|
406
|
-
const queryParams = {
|
|
407
|
-
hard_delete: request?.hard_delete,
|
|
408
|
-
};
|
|
409
|
-
const pathParams = {
|
|
410
|
-
activity_id: request?.activity_id,
|
|
411
|
-
};
|
|
412
|
-
|
|
413
|
-
const response = await this.apiClient.sendRequest<
|
|
414
|
-
StreamResponse<DeleteActivityResponse>
|
|
415
|
-
>(
|
|
416
|
-
'DELETE',
|
|
417
|
-
'/api/v2/feeds/activities/{activity_id}',
|
|
418
|
-
pathParams,
|
|
419
|
-
queryParams,
|
|
420
|
-
);
|
|
421
|
-
|
|
422
|
-
decoders.DeleteActivityResponse?.(response.body);
|
|
423
|
-
|
|
424
|
-
return { ...response.body, metadata: response.metadata };
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
async getActivity(request: {
|
|
428
|
-
activity_id: string;
|
|
429
|
-
}): Promise<StreamResponse<GetActivityResponse>> {
|
|
430
|
-
const pathParams = {
|
|
431
|
-
activity_id: request?.activity_id,
|
|
432
|
-
};
|
|
433
|
-
|
|
434
|
-
const response = await this.apiClient.sendRequest<
|
|
435
|
-
StreamResponse<GetActivityResponse>
|
|
436
|
-
>('GET', '/api/v2/feeds/activities/{activity_id}', pathParams, undefined);
|
|
437
|
-
|
|
438
|
-
decoders.GetActivityResponse?.(response.body);
|
|
439
|
-
|
|
440
|
-
return { ...response.body, metadata: response.metadata };
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
async updateActivityPartial(
|
|
444
|
-
request: UpdateActivityPartialRequest & { activity_id: string },
|
|
445
|
-
): Promise<StreamResponse<UpdateActivityPartialResponse>> {
|
|
446
|
-
const pathParams = {
|
|
447
|
-
activity_id: request?.activity_id,
|
|
448
|
-
};
|
|
449
|
-
const body = {
|
|
450
|
-
unset: request?.unset,
|
|
451
|
-
set: request?.set,
|
|
452
|
-
};
|
|
453
|
-
|
|
454
|
-
const response = await this.apiClient.sendRequest<
|
|
455
|
-
StreamResponse<UpdateActivityPartialResponse>
|
|
456
|
-
>(
|
|
457
|
-
'PATCH',
|
|
458
|
-
'/api/v2/feeds/activities/{activity_id}',
|
|
459
|
-
pathParams,
|
|
460
|
-
undefined,
|
|
461
|
-
body,
|
|
462
|
-
'application/json',
|
|
463
|
-
);
|
|
464
|
-
|
|
465
|
-
decoders.UpdateActivityPartialResponse?.(response.body);
|
|
466
|
-
|
|
467
|
-
return { ...response.body, metadata: response.metadata };
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
async updateActivity(
|
|
471
|
-
request: UpdateActivityRequest & { activity_id: string },
|
|
472
|
-
): Promise<StreamResponse<UpdateActivityResponse>> {
|
|
473
|
-
const pathParams = {
|
|
474
|
-
activity_id: request?.activity_id,
|
|
475
|
-
};
|
|
476
|
-
const body = {
|
|
477
|
-
expires_at: request?.expires_at,
|
|
478
|
-
poll_id: request?.poll_id,
|
|
479
|
-
text: request?.text,
|
|
480
|
-
visibility: request?.visibility,
|
|
481
|
-
attachments: request?.attachments,
|
|
482
|
-
filter_tags: request?.filter_tags,
|
|
483
|
-
interest_tags: request?.interest_tags,
|
|
484
|
-
custom: request?.custom,
|
|
485
|
-
location: request?.location,
|
|
486
|
-
};
|
|
487
|
-
|
|
488
|
-
const response = await this.apiClient.sendRequest<
|
|
489
|
-
StreamResponse<UpdateActivityResponse>
|
|
490
|
-
>(
|
|
491
|
-
'PUT',
|
|
492
|
-
'/api/v2/feeds/activities/{activity_id}',
|
|
493
|
-
pathParams,
|
|
494
|
-
undefined,
|
|
495
|
-
body,
|
|
496
|
-
'application/json',
|
|
497
|
-
);
|
|
498
|
-
|
|
499
|
-
decoders.UpdateActivityResponse?.(response.body);
|
|
500
|
-
|
|
501
|
-
return { ...response.body, metadata: response.metadata };
|
|
502
|
-
}
|
|
503
|
-
|
|
504
404
|
async deleteBookmark(request: {
|
|
505
405
|
activity_id: string;
|
|
506
406
|
folder_id?: string;
|
|
@@ -583,6 +483,36 @@ export class FeedsApi {
|
|
|
583
483
|
return { ...response.body, metadata: response.metadata };
|
|
584
484
|
}
|
|
585
485
|
|
|
486
|
+
async activityFeedback(
|
|
487
|
+
request: ActivityFeedbackRequest & { activity_id: string },
|
|
488
|
+
): Promise<StreamResponse<ActivityFeedbackResponse>> {
|
|
489
|
+
const pathParams = {
|
|
490
|
+
activity_id: request?.activity_id,
|
|
491
|
+
};
|
|
492
|
+
const body = {
|
|
493
|
+
hide: request?.hide,
|
|
494
|
+
mute_user: request?.mute_user,
|
|
495
|
+
reason: request?.reason,
|
|
496
|
+
report: request?.report,
|
|
497
|
+
show_less: request?.show_less,
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
const response = await this.apiClient.sendRequest<
|
|
501
|
+
StreamResponse<ActivityFeedbackResponse>
|
|
502
|
+
>(
|
|
503
|
+
'POST',
|
|
504
|
+
'/api/v2/feeds/activities/{activity_id}/feedback',
|
|
505
|
+
pathParams,
|
|
506
|
+
undefined,
|
|
507
|
+
body,
|
|
508
|
+
'application/json',
|
|
509
|
+
);
|
|
510
|
+
|
|
511
|
+
decoders.ActivityFeedbackResponse?.(response.body);
|
|
512
|
+
|
|
513
|
+
return { ...response.body, metadata: response.metadata };
|
|
514
|
+
}
|
|
515
|
+
|
|
586
516
|
async castPollVote(
|
|
587
517
|
request: CastPollVoteRequest & { activity_id: string; poll_id: string },
|
|
588
518
|
): Promise<StreamResponse<PollVoteResponse>> {
|
|
@@ -720,6 +650,103 @@ export class FeedsApi {
|
|
|
720
650
|
return { ...response.body, metadata: response.metadata };
|
|
721
651
|
}
|
|
722
652
|
|
|
653
|
+
async deleteActivity(request: {
|
|
654
|
+
id: string;
|
|
655
|
+
hard_delete?: boolean;
|
|
656
|
+
}): Promise<StreamResponse<DeleteActivityResponse>> {
|
|
657
|
+
const queryParams = {
|
|
658
|
+
hard_delete: request?.hard_delete,
|
|
659
|
+
};
|
|
660
|
+
const pathParams = {
|
|
661
|
+
id: request?.id,
|
|
662
|
+
};
|
|
663
|
+
|
|
664
|
+
const response = await this.apiClient.sendRequest<
|
|
665
|
+
StreamResponse<DeleteActivityResponse>
|
|
666
|
+
>('DELETE', '/api/v2/feeds/activities/{id}', pathParams, queryParams);
|
|
667
|
+
|
|
668
|
+
decoders.DeleteActivityResponse?.(response.body);
|
|
669
|
+
|
|
670
|
+
return { ...response.body, metadata: response.metadata };
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
async getActivity(request: {
|
|
674
|
+
id: string;
|
|
675
|
+
}): Promise<StreamResponse<GetActivityResponse>> {
|
|
676
|
+
const pathParams = {
|
|
677
|
+
id: request?.id,
|
|
678
|
+
};
|
|
679
|
+
|
|
680
|
+
const response = await this.apiClient.sendRequest<
|
|
681
|
+
StreamResponse<GetActivityResponse>
|
|
682
|
+
>('GET', '/api/v2/feeds/activities/{id}', pathParams, undefined);
|
|
683
|
+
|
|
684
|
+
decoders.GetActivityResponse?.(response.body);
|
|
685
|
+
|
|
686
|
+
return { ...response.body, metadata: response.metadata };
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
async updateActivityPartial(
|
|
690
|
+
request: UpdateActivityPartialRequest & { id: string },
|
|
691
|
+
): Promise<StreamResponse<UpdateActivityPartialResponse>> {
|
|
692
|
+
const pathParams = {
|
|
693
|
+
id: request?.id,
|
|
694
|
+
};
|
|
695
|
+
const body = {
|
|
696
|
+
unset: request?.unset,
|
|
697
|
+
set: request?.set,
|
|
698
|
+
};
|
|
699
|
+
|
|
700
|
+
const response = await this.apiClient.sendRequest<
|
|
701
|
+
StreamResponse<UpdateActivityPartialResponse>
|
|
702
|
+
>(
|
|
703
|
+
'PATCH',
|
|
704
|
+
'/api/v2/feeds/activities/{id}',
|
|
705
|
+
pathParams,
|
|
706
|
+
undefined,
|
|
707
|
+
body,
|
|
708
|
+
'application/json',
|
|
709
|
+
);
|
|
710
|
+
|
|
711
|
+
decoders.UpdateActivityPartialResponse?.(response.body);
|
|
712
|
+
|
|
713
|
+
return { ...response.body, metadata: response.metadata };
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
async updateActivity(
|
|
717
|
+
request: UpdateActivityRequest & { id: string },
|
|
718
|
+
): Promise<StreamResponse<UpdateActivityResponse>> {
|
|
719
|
+
const pathParams = {
|
|
720
|
+
id: request?.id,
|
|
721
|
+
};
|
|
722
|
+
const body = {
|
|
723
|
+
expires_at: request?.expires_at,
|
|
724
|
+
poll_id: request?.poll_id,
|
|
725
|
+
text: request?.text,
|
|
726
|
+
visibility: request?.visibility,
|
|
727
|
+
attachments: request?.attachments,
|
|
728
|
+
filter_tags: request?.filter_tags,
|
|
729
|
+
interest_tags: request?.interest_tags,
|
|
730
|
+
custom: request?.custom,
|
|
731
|
+
location: request?.location,
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
const response = await this.apiClient.sendRequest<
|
|
735
|
+
StreamResponse<UpdateActivityResponse>
|
|
736
|
+
>(
|
|
737
|
+
'PUT',
|
|
738
|
+
'/api/v2/feeds/activities/{id}',
|
|
739
|
+
pathParams,
|
|
740
|
+
undefined,
|
|
741
|
+
body,
|
|
742
|
+
'application/json',
|
|
743
|
+
);
|
|
744
|
+
|
|
745
|
+
decoders.UpdateActivityResponse?.(response.body);
|
|
746
|
+
|
|
747
|
+
return { ...response.body, metadata: response.metadata };
|
|
748
|
+
}
|
|
749
|
+
|
|
723
750
|
async queryBookmarkFolders(
|
|
724
751
|
request?: QueryBookmarkFoldersRequest,
|
|
725
752
|
): Promise<StreamResponse<QueryBookmarkFoldersResponse>> {
|
|
@@ -933,15 +960,19 @@ export class FeedsApi {
|
|
|
933
960
|
}
|
|
934
961
|
|
|
935
962
|
async deleteComment(request: {
|
|
936
|
-
|
|
963
|
+
id: string;
|
|
964
|
+
hard_delete?: boolean;
|
|
937
965
|
}): Promise<StreamResponse<DeleteCommentResponse>> {
|
|
966
|
+
const queryParams = {
|
|
967
|
+
hard_delete: request?.hard_delete,
|
|
968
|
+
};
|
|
938
969
|
const pathParams = {
|
|
939
|
-
|
|
970
|
+
id: request?.id,
|
|
940
971
|
};
|
|
941
972
|
|
|
942
973
|
const response = await this.apiClient.sendRequest<
|
|
943
974
|
StreamResponse<DeleteCommentResponse>
|
|
944
|
-
>('DELETE', '/api/v2/feeds/comments/{
|
|
975
|
+
>('DELETE', '/api/v2/feeds/comments/{id}', pathParams, queryParams);
|
|
945
976
|
|
|
946
977
|
decoders.DeleteCommentResponse?.(response.body);
|
|
947
978
|
|
|
@@ -949,15 +980,15 @@ export class FeedsApi {
|
|
|
949
980
|
}
|
|
950
981
|
|
|
951
982
|
async getComment(request: {
|
|
952
|
-
|
|
983
|
+
id: string;
|
|
953
984
|
}): Promise<StreamResponse<GetCommentResponse>> {
|
|
954
985
|
const pathParams = {
|
|
955
|
-
|
|
986
|
+
id: request?.id,
|
|
956
987
|
};
|
|
957
988
|
|
|
958
989
|
const response = await this.apiClient.sendRequest<
|
|
959
990
|
StreamResponse<GetCommentResponse>
|
|
960
|
-
>('GET', '/api/v2/feeds/comments/{
|
|
991
|
+
>('GET', '/api/v2/feeds/comments/{id}', pathParams, undefined);
|
|
961
992
|
|
|
962
993
|
decoders.GetCommentResponse?.(response.body);
|
|
963
994
|
|
|
@@ -965,10 +996,10 @@ export class FeedsApi {
|
|
|
965
996
|
}
|
|
966
997
|
|
|
967
998
|
async updateComment(
|
|
968
|
-
request: UpdateCommentRequest & {
|
|
999
|
+
request: UpdateCommentRequest & { id: string },
|
|
969
1000
|
): Promise<StreamResponse<UpdateCommentResponse>> {
|
|
970
1001
|
const pathParams = {
|
|
971
|
-
|
|
1002
|
+
id: request?.id,
|
|
972
1003
|
};
|
|
973
1004
|
const body = {
|
|
974
1005
|
comment: request?.comment,
|
|
@@ -979,7 +1010,7 @@ export class FeedsApi {
|
|
|
979
1010
|
StreamResponse<UpdateCommentResponse>
|
|
980
1011
|
>(
|
|
981
1012
|
'PATCH',
|
|
982
|
-
'/api/v2/feeds/comments/{
|
|
1013
|
+
'/api/v2/feeds/comments/{id}',
|
|
983
1014
|
pathParams,
|
|
984
1015
|
undefined,
|
|
985
1016
|
body,
|
|
@@ -992,10 +1023,10 @@ export class FeedsApi {
|
|
|
992
1023
|
}
|
|
993
1024
|
|
|
994
1025
|
async addCommentReaction(
|
|
995
|
-
request: AddCommentReactionRequest & {
|
|
1026
|
+
request: AddCommentReactionRequest & { id: string },
|
|
996
1027
|
): Promise<StreamResponse<AddCommentReactionResponse>> {
|
|
997
1028
|
const pathParams = {
|
|
998
|
-
|
|
1029
|
+
id: request?.id,
|
|
999
1030
|
};
|
|
1000
1031
|
const body = {
|
|
1001
1032
|
type: request?.type,
|
|
@@ -1007,7 +1038,7 @@ export class FeedsApi {
|
|
|
1007
1038
|
StreamResponse<AddCommentReactionResponse>
|
|
1008
1039
|
>(
|
|
1009
1040
|
'POST',
|
|
1010
|
-
'/api/v2/feeds/comments/{
|
|
1041
|
+
'/api/v2/feeds/comments/{id}/reactions',
|
|
1011
1042
|
pathParams,
|
|
1012
1043
|
undefined,
|
|
1013
1044
|
body,
|
|
@@ -1020,10 +1051,10 @@ export class FeedsApi {
|
|
|
1020
1051
|
}
|
|
1021
1052
|
|
|
1022
1053
|
async queryCommentReactions(
|
|
1023
|
-
request: QueryCommentReactionsRequest & {
|
|
1054
|
+
request: QueryCommentReactionsRequest & { id: string },
|
|
1024
1055
|
): Promise<StreamResponse<QueryCommentReactionsResponse>> {
|
|
1025
1056
|
const pathParams = {
|
|
1026
|
-
|
|
1057
|
+
id: request?.id,
|
|
1027
1058
|
};
|
|
1028
1059
|
const body = {
|
|
1029
1060
|
limit: request?.limit,
|
|
@@ -1037,7 +1068,7 @@ export class FeedsApi {
|
|
|
1037
1068
|
StreamResponse<QueryCommentReactionsResponse>
|
|
1038
1069
|
>(
|
|
1039
1070
|
'POST',
|
|
1040
|
-
'/api/v2/feeds/comments/{
|
|
1071
|
+
'/api/v2/feeds/comments/{id}/reactions/query',
|
|
1041
1072
|
pathParams,
|
|
1042
1073
|
undefined,
|
|
1043
1074
|
body,
|
|
@@ -1050,11 +1081,11 @@ export class FeedsApi {
|
|
|
1050
1081
|
}
|
|
1051
1082
|
|
|
1052
1083
|
async deleteCommentReaction(request: {
|
|
1053
|
-
|
|
1084
|
+
id: string;
|
|
1054
1085
|
type: string;
|
|
1055
1086
|
}): Promise<StreamResponse<DeleteCommentReactionResponse>> {
|
|
1056
1087
|
const pathParams = {
|
|
1057
|
-
|
|
1088
|
+
id: request?.id,
|
|
1058
1089
|
type: request?.type,
|
|
1059
1090
|
};
|
|
1060
1091
|
|
|
@@ -1062,7 +1093,7 @@ export class FeedsApi {
|
|
|
1062
1093
|
StreamResponse<DeleteCommentReactionResponse>
|
|
1063
1094
|
>(
|
|
1064
1095
|
'DELETE',
|
|
1065
|
-
'/api/v2/feeds/comments/{
|
|
1096
|
+
'/api/v2/feeds/comments/{id}/reactions/{type}',
|
|
1066
1097
|
pathParams,
|
|
1067
1098
|
undefined,
|
|
1068
1099
|
);
|
|
@@ -1073,7 +1104,7 @@ export class FeedsApi {
|
|
|
1073
1104
|
}
|
|
1074
1105
|
|
|
1075
1106
|
async getCommentReplies(request: {
|
|
1076
|
-
|
|
1107
|
+
id: string;
|
|
1077
1108
|
depth?: number;
|
|
1078
1109
|
sort?: string;
|
|
1079
1110
|
replies_limit?: number;
|
|
@@ -1090,17 +1121,12 @@ export class FeedsApi {
|
|
|
1090
1121
|
next: request?.next,
|
|
1091
1122
|
};
|
|
1092
1123
|
const pathParams = {
|
|
1093
|
-
|
|
1124
|
+
id: request?.id,
|
|
1094
1125
|
};
|
|
1095
1126
|
|
|
1096
1127
|
const response = await this.apiClient.sendRequest<
|
|
1097
1128
|
StreamResponse<GetCommentRepliesResponse>
|
|
1098
|
-
>(
|
|
1099
|
-
'GET',
|
|
1100
|
-
'/api/v2/feeds/comments/{comment_id}/replies',
|
|
1101
|
-
pathParams,
|
|
1102
|
-
queryParams,
|
|
1103
|
-
);
|
|
1129
|
+
>('GET', '/api/v2/feeds/comments/{id}/replies', pathParams, queryParams);
|
|
1104
1130
|
|
|
1105
1131
|
decoders.GetCommentRepliesResponse?.(response.body);
|
|
1106
1132
|
|
|
@@ -1188,7 +1214,6 @@ export class FeedsApi {
|
|
|
1188
1214
|
feed_id: request?.feed_id,
|
|
1189
1215
|
};
|
|
1190
1216
|
const body = {
|
|
1191
|
-
created_by_id: request?.created_by_id,
|
|
1192
1217
|
custom: request?.custom,
|
|
1193
1218
|
};
|
|
1194
1219
|
|
|
@@ -1219,6 +1244,7 @@ export class FeedsApi {
|
|
|
1219
1244
|
mark_all_read: request?.mark_all_read,
|
|
1220
1245
|
mark_all_seen: request?.mark_all_seen,
|
|
1221
1246
|
mark_read: request?.mark_read,
|
|
1247
|
+
mark_seen: request?.mark_seen,
|
|
1222
1248
|
mark_watched: request?.mark_watched,
|
|
1223
1249
|
};
|
|
1224
1250
|
|
|
@@ -1488,7 +1514,7 @@ export class FeedsApi {
|
|
|
1488
1514
|
return { ...response.body, metadata: response.metadata };
|
|
1489
1515
|
}
|
|
1490
1516
|
|
|
1491
|
-
async
|
|
1517
|
+
protected async _queryFeeds(
|
|
1492
1518
|
request?: QueryFeedsRequest & { connection_id?: string },
|
|
1493
1519
|
): Promise<StreamResponse<QueryFeedsResponse>> {
|
|
1494
1520
|
const queryParams = {
|
|
@@ -1548,7 +1574,7 @@ export class FeedsApi {
|
|
|
1548
1574
|
}
|
|
1549
1575
|
|
|
1550
1576
|
async follow(
|
|
1551
|
-
request:
|
|
1577
|
+
request: FollowRequest,
|
|
1552
1578
|
): Promise<StreamResponse<SingleFollowResponse>> {
|
|
1553
1579
|
const body = {
|
|
1554
1580
|
source: request?.source,
|
|
@@ -1578,8 +1604,8 @@ export class FeedsApi {
|
|
|
1578
1604
|
request: AcceptFollowRequest,
|
|
1579
1605
|
): Promise<StreamResponse<AcceptFollowResponse>> {
|
|
1580
1606
|
const body = {
|
|
1581
|
-
|
|
1582
|
-
|
|
1607
|
+
source: request?.source,
|
|
1608
|
+
target: request?.target,
|
|
1583
1609
|
follower_role: request?.follower_role,
|
|
1584
1610
|
};
|
|
1585
1611
|
|
|
@@ -1653,8 +1679,8 @@ export class FeedsApi {
|
|
|
1653
1679
|
request: RejectFollowRequest,
|
|
1654
1680
|
): Promise<StreamResponse<RejectFollowResponse>> {
|
|
1655
1681
|
const body = {
|
|
1656
|
-
|
|
1657
|
-
|
|
1682
|
+
source: request?.source,
|
|
1683
|
+
target: request?.target,
|
|
1658
1684
|
};
|
|
1659
1685
|
|
|
1660
1686
|
const response = await this.apiClient.sendRequest<
|