@amityco/ts-sdk 7.8.1-dbb2fc7.0 → 7.8.1-e2ad782.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/community.d.ts +2 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/community.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/community.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/feed.d.ts +32 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js +22 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.d.ts +1 -4
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.js.map +1 -1
- 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/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 +2 -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 +2 -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/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.js +3 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +108 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js +78 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js +46 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.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/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/community.d.ts +2 -1
- package/dist/@types/domains/community.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/feed.d.ts +32 -0
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/pinnedPost.d.ts +1 -4
- package/dist/@types/domains/pinnedPost.d.ts.map +1 -1
- package/dist/@types/domains/poll.d.ts +3 -1
- package/dist/@types/domains/poll.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 +2 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
- package/dist/feedRepository/index.d.ts +1 -1
- package/dist/feedRepository/index.d.ts.map +1 -1
- package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +13 -0
- package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
- package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
- package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
- package/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
- package/dist/feedRepository/observers/index.d.ts +1 -0
- package/dist/feedRepository/observers/index.d.ts.map +1 -1
- package/dist/index.cjs.js +267 -5
- package/dist/index.esm.js +268 -6
- package/dist/index.umd.js +4 -4
- package/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
- package/dist/pollRepository/api/createPoll.d.ts +3 -3
- package/dist/pollRepository/api/createPoll.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/client.ts +5 -0
- package/src/@types/domains/community.ts +1 -0
- package/src/@types/domains/content.ts +1 -0
- package/src/@types/domains/feed.ts +44 -0
- package/src/@types/domains/pinnedPost.ts +1 -4
- package/src/@types/domains/poll.ts +3 -1
- package/src/@types/index.ts +1 -0
- package/src/client/api/getShareableLinkConfiguration.ts +26 -0
- package/src/client/api/index.ts +4 -0
- package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +3 -3
- package/src/feedRepository/index.ts +1 -1
- package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +162 -0
- package/src/feedRepository/observers/getUserFeed/PaginationController.ts +37 -0
- package/src/feedRepository/observers/getUserFeed/QueryStreamController.ts +119 -0
- package/src/feedRepository/observers/getUserFeed.ts +56 -0
- package/src/feedRepository/observers/index.ts +1 -0
- package/src/liveReactionRepository/api/createReaction.ts +0 -1
- package/src/pollRepository/api/createPoll.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -153,6 +153,29 @@ exports.JoinResultStatusEnum = void 0;
|
|
|
153
153
|
JoinResultStatusEnum["Pending"] = "pending";
|
|
154
154
|
})(exports.JoinResultStatusEnum || (exports.JoinResultStatusEnum = {}));
|
|
155
155
|
|
|
156
|
+
exports.FeedDataTypeEnum = void 0;
|
|
157
|
+
(function (FeedDataTypeEnum) {
|
|
158
|
+
FeedDataTypeEnum["Text"] = "text";
|
|
159
|
+
FeedDataTypeEnum["Video"] = "video";
|
|
160
|
+
FeedDataTypeEnum["Image"] = "image";
|
|
161
|
+
FeedDataTypeEnum["File"] = "file";
|
|
162
|
+
FeedDataTypeEnum["LiveStream"] = "liveStream";
|
|
163
|
+
FeedDataTypeEnum["Clip"] = "clip";
|
|
164
|
+
FeedDataTypeEnum["Poll"] = "poll";
|
|
165
|
+
})(exports.FeedDataTypeEnum || (exports.FeedDataTypeEnum = {}));
|
|
166
|
+
exports.FeedSortByEnum = void 0;
|
|
167
|
+
(function (FeedSortByEnum) {
|
|
168
|
+
FeedSortByEnum["LastCreated"] = "lastCreated";
|
|
169
|
+
FeedSortByEnum["FirstCreated"] = "firstCreated";
|
|
170
|
+
FeedSortByEnum["LastUpdated"] = "lastUpdated";
|
|
171
|
+
FeedSortByEnum["FirstUpdated"] = "firstUpdated";
|
|
172
|
+
})(exports.FeedSortByEnum || (exports.FeedSortByEnum = {}));
|
|
173
|
+
exports.FeedSourceEnum = void 0;
|
|
174
|
+
(function (FeedSourceEnum) {
|
|
175
|
+
FeedSourceEnum["Community"] = "community";
|
|
176
|
+
FeedSourceEnum["User"] = "user";
|
|
177
|
+
})(exports.FeedSourceEnum || (exports.FeedSourceEnum = {}));
|
|
178
|
+
|
|
156
179
|
function getVersion() {
|
|
157
180
|
try {
|
|
158
181
|
// the string ''v7.8.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
@@ -9782,6 +9805,26 @@ const fetchLinkPreview = async (url) => {
|
|
|
9782
9805
|
return data;
|
|
9783
9806
|
};
|
|
9784
9807
|
|
|
9808
|
+
/**
|
|
9809
|
+
* ```js
|
|
9810
|
+
* import Client from '@amityco/ts-sdk'
|
|
9811
|
+
* const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
|
|
9812
|
+
* const postLinkPattern = shareableLinkConfiguration.post
|
|
9813
|
+
* ```
|
|
9814
|
+
*
|
|
9815
|
+
* Fetches a {@link Amity.ShareableLinkConfiguration} object
|
|
9816
|
+
*
|
|
9817
|
+
* @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
|
|
9818
|
+
*
|
|
9819
|
+
* @category Client API
|
|
9820
|
+
* @async
|
|
9821
|
+
*/
|
|
9822
|
+
const getShareableLinkConfiguration = async () => {
|
|
9823
|
+
const client = getActiveClient();
|
|
9824
|
+
const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
|
|
9825
|
+
return data;
|
|
9826
|
+
};
|
|
9827
|
+
|
|
9785
9828
|
/**
|
|
9786
9829
|
* ```js
|
|
9787
9830
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -10151,6 +10194,8 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
10151
10194
|
enableUnreadCount: enableUnreadCount,
|
|
10152
10195
|
setUploadedFileAccessType: setUploadedFileAccessType,
|
|
10153
10196
|
fetchLinkPreview: fetchLinkPreview,
|
|
10197
|
+
getSocialSettings: getSocialSettings,
|
|
10198
|
+
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
10154
10199
|
onConnectionError: onConnectionError,
|
|
10155
10200
|
onClientDisconnected: onClientDisconnected,
|
|
10156
10201
|
onClientBanned: onClientBanned,
|
|
@@ -21804,10 +21849,10 @@ class CommunityLiveCollectionController extends LiveCollectionController {
|
|
|
21804
21849
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
21805
21850
|
if (!collection)
|
|
21806
21851
|
return;
|
|
21807
|
-
const data =
|
|
21852
|
+
const data = (_b = collection.data
|
|
21808
21853
|
.map(id => pullFromCache(['community', 'get', id]))
|
|
21809
21854
|
.filter(isNonNullable)
|
|
21810
|
-
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []
|
|
21855
|
+
.map(({ data }) => communityLinkedObject(data))) !== null && _b !== void 0 ? _b : [];
|
|
21811
21856
|
if (!this.shouldNotify(data) && origin === 'event')
|
|
21812
21857
|
return;
|
|
21813
21858
|
this.callback({
|
|
@@ -24550,11 +24595,228 @@ const getGlobalFeed = (params, callback, config) => {
|
|
|
24550
24595
|
};
|
|
24551
24596
|
/* end_public_function */
|
|
24552
24597
|
|
|
24598
|
+
class UserFeedPaginationController extends PaginationController {
|
|
24599
|
+
async getRequest(queryParams, token) {
|
|
24600
|
+
const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
|
|
24601
|
+
const options = token ? { token } : { limit };
|
|
24602
|
+
const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
|
|
24603
|
+
params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
|
|
24604
|
+
});
|
|
24605
|
+
return queryResponse;
|
|
24606
|
+
}
|
|
24607
|
+
}
|
|
24608
|
+
|
|
24609
|
+
class UserFeedQueryStreamController extends QueryStreamController {
|
|
24610
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
24611
|
+
super(query, cacheKey);
|
|
24612
|
+
this.notifyChange = notifyChange;
|
|
24613
|
+
this.preparePayload = preparePayload;
|
|
24614
|
+
}
|
|
24615
|
+
async saveToMainDB(response) {
|
|
24616
|
+
const processedPayload = await this.preparePayload(response);
|
|
24617
|
+
const client = getActiveClient();
|
|
24618
|
+
const cachedAt = client.cache && Date.now();
|
|
24619
|
+
if (client.cache) {
|
|
24620
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
24621
|
+
}
|
|
24622
|
+
}
|
|
24623
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
24624
|
+
var _a, _b;
|
|
24625
|
+
if (refresh) {
|
|
24626
|
+
pushToCache(this.cacheKey, {
|
|
24627
|
+
data: response.posts.map(getResolver('post')),
|
|
24628
|
+
});
|
|
24629
|
+
}
|
|
24630
|
+
else {
|
|
24631
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24632
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
24633
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
24634
|
+
}
|
|
24635
|
+
}
|
|
24636
|
+
reactor(action) {
|
|
24637
|
+
return (post) => {
|
|
24638
|
+
var _a, _b;
|
|
24639
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24640
|
+
if (!collection)
|
|
24641
|
+
return;
|
|
24642
|
+
// if the collection is parent post collection and
|
|
24643
|
+
// post is not included in the collection or post is child post
|
|
24644
|
+
if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
|
|
24645
|
+
!collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
|
|
24646
|
+
return;
|
|
24647
|
+
if (action === EnumPostActions.OnPostDeleted) {
|
|
24648
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24649
|
+
}
|
|
24650
|
+
if (post.parentPostId && post.isDeleted) {
|
|
24651
|
+
const parentPost = (_b = pullFromCache([
|
|
24652
|
+
'post',
|
|
24653
|
+
'get',
|
|
24654
|
+
post.parentPostId,
|
|
24655
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
24656
|
+
if (!parentPost)
|
|
24657
|
+
return;
|
|
24658
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
24659
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
24660
|
+
}
|
|
24661
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
24662
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24663
|
+
}
|
|
24664
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
24665
|
+
if (this.query.dataTypes &&
|
|
24666
|
+
this.query.dataTypes.length > 0 &&
|
|
24667
|
+
!this.query.dataTypes.includes(post.dataType)) {
|
|
24668
|
+
return;
|
|
24669
|
+
}
|
|
24670
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
24671
|
+
}
|
|
24672
|
+
pushToCache(this.cacheKey, collection);
|
|
24673
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
24674
|
+
};
|
|
24675
|
+
}
|
|
24676
|
+
subscribeRTE(createSubscriber) {
|
|
24677
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
24678
|
+
}
|
|
24679
|
+
}
|
|
24680
|
+
|
|
24681
|
+
class UserFeedLiveCollectionController extends LiveCollectionController {
|
|
24682
|
+
constructor(query, callback) {
|
|
24683
|
+
const queryStreamId = hash__default["default"](query);
|
|
24684
|
+
const cacheKey = ['userFeed', 'collection', queryStreamId];
|
|
24685
|
+
const paginationController = new UserFeedPaginationController(query);
|
|
24686
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
24687
|
+
this.query = query;
|
|
24688
|
+
this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
24689
|
+
this.callback = callback.bind(this);
|
|
24690
|
+
this.loadPage({ initial: true });
|
|
24691
|
+
}
|
|
24692
|
+
setup() {
|
|
24693
|
+
var _a;
|
|
24694
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24695
|
+
if (!collection) {
|
|
24696
|
+
pushToCache(this.cacheKey, {
|
|
24697
|
+
data: [],
|
|
24698
|
+
params: {},
|
|
24699
|
+
});
|
|
24700
|
+
}
|
|
24701
|
+
}
|
|
24702
|
+
async persistModel(queryPayload) {
|
|
24703
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
24704
|
+
}
|
|
24705
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
24706
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
24707
|
+
}
|
|
24708
|
+
startSubscription() {
|
|
24709
|
+
return this.queryStreamController.subscribeRTE([
|
|
24710
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
24711
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
24712
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
24713
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24714
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
24715
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
24716
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
24717
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
24718
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24719
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24720
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24721
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24722
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24723
|
+
{
|
|
24724
|
+
fn: convertEventPayload((callback) => {
|
|
24725
|
+
return onCommentCreated(async (comment) => {
|
|
24726
|
+
var _a;
|
|
24727
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24728
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24729
|
+
return;
|
|
24730
|
+
await getPost$1(comment.referenceId);
|
|
24731
|
+
callback(comment);
|
|
24732
|
+
});
|
|
24733
|
+
}, 'referenceId', 'post'),
|
|
24734
|
+
action: EnumPostActions.OnPostUpdated,
|
|
24735
|
+
},
|
|
24736
|
+
{
|
|
24737
|
+
fn: convertEventPayload((callback) => {
|
|
24738
|
+
return onCommentDeleted(async (comment) => {
|
|
24739
|
+
var _a;
|
|
24740
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24741
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24742
|
+
return;
|
|
24743
|
+
await getPost$1(comment.referenceId);
|
|
24744
|
+
callback(comment);
|
|
24745
|
+
});
|
|
24746
|
+
}, 'referenceId', 'post'),
|
|
24747
|
+
action: EnumPostActions.OnPostUpdated,
|
|
24748
|
+
},
|
|
24749
|
+
]);
|
|
24750
|
+
}
|
|
24751
|
+
notifyChange({ origin, loading, error }) {
|
|
24752
|
+
var _a, _b;
|
|
24753
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24754
|
+
if (!collection)
|
|
24755
|
+
return;
|
|
24756
|
+
const data = ((_b = collection.data
|
|
24757
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
24758
|
+
.filter(isNonNullable)
|
|
24759
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
24760
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
24761
|
+
return;
|
|
24762
|
+
this.callback({
|
|
24763
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
24764
|
+
data,
|
|
24765
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
24766
|
+
loading,
|
|
24767
|
+
error,
|
|
24768
|
+
});
|
|
24769
|
+
}
|
|
24770
|
+
}
|
|
24771
|
+
|
|
24772
|
+
/* begin_public_function
|
|
24773
|
+
id: feed.query.user_feed
|
|
24774
|
+
*/
|
|
24775
|
+
/**
|
|
24776
|
+
* ```js
|
|
24777
|
+
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
24778
|
+
*
|
|
24779
|
+
* let posts = []
|
|
24780
|
+
* const unsubscribe = FeedRepository.getUserFeed({
|
|
24781
|
+
* userId: string,
|
|
24782
|
+
* feedSources: ['user', 'community'],
|
|
24783
|
+
* }, response => response => processResponse(response))
|
|
24784
|
+
* ```
|
|
24785
|
+
*
|
|
24786
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
|
|
24787
|
+
*
|
|
24788
|
+
* @param params.userId the ID of the user
|
|
24789
|
+
* @param params.feedSources the sources of the feed
|
|
24790
|
+
* @param callback the function to call when new data are available
|
|
24791
|
+
* @param config
|
|
24792
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
24793
|
+
*
|
|
24794
|
+
* @category Posts Live Collection
|
|
24795
|
+
*/
|
|
24796
|
+
const getUserFeed = (params, callback, config) => {
|
|
24797
|
+
const { log, cache } = getActiveClient();
|
|
24798
|
+
if (!cache) {
|
|
24799
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
24800
|
+
}
|
|
24801
|
+
const timestamp = Date.now();
|
|
24802
|
+
log(`getUserFeed(tmpid: ${timestamp}) > listen`);
|
|
24803
|
+
const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
|
|
24804
|
+
const disposers = userFeedLiveCollection.startSubscription();
|
|
24805
|
+
const cacheKey = userFeedLiveCollection.getCacheKey();
|
|
24806
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
24807
|
+
return () => {
|
|
24808
|
+
log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
|
|
24809
|
+
disposers.forEach(fn => fn());
|
|
24810
|
+
};
|
|
24811
|
+
};
|
|
24812
|
+
/* end_public_function */
|
|
24813
|
+
|
|
24553
24814
|
var index$9 = /*#__PURE__*/Object.freeze({
|
|
24554
24815
|
__proto__: null,
|
|
24555
24816
|
queryGlobalFeed: queryGlobalFeed,
|
|
24556
24817
|
getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
|
|
24557
|
-
getGlobalFeed: getGlobalFeed
|
|
24818
|
+
getGlobalFeed: getGlobalFeed,
|
|
24819
|
+
getUserFeed: getUserFeed
|
|
24558
24820
|
});
|
|
24559
24821
|
|
|
24560
24822
|
/* begin_public_function
|
|
@@ -26777,8 +27039,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
|
|
|
26777
27039
|
* const created = await createPoll({
|
|
26778
27040
|
* question: 'question',
|
|
26779
27041
|
* answers: [
|
|
26780
|
-
* { dataType: 'text', data: 'answer1' },
|
|
26781
|
-
* { dataType: 'text', data: 'answer2' },
|
|
27042
|
+
* { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
|
|
27043
|
+
* { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
|
|
26782
27044
|
* ],
|
|
26783
27045
|
* closedIn: 1649136484
|
|
26784
27046
|
* }))
|
package/dist/index.esm.js
CHANGED
|
@@ -137,6 +137,29 @@ var JoinResultStatusEnum;
|
|
|
137
137
|
JoinResultStatusEnum["Pending"] = "pending";
|
|
138
138
|
})(JoinResultStatusEnum || (JoinResultStatusEnum = {}));
|
|
139
139
|
|
|
140
|
+
var FeedDataTypeEnum;
|
|
141
|
+
(function (FeedDataTypeEnum) {
|
|
142
|
+
FeedDataTypeEnum["Text"] = "text";
|
|
143
|
+
FeedDataTypeEnum["Video"] = "video";
|
|
144
|
+
FeedDataTypeEnum["Image"] = "image";
|
|
145
|
+
FeedDataTypeEnum["File"] = "file";
|
|
146
|
+
FeedDataTypeEnum["LiveStream"] = "liveStream";
|
|
147
|
+
FeedDataTypeEnum["Clip"] = "clip";
|
|
148
|
+
FeedDataTypeEnum["Poll"] = "poll";
|
|
149
|
+
})(FeedDataTypeEnum || (FeedDataTypeEnum = {}));
|
|
150
|
+
var FeedSortByEnum;
|
|
151
|
+
(function (FeedSortByEnum) {
|
|
152
|
+
FeedSortByEnum["LastCreated"] = "lastCreated";
|
|
153
|
+
FeedSortByEnum["FirstCreated"] = "firstCreated";
|
|
154
|
+
FeedSortByEnum["LastUpdated"] = "lastUpdated";
|
|
155
|
+
FeedSortByEnum["FirstUpdated"] = "firstUpdated";
|
|
156
|
+
})(FeedSortByEnum || (FeedSortByEnum = {}));
|
|
157
|
+
var FeedSourceEnum;
|
|
158
|
+
(function (FeedSourceEnum) {
|
|
159
|
+
FeedSourceEnum["Community"] = "community";
|
|
160
|
+
FeedSourceEnum["User"] = "user";
|
|
161
|
+
})(FeedSourceEnum || (FeedSourceEnum = {}));
|
|
162
|
+
|
|
140
163
|
function getVersion() {
|
|
141
164
|
try {
|
|
142
165
|
// the string ''v7.8.0-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
@@ -25873,6 +25896,26 @@ const fetchLinkPreview = async (url) => {
|
|
|
25873
25896
|
return data;
|
|
25874
25897
|
};
|
|
25875
25898
|
|
|
25899
|
+
/**
|
|
25900
|
+
* ```js
|
|
25901
|
+
* import Client from '@amityco/ts-sdk'
|
|
25902
|
+
* const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
|
|
25903
|
+
* const postLinkPattern = shareableLinkConfiguration.post
|
|
25904
|
+
* ```
|
|
25905
|
+
*
|
|
25906
|
+
* Fetches a {@link Amity.ShareableLinkConfiguration} object
|
|
25907
|
+
*
|
|
25908
|
+
* @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
|
|
25909
|
+
*
|
|
25910
|
+
* @category Client API
|
|
25911
|
+
* @async
|
|
25912
|
+
*/
|
|
25913
|
+
const getShareableLinkConfiguration = async () => {
|
|
25914
|
+
const client = getActiveClient();
|
|
25915
|
+
const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
|
|
25916
|
+
return data;
|
|
25917
|
+
};
|
|
25918
|
+
|
|
25876
25919
|
/**
|
|
25877
25920
|
* ```js
|
|
25878
25921
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -26242,6 +26285,8 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
26242
26285
|
enableUnreadCount: enableUnreadCount,
|
|
26243
26286
|
setUploadedFileAccessType: setUploadedFileAccessType,
|
|
26244
26287
|
fetchLinkPreview: fetchLinkPreview,
|
|
26288
|
+
getSocialSettings: getSocialSettings,
|
|
26289
|
+
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
26245
26290
|
onConnectionError: onConnectionError,
|
|
26246
26291
|
onClientDisconnected: onClientDisconnected,
|
|
26247
26292
|
onClientBanned: onClientBanned,
|
|
@@ -37895,10 +37940,10 @@ class CommunityLiveCollectionController extends LiveCollectionController {
|
|
|
37895
37940
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
37896
37941
|
if (!collection)
|
|
37897
37942
|
return;
|
|
37898
|
-
const data =
|
|
37943
|
+
const data = (_b = collection.data
|
|
37899
37944
|
.map(id => pullFromCache(['community', 'get', id]))
|
|
37900
37945
|
.filter(isNonNullable)
|
|
37901
|
-
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []
|
|
37946
|
+
.map(({ data }) => communityLinkedObject(data))) !== null && _b !== void 0 ? _b : [];
|
|
37902
37947
|
if (!this.shouldNotify(data) && origin === 'event')
|
|
37903
37948
|
return;
|
|
37904
37949
|
this.callback({
|
|
@@ -40641,11 +40686,228 @@ const getGlobalFeed = (params, callback, config) => {
|
|
|
40641
40686
|
};
|
|
40642
40687
|
/* end_public_function */
|
|
40643
40688
|
|
|
40689
|
+
class UserFeedPaginationController extends PaginationController {
|
|
40690
|
+
async getRequest(queryParams, token) {
|
|
40691
|
+
const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
|
|
40692
|
+
const options = token ? { token } : { limit };
|
|
40693
|
+
const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
|
|
40694
|
+
params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
|
|
40695
|
+
});
|
|
40696
|
+
return queryResponse;
|
|
40697
|
+
}
|
|
40698
|
+
}
|
|
40699
|
+
|
|
40700
|
+
class UserFeedQueryStreamController extends QueryStreamController {
|
|
40701
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
40702
|
+
super(query, cacheKey);
|
|
40703
|
+
this.notifyChange = notifyChange;
|
|
40704
|
+
this.preparePayload = preparePayload;
|
|
40705
|
+
}
|
|
40706
|
+
async saveToMainDB(response) {
|
|
40707
|
+
const processedPayload = await this.preparePayload(response);
|
|
40708
|
+
const client = getActiveClient();
|
|
40709
|
+
const cachedAt = client.cache && Date.now();
|
|
40710
|
+
if (client.cache) {
|
|
40711
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
40712
|
+
}
|
|
40713
|
+
}
|
|
40714
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
40715
|
+
var _a, _b;
|
|
40716
|
+
if (refresh) {
|
|
40717
|
+
pushToCache(this.cacheKey, {
|
|
40718
|
+
data: response.posts.map(getResolver('post')),
|
|
40719
|
+
});
|
|
40720
|
+
}
|
|
40721
|
+
else {
|
|
40722
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40723
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
40724
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
40725
|
+
}
|
|
40726
|
+
}
|
|
40727
|
+
reactor(action) {
|
|
40728
|
+
return (post) => {
|
|
40729
|
+
var _a, _b;
|
|
40730
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40731
|
+
if (!collection)
|
|
40732
|
+
return;
|
|
40733
|
+
// if the collection is parent post collection and
|
|
40734
|
+
// post is not included in the collection or post is child post
|
|
40735
|
+
if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
|
|
40736
|
+
!collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
|
|
40737
|
+
return;
|
|
40738
|
+
if (action === EnumPostActions.OnPostDeleted) {
|
|
40739
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
40740
|
+
}
|
|
40741
|
+
if (post.parentPostId && post.isDeleted) {
|
|
40742
|
+
const parentPost = (_b = pullFromCache([
|
|
40743
|
+
'post',
|
|
40744
|
+
'get',
|
|
40745
|
+
post.parentPostId,
|
|
40746
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
40747
|
+
if (!parentPost)
|
|
40748
|
+
return;
|
|
40749
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
40750
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
40751
|
+
}
|
|
40752
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
40753
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
40754
|
+
}
|
|
40755
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
40756
|
+
if (this.query.dataTypes &&
|
|
40757
|
+
this.query.dataTypes.length > 0 &&
|
|
40758
|
+
!this.query.dataTypes.includes(post.dataType)) {
|
|
40759
|
+
return;
|
|
40760
|
+
}
|
|
40761
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
40762
|
+
}
|
|
40763
|
+
pushToCache(this.cacheKey, collection);
|
|
40764
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
40765
|
+
};
|
|
40766
|
+
}
|
|
40767
|
+
subscribeRTE(createSubscriber) {
|
|
40768
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
40769
|
+
}
|
|
40770
|
+
}
|
|
40771
|
+
|
|
40772
|
+
class UserFeedLiveCollectionController extends LiveCollectionController {
|
|
40773
|
+
constructor(query, callback) {
|
|
40774
|
+
const queryStreamId = hash(query);
|
|
40775
|
+
const cacheKey = ['userFeed', 'collection', queryStreamId];
|
|
40776
|
+
const paginationController = new UserFeedPaginationController(query);
|
|
40777
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
40778
|
+
this.query = query;
|
|
40779
|
+
this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
40780
|
+
this.callback = callback.bind(this);
|
|
40781
|
+
this.loadPage({ initial: true });
|
|
40782
|
+
}
|
|
40783
|
+
setup() {
|
|
40784
|
+
var _a;
|
|
40785
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40786
|
+
if (!collection) {
|
|
40787
|
+
pushToCache(this.cacheKey, {
|
|
40788
|
+
data: [],
|
|
40789
|
+
params: {},
|
|
40790
|
+
});
|
|
40791
|
+
}
|
|
40792
|
+
}
|
|
40793
|
+
async persistModel(queryPayload) {
|
|
40794
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
40795
|
+
}
|
|
40796
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
40797
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
40798
|
+
}
|
|
40799
|
+
startSubscription() {
|
|
40800
|
+
return this.queryStreamController.subscribeRTE([
|
|
40801
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
40802
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
40803
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
40804
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
40805
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
40806
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
40807
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
40808
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
40809
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
40810
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
40811
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
40812
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
40813
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
40814
|
+
{
|
|
40815
|
+
fn: convertEventPayload((callback) => {
|
|
40816
|
+
return onCommentCreated(async (comment) => {
|
|
40817
|
+
var _a;
|
|
40818
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40819
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
40820
|
+
return;
|
|
40821
|
+
await getPost$1(comment.referenceId);
|
|
40822
|
+
callback(comment);
|
|
40823
|
+
});
|
|
40824
|
+
}, 'referenceId', 'post'),
|
|
40825
|
+
action: EnumPostActions.OnPostUpdated,
|
|
40826
|
+
},
|
|
40827
|
+
{
|
|
40828
|
+
fn: convertEventPayload((callback) => {
|
|
40829
|
+
return onCommentDeleted(async (comment) => {
|
|
40830
|
+
var _a;
|
|
40831
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40832
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
40833
|
+
return;
|
|
40834
|
+
await getPost$1(comment.referenceId);
|
|
40835
|
+
callback(comment);
|
|
40836
|
+
});
|
|
40837
|
+
}, 'referenceId', 'post'),
|
|
40838
|
+
action: EnumPostActions.OnPostUpdated,
|
|
40839
|
+
},
|
|
40840
|
+
]);
|
|
40841
|
+
}
|
|
40842
|
+
notifyChange({ origin, loading, error }) {
|
|
40843
|
+
var _a, _b;
|
|
40844
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
40845
|
+
if (!collection)
|
|
40846
|
+
return;
|
|
40847
|
+
const data = ((_b = collection.data
|
|
40848
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
40849
|
+
.filter(isNonNullable)
|
|
40850
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
40851
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
40852
|
+
return;
|
|
40853
|
+
this.callback({
|
|
40854
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
40855
|
+
data,
|
|
40856
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
40857
|
+
loading,
|
|
40858
|
+
error,
|
|
40859
|
+
});
|
|
40860
|
+
}
|
|
40861
|
+
}
|
|
40862
|
+
|
|
40863
|
+
/* begin_public_function
|
|
40864
|
+
id: feed.query.user_feed
|
|
40865
|
+
*/
|
|
40866
|
+
/**
|
|
40867
|
+
* ```js
|
|
40868
|
+
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
40869
|
+
*
|
|
40870
|
+
* let posts = []
|
|
40871
|
+
* const unsubscribe = FeedRepository.getUserFeed({
|
|
40872
|
+
* userId: string,
|
|
40873
|
+
* feedSources: ['user', 'community'],
|
|
40874
|
+
* }, response => response => processResponse(response))
|
|
40875
|
+
* ```
|
|
40876
|
+
*
|
|
40877
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
|
|
40878
|
+
*
|
|
40879
|
+
* @param params.userId the ID of the user
|
|
40880
|
+
* @param params.feedSources the sources of the feed
|
|
40881
|
+
* @param callback the function to call when new data are available
|
|
40882
|
+
* @param config
|
|
40883
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
40884
|
+
*
|
|
40885
|
+
* @category Posts Live Collection
|
|
40886
|
+
*/
|
|
40887
|
+
const getUserFeed = (params, callback, config) => {
|
|
40888
|
+
const { log, cache } = getActiveClient();
|
|
40889
|
+
if (!cache) {
|
|
40890
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
40891
|
+
}
|
|
40892
|
+
const timestamp = Date.now();
|
|
40893
|
+
log(`getUserFeed(tmpid: ${timestamp}) > listen`);
|
|
40894
|
+
const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
|
|
40895
|
+
const disposers = userFeedLiveCollection.startSubscription();
|
|
40896
|
+
const cacheKey = userFeedLiveCollection.getCacheKey();
|
|
40897
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
40898
|
+
return () => {
|
|
40899
|
+
log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
|
|
40900
|
+
disposers.forEach(fn => fn());
|
|
40901
|
+
};
|
|
40902
|
+
};
|
|
40903
|
+
/* end_public_function */
|
|
40904
|
+
|
|
40644
40905
|
var index$9 = /*#__PURE__*/Object.freeze({
|
|
40645
40906
|
__proto__: null,
|
|
40646
40907
|
queryGlobalFeed: queryGlobalFeed,
|
|
40647
40908
|
getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
|
|
40648
|
-
getGlobalFeed: getGlobalFeed
|
|
40909
|
+
getGlobalFeed: getGlobalFeed,
|
|
40910
|
+
getUserFeed: getUserFeed
|
|
40649
40911
|
});
|
|
40650
40912
|
|
|
40651
40913
|
/* begin_public_function
|
|
@@ -42868,8 +43130,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
|
|
|
42868
43130
|
* const created = await createPoll({
|
|
42869
43131
|
* question: 'question',
|
|
42870
43132
|
* answers: [
|
|
42871
|
-
* { dataType: 'text', data: 'answer1' },
|
|
42872
|
-
* { dataType: 'text', data: 'answer2' },
|
|
43133
|
+
* { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
|
|
43134
|
+
* { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
|
|
42873
43135
|
* ],
|
|
42874
43136
|
* closedIn: 1649136484
|
|
42875
43137
|
* }))
|
|
@@ -45457,4 +45719,4 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
45457
45719
|
getReactions: getReactions
|
|
45458
45720
|
});
|
|
45459
45721
|
|
|
45460
|
-
export { API_REGIONS, index$3 as AdRepository, index$b as CategoryRepository, index$f as ChannelRepository, index$o as Client, index$a as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$c as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$9 as FeedRepository, FileAccessTypeEnum, index$l as FileRepository, FileType, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$j as MessageRepository, index$6 as PollRepository, PostContentType, index$8 as PostRepository, index$k as ReactionRepository, index$4 as StoryRepository, index$7 as StreamRepository, index$i as SubChannelRepository, SubscriptionLevels, index$m as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
|
|
45722
|
+
export { API_REGIONS, index$3 as AdRepository, index$b as CategoryRepository, index$f as ChannelRepository, index$o as Client, index$a as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$c as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, FeedDataTypeEnum, index$9 as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$l as FileRepository, FileType, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$j as MessageRepository, index$6 as PollRepository, PostContentType, index$8 as PostRepository, index$k as ReactionRepository, index$4 as StoryRepository, index$7 as StreamRepository, index$i as SubChannelRepository, SubscriptionLevels, index$m as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
|