@stream-io/feeds-client 0.2.16 → 0.2.18

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.
Files changed (82) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/react-bindings.js +1 -1
  4. package/dist/es/index.mjs +2 -2
  5. package/dist/es/react-bindings.mjs +1 -1
  6. package/dist/{index-CaFrpjpl.js → index--koeDtxd.js} +310 -80
  7. package/dist/index--koeDtxd.js.map +1 -0
  8. package/dist/{index-J3MkoYPN.mjs → index-Zde8UE5f.mjs} +310 -80
  9. package/dist/index-Zde8UE5f.mjs.map +1 -0
  10. package/dist/tsconfig.tsbuildinfo +1 -1
  11. package/dist/types/common/real-time/StableWSConnection.d.ts +3 -3
  12. package/dist/types/feed/event-handlers/activity/handle-activity-added.d.ts +4 -3
  13. package/dist/types/feed/event-handlers/activity/handle-activity-added.d.ts.map +1 -1
  14. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-updated.d.ts +14 -0
  15. package/dist/types/feed/event-handlers/activity/handle-activity-reaction-updated.d.ts.map +1 -0
  16. package/dist/types/feed/event-handlers/activity/handle-activity-updated.d.ts.map +1 -1
  17. package/dist/types/feed/event-handlers/activity/index.d.ts +1 -0
  18. package/dist/types/feed/event-handlers/activity/index.d.ts.map +1 -1
  19. package/dist/types/feed/event-handlers/activity-updater.d.ts +44 -0
  20. package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -0
  21. package/dist/types/feed/event-handlers/add-aggregated-activities-to-state.d.ts +6 -0
  22. package/dist/types/feed/event-handlers/add-aggregated-activities-to-state.d.ts.map +1 -0
  23. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-added.d.ts.map +1 -1
  24. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-updated.d.ts +6 -0
  25. package/dist/types/feed/event-handlers/comment/handle-comment-reaction-updated.d.ts.map +1 -0
  26. package/dist/types/feed/event-handlers/comment/index.d.ts +1 -0
  27. package/dist/types/feed/event-handlers/comment/index.d.ts.map +1 -1
  28. package/dist/types/feed/event-handlers/index.d.ts +3 -1
  29. package/dist/types/feed/event-handlers/index.d.ts.map +1 -1
  30. package/dist/types/feed/event-handlers/{aggregated-feed/handle-aggregated-feed-updated.d.ts → notification-feed/handle-notification-feed-updated.d.ts} +2 -11
  31. package/dist/types/feed/event-handlers/notification-feed/handle-notification-feed-updated.d.ts.map +1 -0
  32. package/dist/types/feed/event-handlers/notification-feed/index.d.ts +2 -0
  33. package/dist/types/feed/event-handlers/notification-feed/index.d.ts.map +1 -0
  34. package/dist/types/feed/event-handlers/story-feeds/handle-story-feeds-updated.d.ts +15 -0
  35. package/dist/types/feed/event-handlers/story-feeds/handle-story-feeds-updated.d.ts.map +1 -0
  36. package/dist/types/feed/event-handlers/story-feeds/index.d.ts +2 -0
  37. package/dist/types/feed/event-handlers/story-feeds/index.d.ts.map +1 -0
  38. package/dist/types/feed/feed.d.ts +9 -3
  39. package/dist/types/feed/feed.d.ts.map +1 -1
  40. package/dist/types/feeds-client/feeds-client.d.ts +5 -3
  41. package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
  42. package/dist/types/gen/feeds/FeedsApi.d.ts.map +1 -1
  43. package/dist/types/gen/models/index.d.ts +43 -452
  44. package/dist/types/gen/models/index.d.ts.map +1 -1
  45. package/dist/types/utils/state-update-queue.d.ts +5 -1
  46. package/dist/types/utils/state-update-queue.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/src/feed/event-handlers/activity/handle-activity-added.test.ts +16 -5
  49. package/src/feed/event-handlers/activity/handle-activity-added.ts +9 -11
  50. package/src/feed/event-handlers/activity/handle-activity-reaction-updated.test.ts +282 -0
  51. package/src/feed/event-handlers/activity/handle-activity-reaction-updated.ts +140 -0
  52. package/src/feed/event-handlers/activity/handle-activity-updated.ts +8 -16
  53. package/src/feed/event-handlers/activity/index.ts +1 -0
  54. package/src/feed/event-handlers/activity-updater.ts +15 -0
  55. package/src/feed/event-handlers/add-aggregated-activities-to-state.test.ts +510 -0
  56. package/src/feed/event-handlers/add-aggregated-activities-to-state.ts +72 -0
  57. package/src/feed/event-handlers/comment/handle-comment-reaction-added.ts +1 -2
  58. package/src/feed/event-handlers/comment/handle-comment-reaction-updated.test.ts +350 -0
  59. package/src/feed/event-handlers/comment/handle-comment-reaction-updated.ts +72 -0
  60. package/src/feed/event-handlers/comment/index.ts +1 -1
  61. package/src/feed/event-handlers/index.ts +3 -1
  62. package/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.test.ts +182 -0
  63. package/src/feed/event-handlers/{aggregated-feed/handle-aggregated-feed-updated.ts → notification-feed/handle-notification-feed-updated.ts} +2 -94
  64. package/src/feed/event-handlers/notification-feed/index.ts +1 -0
  65. package/src/feed/event-handlers/story-feeds/handle-story-feeds-updated.test.ts +45 -0
  66. package/src/feed/event-handlers/story-feeds/handle-story-feeds-updated.ts +122 -0
  67. package/src/feed/event-handlers/story-feeds/index.ts +1 -0
  68. package/src/feed/feed.ts +16 -2
  69. package/src/feeds-client/feeds-client.ts +36 -6
  70. package/src/gen/feeds/FeedsApi.ts +5 -0
  71. package/src/gen/model-decoders/decoders.ts +10 -4
  72. package/src/gen/models/index.ts +76 -835
  73. package/src/test-utils/response-generators.ts +89 -1
  74. package/src/utils/state-update-queue.ts +14 -2
  75. package/dist/index-CaFrpjpl.js.map +0 -1
  76. package/dist/index-J3MkoYPN.mjs.map +0 -1
  77. package/dist/types/feed/event-handlers/aggregated-feed/handle-aggregated-feed-updated.d.ts.map +0 -1
  78. package/dist/types/feed/event-handlers/aggregated-feed/index.d.ts +0 -2
  79. package/dist/types/feed/event-handlers/aggregated-feed/index.d.ts.map +0 -1
  80. package/src/feed/event-handlers/activity/activity-utils.test.ts +0 -252
  81. package/src/feed/event-handlers/aggregated-feed/handle-aggregated-feed-updated.test.ts +0 -644
  82. package/src/feed/event-handlers/aggregated-feed/index.ts +0 -1
