@amityco/ts-sdk 7.7.1-0c84fd02.0 → 7.7.1-11a1171d.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/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +3 -8
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts +0 -4
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts +11 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts +14 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js +8 -6
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/events/onChannelSetMuted.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js +126 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js +27 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js +65 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js +45 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.js +8 -5
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerBanned.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.js +6 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/streamRepository/events/onStreamViewerUnbanned.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
- package/dist/@types/core/payload.d.ts +3 -8
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +0 -4
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/hashtag.d.ts +11 -0
- package/dist/@types/domains/hashtag.d.ts.map +1 -0
- package/dist/@types/domains/post.d.ts +14 -1
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelSetMuted.d.ts.map +1 -1
- package/dist/client/api/index.d.ts +0 -1
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/index.cjs.js +256 -36
- package/dist/index.esm.js +256 -36
- package/dist/index.umd.js +4 -4
- package/dist/postRepository/api/createPost.d.ts +1 -1
- package/dist/postRepository/api/editPost.d.ts +1 -1
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
- package/dist/postRepository/observers/index.d.ts +1 -0
- package/dist/postRepository/observers/index.d.ts.map +1 -1
- package/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
- package/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
- package/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +1 -1
- package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/payload.ts +3 -4
- package/src/@types/domains/client.ts +0 -5
- package/src/@types/domains/hashtag.ts +11 -0
- package/src/@types/domains/post.ts +18 -1
- package/src/@types/index.ts +1 -0
- package/src/channelRepository/events/onChannelSetMuted.ts +8 -6
- package/src/client/api/index.ts +0 -2
- package/src/postRepository/api/createPost.ts +1 -1
- package/src/postRepository/api/editPost.ts +1 -1
- package/src/postRepository/api/queryPosts.ts +2 -2
- package/src/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.ts +183 -0
- package/src/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.ts +49 -0
- package/src/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.ts +99 -0
- package/src/postRepository/observers/index.ts +1 -0
- package/src/postRepository/observers/searchPostsByHashtag.ts +56 -0
- package/src/streamRepository/events/onStreamViewerBanned.ts +8 -5
- package/src/streamRepository/events/onStreamViewerUnbanned.ts +6 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts +0 -16
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js +0 -21
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js.map +0 -1
- package/dist/client/api/getShareableLinkConfiguration.d.ts +0 -16
- package/dist/client/api/getShareableLinkConfiguration.d.ts.map +0 -1
- package/src/client/api/getShareableLinkConfiguration.ts +0 -26
package/dist/index.esm.js
CHANGED
|
@@ -22453,17 +22453,19 @@ const dispose$7 = (cb) => {
|
|
|
22453
22453
|
const onChannelSetMuted = (callback) => {
|
|
22454
22454
|
if (callbacks$7.length === 0) {
|
|
22455
22455
|
const client = getActiveClient();
|
|
22456
|
-
const filter = async (
|
|
22456
|
+
const filter = async (payloads) => {
|
|
22457
22457
|
var _a;
|
|
22458
|
-
|
|
22459
|
-
|
|
22460
|
-
|
|
22461
|
-
|
|
22458
|
+
payloads.forEach(payload => {
|
|
22459
|
+
upsertInCache(['channel', 'get', payload.channelId], {
|
|
22460
|
+
// If muteTimeout > now => user is muted
|
|
22461
|
+
// Otherwise => user is unmuted
|
|
22462
|
+
isMuted: Date.parse(payload.muteTimeout) > Date.now(),
|
|
22463
|
+
});
|
|
22462
22464
|
});
|
|
22463
22465
|
const channel = (_a = pullFromCache([
|
|
22464
22466
|
'channel',
|
|
22465
22467
|
'get',
|
|
22466
|
-
|
|
22468
|
+
payloads[0].channelId,
|
|
22467
22469
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22468
22470
|
if (channel) {
|
|
22469
22471
|
callbacks$7.forEach(cb => cb(channel));
|
|
@@ -25872,26 +25874,6 @@ const fetchLinkPreview = async (url) => {
|
|
|
25872
25874
|
return data;
|
|
25873
25875
|
};
|
|
25874
25876
|
|
|
25875
|
-
/**
|
|
25876
|
-
* ```js
|
|
25877
|
-
* import Client from '@amityco/ts-sdk'
|
|
25878
|
-
* const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
|
|
25879
|
-
* const postLinkPattern = shareableLinkConfiguration.post
|
|
25880
|
-
* ```
|
|
25881
|
-
*
|
|
25882
|
-
* Fetches a {@link Amity.ShareableLinkConfiguration} object
|
|
25883
|
-
*
|
|
25884
|
-
* @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
|
|
25885
|
-
*
|
|
25886
|
-
* @category Client API
|
|
25887
|
-
* @async
|
|
25888
|
-
*/
|
|
25889
|
-
const getShareableLinkConfiguration = async () => {
|
|
25890
|
-
const client = getActiveClient();
|
|
25891
|
-
const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
|
|
25892
|
-
return data;
|
|
25893
|
-
};
|
|
25894
|
-
|
|
25895
25877
|
/**
|
|
25896
25878
|
* ```js
|
|
25897
25879
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -26261,7 +26243,6 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
26261
26243
|
enableUnreadCount: enableUnreadCount,
|
|
26262
26244
|
setUploadedFileAccessType: setUploadedFileAccessType,
|
|
26263
26245
|
fetchLinkPreview: fetchLinkPreview,
|
|
26264
|
-
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
26265
26246
|
onConnectionError: onConnectionError,
|
|
26266
26247
|
onClientDisconnected: onClientDisconnected,
|
|
26267
26248
|
onClientBanned: onClientBanned,
|
|
@@ -33847,20 +33828,23 @@ const onStreamViewerBanned = (callback) => {
|
|
|
33847
33828
|
const client = getActiveClient();
|
|
33848
33829
|
const filter = (payloads) => {
|
|
33849
33830
|
var _a;
|
|
33850
|
-
|
|
33851
|
-
list.forEach(payload => {
|
|
33831
|
+
payloads.forEach(streamBanned => {
|
|
33852
33832
|
var _a;
|
|
33853
|
-
mergeInCache(['stream', 'get',
|
|
33833
|
+
mergeInCache(['stream', 'get', streamBanned.streamId], { watcherUrl: null });
|
|
33854
33834
|
// Update isDeleted = true in banned user's messages
|
|
33855
33835
|
const messageCache = (_a = queryCache(['message', 'get'])) === null || _a === void 0 ? void 0 : _a.filter(
|
|
33856
33836
|
// Check if creator id and user id are internal or external id
|
|
33857
|
-
({ data }) => data.creatorId ===
|
|
33837
|
+
({ data }) => data.creatorId === streamBanned.userId);
|
|
33858
33838
|
// Update isDeleted for each relavant messages
|
|
33859
33839
|
messageCache === null || messageCache === void 0 ? void 0 : messageCache.forEach(message => {
|
|
33860
33840
|
mergeInCache(message.key, { isDeleted: true });
|
|
33861
33841
|
});
|
|
33862
33842
|
});
|
|
33863
|
-
const stream = (_a = pullFromCache([
|
|
33843
|
+
const stream = (_a = pullFromCache([
|
|
33844
|
+
'stream',
|
|
33845
|
+
'get',
|
|
33846
|
+
payloads[0].streamId,
|
|
33847
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
33864
33848
|
if (!stream)
|
|
33865
33849
|
return;
|
|
33866
33850
|
callback(stream);
|
|
@@ -41666,6 +41650,238 @@ const semanticSearchPosts = (params, callback, config) => {
|
|
|
41666
41650
|
};
|
|
41667
41651
|
};
|
|
41668
41652
|
|
|
41653
|
+
class SearchPostPaginationController extends PaginationController {
|
|
41654
|
+
async getRequest(queryParams, token) {
|
|
41655
|
+
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
|
|
41656
|
+
const baseOptions = {
|
|
41657
|
+
type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
|
|
41658
|
+
};
|
|
41659
|
+
const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
|
|
41660
|
+
const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
|
|
41661
|
+
params: Object.assign(Object.assign({}, params), { hashtags,
|
|
41662
|
+
dataTypes,
|
|
41663
|
+
targetType,
|
|
41664
|
+
/*
|
|
41665
|
+
* when creating post like image, file, video BE will create 2 posts
|
|
41666
|
+
* 1. parent post to store text with dataType=text
|
|
41667
|
+
* 2. child post to store dataTypes post data
|
|
41668
|
+
*
|
|
41669
|
+
* By default, BE queries only parent post
|
|
41670
|
+
*/
|
|
41671
|
+
matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
|
|
41672
|
+
});
|
|
41673
|
+
return queryResponse;
|
|
41674
|
+
}
|
|
41675
|
+
}
|
|
41676
|
+
|
|
41677
|
+
class SearchPostQueryStreamController extends QueryStreamController {
|
|
41678
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
41679
|
+
super(query, cacheKey);
|
|
41680
|
+
this.notifyChange = notifyChange;
|
|
41681
|
+
this.preparePayload = preparePayload;
|
|
41682
|
+
}
|
|
41683
|
+
async saveToMainDB(response) {
|
|
41684
|
+
const processedPayload = await this.preparePayload(response);
|
|
41685
|
+
const client = getActiveClient();
|
|
41686
|
+
const cachedAt = client.cache && Date.now();
|
|
41687
|
+
if (client.cache) {
|
|
41688
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
41689
|
+
}
|
|
41690
|
+
}
|
|
41691
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
41692
|
+
var _a, _b;
|
|
41693
|
+
if (refresh) {
|
|
41694
|
+
pushToCache(this.cacheKey, {
|
|
41695
|
+
data: response.posts.map(getResolver('post')),
|
|
41696
|
+
});
|
|
41697
|
+
}
|
|
41698
|
+
else {
|
|
41699
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41700
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
41701
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
41702
|
+
}
|
|
41703
|
+
}
|
|
41704
|
+
reactor(action) {
|
|
41705
|
+
return (post) => {
|
|
41706
|
+
var _a, _b;
|
|
41707
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41708
|
+
if (!collection)
|
|
41709
|
+
return;
|
|
41710
|
+
if (post.parentPostId && post.isDeleted) {
|
|
41711
|
+
const parentPost = (_b = pullFromCache([
|
|
41712
|
+
'post',
|
|
41713
|
+
'get',
|
|
41714
|
+
post.parentPostId,
|
|
41715
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
41716
|
+
if (!parentPost)
|
|
41717
|
+
return;
|
|
41718
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
41719
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
41720
|
+
}
|
|
41721
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
41722
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
41723
|
+
}
|
|
41724
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
41725
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
41726
|
+
}
|
|
41727
|
+
pushToCache(this.cacheKey, collection);
|
|
41728
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
41729
|
+
};
|
|
41730
|
+
}
|
|
41731
|
+
subscribeRTE(createSubscriber) {
|
|
41732
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
41733
|
+
}
|
|
41734
|
+
}
|
|
41735
|
+
|
|
41736
|
+
class SearchPostLiveCollectionController extends LiveCollectionController {
|
|
41737
|
+
constructor(query, callback) {
|
|
41738
|
+
const queryStreamId = hash(query);
|
|
41739
|
+
const cacheKey = ['posts', 'collection', queryStreamId];
|
|
41740
|
+
const paginationController = new SearchPostPaginationController(query);
|
|
41741
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
41742
|
+
this.query = query;
|
|
41743
|
+
this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
41744
|
+
this.callback = callback.bind(this);
|
|
41745
|
+
this.loadPage({ initial: true });
|
|
41746
|
+
}
|
|
41747
|
+
setup() {
|
|
41748
|
+
var _a;
|
|
41749
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41750
|
+
if (!collection) {
|
|
41751
|
+
pushToCache(this.cacheKey, {
|
|
41752
|
+
data: [],
|
|
41753
|
+
params: {},
|
|
41754
|
+
});
|
|
41755
|
+
}
|
|
41756
|
+
}
|
|
41757
|
+
async persistModel(queryPayload) {
|
|
41758
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
41759
|
+
}
|
|
41760
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
41761
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
41762
|
+
}
|
|
41763
|
+
startSubscription() {
|
|
41764
|
+
return this.queryStreamController.subscribeRTE([
|
|
41765
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
41766
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
41767
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
41768
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
41769
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
41770
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
41771
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
41772
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
41773
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
41774
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
41775
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
41776
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
41777
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
41778
|
+
{
|
|
41779
|
+
fn: convertEventPayload((callback) => {
|
|
41780
|
+
return onCommentCreated(async (comment) => {
|
|
41781
|
+
var _a;
|
|
41782
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41783
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
41784
|
+
return;
|
|
41785
|
+
await getPost(comment.referenceId);
|
|
41786
|
+
callback(comment);
|
|
41787
|
+
});
|
|
41788
|
+
}, 'referenceId', 'post'),
|
|
41789
|
+
action: EnumPostActions.OnPostUpdated,
|
|
41790
|
+
},
|
|
41791
|
+
{
|
|
41792
|
+
fn: convertEventPayload((callback) => {
|
|
41793
|
+
return onCommentDeleted(async (comment) => {
|
|
41794
|
+
var _a;
|
|
41795
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41796
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
41797
|
+
return;
|
|
41798
|
+
await getPost(comment.referenceId);
|
|
41799
|
+
callback(comment);
|
|
41800
|
+
});
|
|
41801
|
+
}, 'referenceId', 'post'),
|
|
41802
|
+
action: EnumPostActions.OnPostUpdated,
|
|
41803
|
+
},
|
|
41804
|
+
]);
|
|
41805
|
+
}
|
|
41806
|
+
notifyChange({ origin, loading, error }) {
|
|
41807
|
+
var _a, _b;
|
|
41808
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
41809
|
+
if (!collection)
|
|
41810
|
+
return;
|
|
41811
|
+
const data = this.applyFilter((_b = collection.data
|
|
41812
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
41813
|
+
.filter(isNonNullable)
|
|
41814
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
41815
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
41816
|
+
return;
|
|
41817
|
+
this.callback({
|
|
41818
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
41819
|
+
data,
|
|
41820
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
41821
|
+
loading,
|
|
41822
|
+
error,
|
|
41823
|
+
});
|
|
41824
|
+
}
|
|
41825
|
+
applyFilter(data) {
|
|
41826
|
+
var _a;
|
|
41827
|
+
let posts = data;
|
|
41828
|
+
if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
41829
|
+
posts = filterByPostDataTypes(posts, this.query.dataTypes);
|
|
41830
|
+
}
|
|
41831
|
+
switch (this.query.sortBy) {
|
|
41832
|
+
case 'firstCreated':
|
|
41833
|
+
posts = posts.sort(sortByFirstCreated);
|
|
41834
|
+
break;
|
|
41835
|
+
case 'lastCreated':
|
|
41836
|
+
default:
|
|
41837
|
+
posts = posts.sort(sortByLastCreated);
|
|
41838
|
+
break;
|
|
41839
|
+
}
|
|
41840
|
+
return posts;
|
|
41841
|
+
}
|
|
41842
|
+
}
|
|
41843
|
+
|
|
41844
|
+
/* begin_public_function
|
|
41845
|
+
id: post.query
|
|
41846
|
+
*/
|
|
41847
|
+
/**
|
|
41848
|
+
* ```js
|
|
41849
|
+
* import { PostRepository } from '@amityco/ts-sdk'
|
|
41850
|
+
*
|
|
41851
|
+
* let posts = []
|
|
41852
|
+
* const unsub = PostRepository.searchPostsByHashtag({
|
|
41853
|
+
* hashtags: ['amity'],
|
|
41854
|
+
* limit: 10,
|
|
41855
|
+
* }, response => merge(posts, response.data))
|
|
41856
|
+
* ```
|
|
41857
|
+
*
|
|
41858
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given target object
|
|
41859
|
+
*
|
|
41860
|
+
* @param params.hashtags the hashtags to search for
|
|
41861
|
+
* @param callback the function to call when new data are available
|
|
41862
|
+
* @param config
|
|
41863
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
41864
|
+
*
|
|
41865
|
+
* @category Posts Live Collection
|
|
41866
|
+
*/
|
|
41867
|
+
const searchPostsByHashtag = (params, callback, config) => {
|
|
41868
|
+
const { log, cache } = getActiveClient();
|
|
41869
|
+
if (!cache) {
|
|
41870
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
41871
|
+
}
|
|
41872
|
+
const timestamp = Date.now();
|
|
41873
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
|
|
41874
|
+
const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
|
|
41875
|
+
const disposers = postsLiveCollection.startSubscription();
|
|
41876
|
+
const cacheKey = postsLiveCollection.getCacheKey();
|
|
41877
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
41878
|
+
return () => {
|
|
41879
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
|
|
41880
|
+
disposers.forEach(fn => fn());
|
|
41881
|
+
};
|
|
41882
|
+
};
|
|
41883
|
+
/* end_public_function */
|
|
41884
|
+
|
|
41669
41885
|
var index$8 = /*#__PURE__*/Object.freeze({
|
|
41670
41886
|
__proto__: null,
|
|
41671
41887
|
getPostByIds: getPostByIds,
|
|
@@ -41693,7 +41909,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
|
|
|
41693
41909
|
getPosts: getPosts,
|
|
41694
41910
|
getPinnedPosts: getPinnedPosts,
|
|
41695
41911
|
getGlobalPinnedPosts: getGlobalPinnedPosts,
|
|
41696
|
-
semanticSearchPosts: semanticSearchPosts
|
|
41912
|
+
semanticSearchPosts: semanticSearchPosts,
|
|
41913
|
+
searchPostsByHashtag: searchPostsByHashtag
|
|
41697
41914
|
});
|
|
41698
41915
|
|
|
41699
41916
|
/* begin_public_function
|
|
@@ -42058,9 +42275,12 @@ const onStreamViewerUnbanned = (callback) => {
|
|
|
42058
42275
|
const filter = async (payloads) => {
|
|
42059
42276
|
var _a;
|
|
42060
42277
|
// Get new stream object to restore stream watcherUrl in cache
|
|
42061
|
-
|
|
42062
|
-
|
|
42063
|
-
|
|
42278
|
+
await Promise.all(payloads.map(({ streamId }) => getStream(streamId)));
|
|
42279
|
+
const stream = (_a = pullFromCache([
|
|
42280
|
+
'stream',
|
|
42281
|
+
'get',
|
|
42282
|
+
payloads[0].streamId,
|
|
42283
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
42064
42284
|
if (!stream)
|
|
42065
42285
|
return;
|
|
42066
42286
|
callback(stream);
|