@amityco/ts-sdk 7.7.1-f6f69f8.0 → 7.7.1-fbab8668.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.
Files changed (104) hide show
  1. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +3 -8
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts +11 -0
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts.map +1 -0
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js +2 -0
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js.map +1 -0
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts +12 -1
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts.map +1 -1
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.js.map +1 -1
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js +8 -6
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js.map +1 -1
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.d.ts +1 -1
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.js.map +1 -1
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.d.ts +1 -1
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.js.map +1 -1
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/index.d.ts +1 -0
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/index.d.ts.map +1 -1
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/index.js +1 -0
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/index.js.map +1 -1
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/searchPostsByHashtag.d.ts +16 -0
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/searchPostsByHashtag.d.ts.map +1 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/searchPostsByHashtag.js +63 -0
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/searchPostsByHashtag.js.map +1 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js +135 -0
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js.map +1 -0
  34. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  35. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  36. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js +27 -0
  37. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js.map +1 -0
  38. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  39. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  40. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js +71 -0
  41. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js.map +1 -0
  42. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag.d.ts +22 -0
  43. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag.d.ts.map +1 -0
  44. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag.js +45 -0
  45. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag.js.map +1 -0
  46. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts +1 -0
  47. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts.map +1 -1
  48. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js +1 -0
  49. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js.map +1 -1
  50. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +1 -1
  51. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.js +8 -5
  52. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.js.map +1 -1
  53. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +1 -1
  54. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.js +6 -3
  55. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.js.map +1 -1
  56. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  57. package/dist/@types/core/payload.d.ts +3 -8
  58. package/dist/@types/core/payload.d.ts.map +1 -1
  59. package/dist/@types/domains/hashtag.d.ts +11 -0
  60. package/dist/@types/domains/hashtag.d.ts.map +1 -0
  61. package/dist/@types/domains/post.d.ts +12 -1
  62. package/dist/@types/domains/post.d.ts.map +1 -1
  63. package/dist/@types/index.d.ts +1 -0
  64. package/dist/@types/index.d.ts.map +1 -1
  65. package/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
  66. package/dist/index.cjs.js +326 -15
  67. package/dist/index.esm.js +326 -15
  68. package/dist/index.umd.js +1 -1
  69. package/dist/postRepository/api/createPost.d.ts +1 -1
  70. package/dist/postRepository/api/editPost.d.ts +1 -1
  71. package/dist/postRepository/api/index.d.ts +1 -0
  72. package/dist/postRepository/api/index.d.ts.map +1 -1
  73. package/dist/postRepository/api/searchPostsByHashtag.d.ts +16 -0
  74. package/dist/postRepository/api/searchPostsByHashtag.d.ts.map +1 -0
  75. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  76. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  77. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  78. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  79. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  80. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  81. package/dist/postRepository/observers/getPostsByHashtag.d.ts +22 -0
  82. package/dist/postRepository/observers/getPostsByHashtag.d.ts.map +1 -0
  83. package/dist/postRepository/observers/index.d.ts +1 -0
  84. package/dist/postRepository/observers/index.d.ts.map +1 -1
  85. package/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +1 -1
  86. package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/@types/core/payload.ts +3 -4
  89. package/src/@types/domains/hashtag.ts +11 -0
  90. package/src/@types/domains/post.ts +13 -1
  91. package/src/@types/index.ts +1 -0
  92. package/src/channelRepository/events/onChannelSetMuted.ts +8 -6
  93. package/src/postRepository/api/createPost.ts +1 -1
  94. package/src/postRepository/api/editPost.ts +1 -1
  95. package/src/postRepository/api/index.ts +2 -0
  96. package/src/postRepository/api/searchPostsByHashtag.ts +77 -0
  97. package/src/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.ts +198 -0
  98. package/src/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.ts +47 -0
  99. package/src/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.ts +102 -0
  100. package/src/postRepository/observers/getPostsByHashtag.ts +56 -0
  101. package/src/postRepository/observers/index.ts +1 -0
  102. package/src/streamRepository/events/onStreamViewerBanned.ts +8 -5
  103. package/src/streamRepository/events/onStreamViewerUnbanned.ts +6 -4
  104. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,102 @@
