@amityco/ts-sdk 7.8.1-1b0200c.0 → 7.8.1-2caef95.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/domains/client.d.ts +4 -0
- 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/content.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.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/poll.d.ts +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.js.map +1 -1
- 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/client/api/getShareableLinkConfiguration.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js +21 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +1 -0
- 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 +1 -0
- 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/pollRepository/api/createPoll.d.ts +3 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.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/tsconfig.tsbuildinfo +1 -1
- package/dist/@types/domains/client.d.ts +4 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +1 -0
- package/dist/@types/domains/content.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/poll.d.ts +3 -1
- package/dist/@types/domains/poll.d.ts.map +1 -1
- 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/client/api/getShareableLinkConfiguration.d.ts +16 -0
- package/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +1 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/index.cjs.js +257 -3
- package/dist/index.esm.js +257 -3
- package/dist/index.umd.js +4 -4
- package/dist/pollRepository/api/createPoll.d.ts +3 -3
- package/dist/pollRepository/api/createPoll.d.ts.map +1 -1
- 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/package.json +1 -1
- package/src/@types/domains/client.ts +5 -0
- package/src/@types/domains/content.ts +1 -0
- package/src/@types/domains/hashtag.ts +11 -0
- package/src/@types/domains/poll.ts +3 -1
- package/src/@types/domains/post.ts +18 -1
- package/src/@types/index.ts +1 -0
- package/src/client/api/getShareableLinkConfiguration.ts +26 -0
- package/src/client/api/index.ts +2 -0
- package/src/pollRepository/api/createPoll.ts +3 -3
- 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/tsconfig.tsbuildinfo +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -25873,6 +25873,26 @@ const fetchLinkPreview = async (url) => {
|
|
|
25873
25873
|
return data;
|
|
25874
25874
|
};
|
|
25875
25875
|
|
|
25876
|
+
/**
|
|
25877
|
+
* ```js
|
|
25878
|
+
* import Client from '@amityco/ts-sdk'
|
|
25879
|
+
* const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
|
|
25880
|
+
* const postLinkPattern = shareableLinkConfiguration.post
|
|
25881
|
+
* ```
|
|
25882
|
+
*
|
|
25883
|
+
* Fetches a {@link Amity.ShareableLinkConfiguration} object
|
|
25884
|
+
*
|
|
25885
|
+
* @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
|
|
25886
|
+
*
|
|
25887
|
+
* @category Client API
|
|
25888
|
+
* @async
|
|
25889
|
+
*/
|
|
25890
|
+
const getShareableLinkConfiguration = async () => {
|
|
25891
|
+
const client = getActiveClient();
|
|
25892
|
+
const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
|
|
25893
|
+
return data;
|
|
25894
|
+
};
|
|
25895
|
+
|
|
25876
25896
|
/**
|
|
25877
25897
|
* ```js
|
|
25878
25898
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -26242,6 +26262,7 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
26242
26262
|
enableUnreadCount: enableUnreadCount,
|
|
26243
26263
|
setUploadedFileAccessType: setUploadedFileAccessType,
|
|
26244
26264
|
fetchLinkPreview: fetchLinkPreview,
|
|
26265
|
+
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
26245
26266
|
onConnectionError: onConnectionError,
|
|
26246
26267
|
onClientDisconnected: onClientDisconnected,
|
|
26247
26268
|
onClientBanned: onClientBanned,
|
|
@@ -42003,6 +42024,238 @@ const semanticSearchPosts = (params, callback, config) => {
|
|
|
42003
42024
|
};
|
|
42004
42025
|
};
|
|
42005
42026
|
|
|
42027
|
+
class SearchPostPaginationController extends PaginationController {
|
|
42028
|
+
async getRequest(queryParams, token) {
|
|
42029
|
+
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
|
|
42030
|
+
const baseOptions = {
|
|
42031
|
+
type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
|
|
42032
|
+
};
|
|
42033
|
+
const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
|
|
42034
|
+
const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
|
|
42035
|
+
params: Object.assign(Object.assign({}, params), { hashtags,
|
|
42036
|
+
dataTypes,
|
|
42037
|
+
targetType,
|
|
42038
|
+
/*
|
|
42039
|
+
* when creating post like image, file, video BE will create 2 posts
|
|
42040
|
+
* 1. parent post to store text with dataType=text
|
|
42041
|
+
* 2. child post to store dataTypes post data
|
|
42042
|
+
*
|
|
42043
|
+
* By default, BE queries only parent post
|
|
42044
|
+
*/
|
|
42045
|
+
matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
|
|
42046
|
+
});
|
|
42047
|
+
return queryResponse;
|
|
42048
|
+
}
|
|
42049
|
+
}
|
|
42050
|
+
|
|
42051
|
+
class SearchPostQueryStreamController extends QueryStreamController {
|
|
42052
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
42053
|
+
super(query, cacheKey);
|
|
42054
|
+
this.notifyChange = notifyChange;
|
|
42055
|
+
this.preparePayload = preparePayload;
|
|
42056
|
+
}
|
|
42057
|
+
async saveToMainDB(response) {
|
|
42058
|
+
const processedPayload = await this.preparePayload(response);
|
|
42059
|
+
const client = getActiveClient();
|
|
42060
|
+
const cachedAt = client.cache && Date.now();
|
|
42061
|
+
if (client.cache) {
|
|
42062
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
42063
|
+
}
|
|
42064
|
+
}
|
|
42065
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
42066
|
+
var _a, _b;
|
|
42067
|
+
if (refresh) {
|
|
42068
|
+
pushToCache(this.cacheKey, {
|
|
42069
|
+
data: response.posts.map(getResolver('post')),
|
|
42070
|
+
});
|
|
42071
|
+
}
|
|
42072
|
+
else {
|
|
42073
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42074
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
42075
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
42076
|
+
}
|
|
42077
|
+
}
|
|
42078
|
+
reactor(action) {
|
|
42079
|
+
return (post) => {
|
|
42080
|
+
var _a, _b;
|
|
42081
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42082
|
+
if (!collection)
|
|
42083
|
+
return;
|
|
42084
|
+
if (post.parentPostId && post.isDeleted) {
|
|
42085
|
+
const parentPost = (_b = pullFromCache([
|
|
42086
|
+
'post',
|
|
42087
|
+
'get',
|
|
42088
|
+
post.parentPostId,
|
|
42089
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
42090
|
+
if (!parentPost)
|
|
42091
|
+
return;
|
|
42092
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
42093
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
42094
|
+
}
|
|
42095
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
42096
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
42097
|
+
}
|
|
42098
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
42099
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
42100
|
+
}
|
|
42101
|
+
pushToCache(this.cacheKey, collection);
|
|
42102
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
42103
|
+
};
|
|
42104
|
+
}
|
|
42105
|
+
subscribeRTE(createSubscriber) {
|
|
42106
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
42107
|
+
}
|
|
42108
|
+
}
|
|
42109
|
+
|
|
42110
|
+
class SearchPostLiveCollectionController extends LiveCollectionController {
|
|
42111
|
+
constructor(query, callback) {
|
|
42112
|
+
const queryStreamId = hash(query);
|
|
42113
|
+
const cacheKey = ['posts', 'collection', queryStreamId];
|
|
42114
|
+
const paginationController = new SearchPostPaginationController(query);
|
|
42115
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
42116
|
+
this.query = query;
|
|
42117
|
+
this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
42118
|
+
this.callback = callback.bind(this);
|
|
42119
|
+
this.loadPage({ initial: true });
|
|
42120
|
+
}
|
|
42121
|
+
setup() {
|
|
42122
|
+
var _a;
|
|
42123
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42124
|
+
if (!collection) {
|
|
42125
|
+
pushToCache(this.cacheKey, {
|
|
42126
|
+
data: [],
|
|
42127
|
+
params: {},
|
|
42128
|
+
});
|
|
42129
|
+
}
|
|
42130
|
+
}
|
|
42131
|
+
async persistModel(queryPayload) {
|
|
42132
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
42133
|
+
}
|
|
42134
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
42135
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
42136
|
+
}
|
|
42137
|
+
startSubscription() {
|
|
42138
|
+
return this.queryStreamController.subscribeRTE([
|
|
42139
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
42140
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
42141
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
42142
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
42143
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
42144
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
42145
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
42146
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
42147
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
42148
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
42149
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
42150
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
42151
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
42152
|
+
{
|
|
42153
|
+
fn: convertEventPayload((callback) => {
|
|
42154
|
+
return onCommentCreated(async (comment) => {
|
|
42155
|
+
var _a;
|
|
42156
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42157
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
42158
|
+
return;
|
|
42159
|
+
await getPost$1(comment.referenceId);
|
|
42160
|
+
callback(comment);
|
|
42161
|
+
});
|
|
42162
|
+
}, 'referenceId', 'post'),
|
|
42163
|
+
action: EnumPostActions.OnPostUpdated,
|
|
42164
|
+
},
|
|
42165
|
+
{
|
|
42166
|
+
fn: convertEventPayload((callback) => {
|
|
42167
|
+
return onCommentDeleted(async (comment) => {
|
|
42168
|
+
var _a;
|
|
42169
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42170
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
42171
|
+
return;
|
|
42172
|
+
await getPost$1(comment.referenceId);
|
|
42173
|
+
callback(comment);
|
|
42174
|
+
});
|
|
42175
|
+
}, 'referenceId', 'post'),
|
|
42176
|
+
action: EnumPostActions.OnPostUpdated,
|
|
42177
|
+
},
|
|
42178
|
+
]);
|
|
42179
|
+
}
|
|
42180
|
+
notifyChange({ origin, loading, error }) {
|
|
42181
|
+
var _a, _b;
|
|
42182
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
42183
|
+
if (!collection)
|
|
42184
|
+
return;
|
|
42185
|
+
const data = this.applyFilter((_b = collection.data
|
|
42186
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
42187
|
+
.filter(isNonNullable)
|
|
42188
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
42189
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
42190
|
+
return;
|
|
42191
|
+
this.callback({
|
|
42192
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
42193
|
+
data,
|
|
42194
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
42195
|
+
loading,
|
|
42196
|
+
error,
|
|
42197
|
+
});
|
|
42198
|
+
}
|
|
42199
|
+
applyFilter(data) {
|
|
42200
|
+
var _a;
|
|
42201
|
+
let posts = data;
|
|
42202
|
+
if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
42203
|
+
posts = filterByPostDataTypes(posts, this.query.dataTypes);
|
|
42204
|
+
}
|
|
42205
|
+
switch (this.query.sortBy) {
|
|
42206
|
+
case 'firstCreated':
|
|
42207
|
+
posts = posts.sort(sortByFirstCreated);
|
|
42208
|
+
break;
|
|
42209
|
+
case 'lastCreated':
|
|
42210
|
+
default:
|
|
42211
|
+
posts = posts.sort(sortByLastCreated);
|
|
42212
|
+
break;
|
|
42213
|
+
}
|
|
42214
|
+
return posts;
|
|
42215
|
+
}
|
|
42216
|
+
}
|
|
42217
|
+
|
|
42218
|
+
/* begin_public_function
|
|
42219
|
+
id: post.query
|
|
42220
|
+
*/
|
|
42221
|
+
/**
|
|
42222
|
+
* ```js
|
|
42223
|
+
* import { PostRepository } from '@amityco/ts-sdk'
|
|
42224
|
+
*
|
|
42225
|
+
* let posts = []
|
|
42226
|
+
* const unsub = PostRepository.searchPostsByHashtag({
|
|
42227
|
+
* hashtags: ['amity'],
|
|
42228
|
+
* limit: 10,
|
|
42229
|
+
* }, response => merge(posts, response.data))
|
|
42230
|
+
* ```
|
|
42231
|
+
*
|
|
42232
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given target object
|
|
42233
|
+
*
|
|
42234
|
+
* @param params.hashtags the hashtags to search for
|
|
42235
|
+
* @param callback the function to call when new data are available
|
|
42236
|
+
* @param config
|
|
42237
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
42238
|
+
*
|
|
42239
|
+
* @category Posts Live Collection
|
|
42240
|
+
*/
|
|
42241
|
+
const searchPostsByHashtag = (params, callback, config) => {
|
|
42242
|
+
const { log, cache } = getActiveClient();
|
|
42243
|
+
if (!cache) {
|
|
42244
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
42245
|
+
}
|
|
42246
|
+
const timestamp = Date.now();
|
|
42247
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
|
|
42248
|
+
const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
|
|
42249
|
+
const disposers = postsLiveCollection.startSubscription();
|
|
42250
|
+
const cacheKey = postsLiveCollection.getCacheKey();
|
|
42251
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
42252
|
+
return () => {
|
|
42253
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
|
|
42254
|
+
disposers.forEach(fn => fn());
|
|
42255
|
+
};
|
|
42256
|
+
};
|
|
42257
|
+
/* end_public_function */
|
|
42258
|
+
|
|
42006
42259
|
var index$8 = /*#__PURE__*/Object.freeze({
|
|
42007
42260
|
__proto__: null,
|
|
42008
42261
|
getPostByIds: getPostByIds,
|
|
@@ -42030,7 +42283,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
|
|
|
42030
42283
|
getPosts: getPosts,
|
|
42031
42284
|
getPinnedPosts: getPinnedPosts,
|
|
42032
42285
|
getGlobalPinnedPosts: getGlobalPinnedPosts,
|
|
42033
|
-
semanticSearchPosts: semanticSearchPosts
|
|
42286
|
+
semanticSearchPosts: semanticSearchPosts,
|
|
42287
|
+
searchPostsByHashtag: searchPostsByHashtag
|
|
42034
42288
|
});
|
|
42035
42289
|
|
|
42036
42290
|
/* begin_public_function
|
|
@@ -42635,8 +42889,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
|
|
|
42635
42889
|
* const created = await createPoll({
|
|
42636
42890
|
* question: 'question',
|
|
42637
42891
|
* answers: [
|
|
42638
|
-
* { dataType: 'text', data: 'answer1' },
|
|
42639
|
-
* { dataType: 'text', data: 'answer2' },
|
|
42892
|
+
* { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
|
|
42893
|
+
* { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
|
|
42640
42894
|
* ],
|
|
42641
42895
|
* closedIn: 1649136484
|
|
42642
42896
|
* }))
|