@@ -11,7 +11,11 @@ import type {
11
11
  OwnUser,
12
12
  OwnUserResponse,
13
13
  PinActivityResponse,
14
- UserResponse, UserResponseCommonFields,
14
+ UserResponse,
15
+ UserResponseCommonFields,
16
+ NotificationFeedUpdatedEvent,
17
+ NotificationStatusResponse,
18
+ AggregatedActivityResponse,
15
19
  } from '../gen/models';
16
20
  import { humanId } from 'human-id';
17
21
  import type { EventPayload } from '../types-internal';
@@ -283,6 +287,32 @@ export function generateActivityReactionAddedEvent(
283
287
  };
284
288
  }
285
289
 
290
+ export function generateActivityReactionUpdatedEvent(
291
+ overrides: Omit<
292
+ Partial<EventPayload<'feeds.activity.reaction.updated'>>,
293
+ 'activity' | 'type' | 'reaction' | 'user'
294
+ > & {
295
+ activity?: Parameters<typeof generateActivityResponse>[0];
296
+ reaction?: Parameters<typeof generateFeedReactionResponse>[0];
297
+ user?: Parameters<typeof generateUserResponse>[0];
298
+ } = {},
299
+ ): EventPayload<'feeds.activity.reaction.updated'> {
300
+ const activity = generateActivityResponse(overrides.activity);
301
+ const reaction = generateFeedReactionResponse(overrides.reaction);
302
+ const user = generateUserResponse(overrides.user);
303
+
304
+ return {
305
+ type: 'feeds.activity.reaction.updated',
306
+ created_at: new Date(),
307
+ fid: '',
308
+ custom: {},
309
+ ...overrides,
310
+ user,
311
+ reaction,
312
+ activity,
313
+ };
314
+ }
315
+
286
316
  export function generateActivityReactionDeletedEvent(
287
317
  overrides: Omit<
288
318
  Partial<EventPayload<'feeds.activity.reaction.deleted'>>,
@@ -532,6 +562,32 @@ export function generateCommentReactionDeletedEvent(
532
562
  };
533
563
  }
534
564
 