1
+ import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';
2
+ import { pullFromCache, pushToCache } from '~/cache/api';
3
+ import { ingestInCache } from '~/cache/api/ingestInCache';
4
+ import { getResolver } from '~/core/model';
5
+ import { getActiveClient } from '~/client';
6
+ import { EnumPostActions } from '../enums';
7
+
8
+ export class SearchPostQueryStreamController extends QueryStreamController<
9
+ Amity.PostPayload,
10
+ Amity.PostLiveCollection
11
+ > {
12
+ private notifyChange: (params: Amity.LiveCollectionNotifyParams) => void;
13
+
14
+ private preparePayload: (response: Amity.PostPayload) => Amity.ProcessedPostPayload;
15
+
16
+ constructor(
17
+ query: Amity.PostLiveCollection,
18
+ cacheKey: string[],
19
+ notifyChange: (params: Amity.LiveCollectionNotifyParams) => void,
20
+ preparePayload: (response: Amity.PostPayload) => Amity.ProcessedPostPayload,
21
+ ) {
22
+ super(query, cacheKey);
23
+ this.notifyChange = notifyChange;
24
+ this.preparePayload = preparePayload;
25
+ }
26
+
27
+ async saveToMainDB(response: Amity.PostPayload) {
28
+ const processedPayload = await this.preparePayload(response);
29
+
30
+ const client = getActiveClient();
31
+ const cachedAt = client.cache && Date.now();
32
+
33
+ if (client.cache) {
34
+ ingestInCache(processedPayload, { cachedAt });
35
+ }
36
+ }
37
+
38
+ appendToQueryStream(
39
+ response: Amity.PostPayload & Partial<Amity.Pagination>,
40
+ direction: Amity.LiveCollectionPageDirection,
41
+ refresh = false,
42
+ ) {
43
+ if (refresh) {
44
+ pushToCache(this.cacheKey, {
45
+ data: response.posts.map(getResolver('post')),
46
+ });
47
+ } else {
48
+ const collection = pullFromCache<Amity.CommunityLiveCollectionCache>(this.cacheKey)?.data;
49
+
50
+ const posts = collection?.data ?? [];
51
+
52
+ pushToCache(this.cacheKey, {
53
+ ...collection,
54
+ data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])],
55
+ });
56
+ }
57
+ }
58
+
59
+ reactor(action: EnumPostActions) {
60
+ return (post: Amity.InternalPost) => {
61
+ const collection = pullFromCache<Amity.PostLiveCollectionCache>(this.cacheKey)?.data;
62
+
63
+ if (!collection) return;
64
+
65
+ if (post.parentPostId && post.isDeleted) {
66
+ const parentPost = pullFromCache<Amity.InternalPost>([
67
+ 'post',
68
+ 'get',
69
+ post.parentPostId,
70
+ ])?.data;
71
+
72
+ if (!parentPost || parentPost?.targetId !== this.query.targetId) return;
73
+
74
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
75
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
76
+ } else {
77
+ if (this.query.targetId !== post.targetId) return;
78
+ if (this.query.targetType !== post.targetType) return;
79
+ }
80
+
81
+ if (action === EnumPostActions.OnPostDeclined) {
82
+ collection.data = collection.data.filter(postId => postId !== post.postId);
83
+ }
84
+
85
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
86
+ collection.data = [...new Set([post.postId, ...collection.data])];
87
+ }
88
+
89
+ pushToCache(this.cacheKey, collection);
90
+ this.notifyChange({ origin: Amity.LiveDataOrigin.EVENT, loading: false });
91
+ };
92
+ }
93
+
94
+ subscribeRTE(
95
+ createSubscriber: {
96
+ fn: (reactor: (post: Amity.InternalPost) => void) => Amity.Unsubscriber;
97
+ action: EnumPostActions;
98
+ }[],
99
+ ) {
100
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
101
+ }
102
+ }
@@ -0,0 +1,56 @@
1
+ import { getActiveClient } from '~/client/api';
2
+ import { dropFromCache } from '~/cache/api';
3
+
4
+ import { ENABLE_CACHE_MESSAGE } from '~/utils/constants';
5
+ import { SearchPostLiveCollectionController } from './getPostsByHashtag/SearchPostLiveCollectionController';
6
+
7
+ /* begin_public_function
8
+ id: post.query
9
+ */
10
+ /**
11
+ * ```js
12
+ * import { PostRepository } from '@amityco/ts-sdk'
13
+ *
14
+ * let posts = []
15
+ * const unsub = PostRepository.searchPostsByHashtag({
16
+ * hashtags: ['amity'],
17
+ * limit: 10,
18
+ * }, response => merge(posts, response.data))
19
+ * ```
20
+ *
21
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
22
+ *
23
+ * @param params.hashtags the hashtags to search for
24
+ * @param callback the function to call when new data are available
25
+ * @param config
26
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
27
+ *
28
+ * @category Posts Live Collection
29
+ */
30
+ export const getPostsByHashtag = (
31
+ params: Amity.PostLiveCollection,
32
+ callback: Amity.LiveCollectionCallback<Amity.Post>,
33
+ config?: Amity.LiveCollectionConfig,
34
+ ): Amity.Unsubscriber => {
35
+ const { log, cache } = getActiveClient();
36
+
37
+ if (!cache) {
38
+ console.log(ENABLE_CACHE_MESSAGE);
39
+ }
40
+
41
+ const timestamp = Date.now();
42
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
43
+
44
+ const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
45
+ const disposers = postsLiveCollection.startSubscription();
46
+
47
+ const cacheKey = postsLiveCollection.getCacheKey();
48
+
49
+ disposers.push(() => dropFromCache(cacheKey));
50
+
51
+ return () => {
52
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
53
+ disposers.forEach(fn => fn());
54
+ };
55
+ };
56
+ /* end_public_function */
@@ -3,3 +3,4 @@ export * from './getPosts';
3
3
  export * from './getPinnedPosts';