565
+ export function generateCommentReactionUpdatedEvent(
566
+ overrides: Omit<
567
+ Partial<EventPayload<'feeds.comment.reaction.updated'>>,
568
+ 'comment' | 'reaction' | 'activity' | 'type'
569
+ > & {
570
+ comment?: Parameters<typeof generateCommentResponse>[0];
571
+ reaction?: Parameters<typeof generateFeedReactionResponse>[0];
572
+ activity?: Parameters<typeof generateActivityResponse>[0];
573
+ } = {},
574
+ ): EventPayload<'feeds.comment.reaction.updated'> {
575
+ const comment = generateCommentResponse(overrides.comment);
576
+ const reaction = generateFeedReactionResponse(overrides.reaction);
577
+ const activity = generateActivityResponse(overrides.activity);
578
+
579
+ return {
580
+ type: 'feeds.comment.reaction.updated',
581
+ created_at: new Date(),
582
+ fid: '',
583
+ custom: {},
584
+ ...overrides,
585
+ comment,
586
+ reaction,
587
+ activity,
588
+ };
589
+ }
590
+
535
591
  export function generateFeedMemberAddedEvent(
536
592
  overrides: Omit<
537
593
  Partial<EventPayload<'feeds.feed_member.added'>>,
@@ -615,3 +671,35 @@ export function generateActivityPinnedEvent(
615
671
  user,
616
672
  };
617
673
  }
674
+
675
+ export const createMockNotificationFeedUpdatedEvent = (
676
+ overrides: Partial<NotificationFeedUpdatedEvent> = {},
677
+ ): NotificationFeedUpdatedEvent => ({
678
+ created_at: new Date(),
679
+ fid: 'user:notification',
680
+ custom: {},
681
+ type: 'feeds.notification_feed.updated',
682
+ ...overrides,
683
+ });
684
+
685
+ export const createMockNotificationStatus = (
686
+ overrides: Partial<NotificationStatusResponse> = {},
687
+ ): NotificationStatusResponse => ({
688
+ unread: 0,
689
+ unseen: 0,
690
+ ...overrides,
691
+ });
692
+
693
+ export const createMockAggregatedActivity = (
694
+ overrides: Partial<AggregatedActivityResponse> = {},
695
+ ): AggregatedActivityResponse => ({
696
+ activity_count: 1,
697
+ created_at: new Date(),
698
+ group: 'test-group',
699
+ user_count_truncated: false,
700
+ score: 1,
701
+ updated_at: new Date(),
702
+ user_count: 1,
703
+ activities: [],
704
+ ...overrides,
705
+ });
@@ -12,13 +12,21 @@ import type {
12
12
  CommentUpdatedPayload,
13
13
  } from '../feed';
14
14
  import { ensureExhausted } from './ensure-exhausted';
15
+ import type {
16
+ CommentReactionUpdatedPayload
17
+ } from '../feed/event-handlers/comment/handle-comment-reaction-updated';
18
+ import type {
19
+ ActivityReactionUpdatedPayload
20
+ } from '../feed/event-handlers/activity/handle-activity-reaction-updated';
15
21
 
16
22
  export type StateUpdateQueuePrefix =
17
23
  | 'activity-updated'
18
24
  | 'activity-reaction-created'
19
25
  | 'activity-reaction-deleted'
26
+ | 'activity-reaction-updated'
20
27
  | 'comment-reaction-created'
21
28
  | 'comment-reaction-deleted'
29
+ | 'comment-reaction-updated'
22
30
  | 'follow-created'
23
31
  | 'follow-deleted'
24
32
  | 'follow-updated'
@@ -30,8 +38,10 @@ type StateUpdateQueuePayloadByPrefix = {
30
38
  'activity-updated': ActivityUpdatedPayload;
31
39
  'activity-reaction-created': ActivityReactionAddedPayload;
32
40
  'activity-reaction-deleted': ActivityReactionDeletedPayload;
41
+ 'activity-reaction-updated': ActivityReactionUpdatedPayload;
33
42
  'comment-reaction-created': CommentReactionAddedPayload;
34
43
  'comment-reaction-deleted': CommentReactionDeletedPayload;
44
+ 'comment-reaction-updated': CommentReactionUpdatedPayload;
35
45
  'follow-created': FollowResponse;
36
46
  'follow-deleted': FollowResponse;
37
47
  'follow-updated': FollowResponse;
@@ -163,7 +173,8 @@ export function getStateUpdateQueueId(
163
173
  return toJoin.concat([data.activity.id]).join('-')
164
174
  }
165
175
  case 'activity-reaction-created':
166
- case 'activity-reaction-deleted': {
176
+ case 'activity-reaction-deleted':
177
+ case 'activity-reaction-updated': {
167
178
  return toJoin
168
179
  .concat([
169
180
  data.activity.id,
@@ -172,7 +183,8 @@ export function getStateUpdateQueueId(
172
183
  .join('-');
173
184
  }
174
185
  case 'comment-reaction-created':
175
- case 'comment-reaction-deleted': {
186
+ case 'comment-reaction-deleted':
187
+ case 'comment-reaction-updated': {
176
188
  return toJoin
177
189
  .concat([
178
190
  data.comment.id,