4
4
  export * from './getGlobalPinnedPosts';
5
5
  export * from './semanticSearchPosts';
6
+ export * from './getPostsByHashtag';
@@ -23,14 +23,13 @@ export const onStreamViewerBanned = (
23
23
  const client = getActiveClient();
24
24
 
25
25
  const filter = (payloads: Amity.StreamViewerBanPayload) => {
26
- const { list } = payloads;
27
- list.forEach(payload => {
28
- mergeInCache(['stream', 'get', payload.streamId], { watcherUrl: null });
26
+ payloads.forEach(streamBanned => {
27
+ mergeInCache(['stream', 'get', streamBanned.streamId], { watcherUrl: null });
29
28
 
30
29
  // Update isDeleted = true in banned user's messages
31
30
  const messageCache = queryCache<Amity.InternalMessage>(['message', 'get'])?.filter(
32
31
  // Check if creator id and user id are internal or external id
33
- ({ data }) => data.creatorId === payload.userId,
32
+ ({ data }) => data.creatorId === streamBanned.userId,
34
33
  );
35
34
 
36
35
  // Update isDeleted for each relavant messages
@@ -39,7 +38,11 @@ export const onStreamViewerBanned = (
39
38
  });
40
39
  });
41
40
 
42
- const stream = pullFromCache<Amity.InternalStream>(['stream', 'get', list[0].streamId])?.data;
41
+ const stream = pullFromCache<Amity.InternalStream>([
42
+ 'stream',
43
+ 'get',
44
+ payloads[0].streamId,
45
+ ])?.data;
43
46
 
44
47
  if (!stream) return;
45
48
 
@@ -25,11 +25,13 @@ export const onStreamViewerUnbanned = (
25
25
 
26
26
  const filter = async (payloads: Amity.StreamViewerUnbanPayload) => {
27
27
  // Get new stream object to restore stream watcherUrl in cache
28
- const { list } = payloads;
28
+ await Promise.all(payloads.map(({ streamId }) => getStream(streamId)));
29
29
 
30
- await Promise.all(list.map(({ streamId }) => getStream(streamId)));
31
-
32
- const stream = pullFromCache<Amity.InternalStream>(['stream', 'get', list[0].streamId])?.data;
30
+ const stream = pullFromCache<Amity.InternalStream>([
31
+ 'stream',
32
+ 'get',
33
+ payloads[0].streamId,
34
+ ])?.data;
33
35
 
34
36
  if (!stream) return;
35
37