@amityco/ts-sdk-react-native 7.26.1-fbe5a6dd.0 → 7.27.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/dist/@types/core/transport.d.ts +3 -3
- package/dist/@types/core/transport.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +9 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +6 -1
- package/dist/@types/domains/content.d.ts.map +1 -1
- package/dist/@types/domains/file.d.ts +11 -2
- package/dist/@types/domains/file.d.ts.map +1 -1
- package/dist/@types/domains/liveViewerCount.d.ts +22 -0
- package/dist/@types/domains/liveViewerCount.d.ts.map +1 -0
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/getLiveViewerCountConfig.d.ts +24 -0
- package/dist/client/api/getLiveViewerCountConfig.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/client/api/loginWithAccessToken.d.ts.map +1 -1
- package/dist/client/api/logout.d.ts.map +1 -1
- package/dist/client/api/renewTokenWithHandler.d.ts.map +1 -1
- package/dist/client/api/renewWithAccessToken.d.ts.map +1 -1
- package/dist/client/api/resumeSession.d.ts.map +1 -1
- package/dist/client/api/tests/renewTokenWithHandler.test.d.ts +2 -0
- package/dist/client/api/tests/renewTokenWithHandler.test.d.ts.map +1 -0
- package/dist/client/api/tests/renewWithAccessToken.test.d.ts +2 -0
- package/dist/client/api/tests/renewWithAccessToken.test.d.ts.map +1 -0
- package/dist/client/api/tests/validateAccessToken.test.d.ts +2 -0
- package/dist/client/api/tests/validateAccessToken.test.d.ts.map +1 -0
- package/dist/client/api/validateAccessToken.d.ts +1 -1
- package/dist/client/api/validateAccessToken.d.ts.map +1 -1
- package/dist/core/transports/mqtt.d.ts.map +1 -1
- package/dist/fileRepository/api/getFile.d.ts.map +1 -1
- package/dist/fileRepository/api/uploadImage.d.ts.map +1 -1
- package/dist/fileRepository/api/uploadVideo.d.ts.map +1 -1
- package/dist/index.cjs.js +221 -117
- package/dist/index.esm.js +222 -118
- package/dist/index.umd.js +1 -1
- package/dist/postRepository/events/utils.d.ts.map +1 -1
- package/dist/userRepository/observers/index.d.ts +1 -0
- package/dist/userRepository/observers/index.d.ts.map +1 -1
- package/dist/userRepository/observers/searchUserByDisplayName.d.ts +2 -0
- package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +1 -1
- package/dist/userRepository/observers/searchUsers.d.ts +26 -0
- package/dist/userRepository/observers/searchUsers.d.ts.map +1 -0
- package/dist/userRepository/observers/tests/integrations/searchUsers.integration.test.d.ts +2 -0
- package/dist/userRepository/observers/tests/integrations/searchUsers.integration.test.d.ts.map +1 -0
- package/dist/userRepository/observers/tests/searchUsers.test.d.ts +2 -0
- package/dist/userRepository/observers/tests/searchUsers.test.d.ts.map +1 -0
- package/dist/utils/linkedObject/fileLinkedObject.d.ts +2 -0
- package/dist/utils/linkedObject/fileLinkedObject.d.ts.map +1 -0
- package/dist/utils/linkedObject/index.d.ts +1 -0
- package/dist/utils/linkedObject/index.d.ts.map +1 -1
- package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/dist/utils/tests/dummy/file.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/postRepository/events/parentPost.d.ts +0 -32
- package/dist/postRepository/events/parentPost.d.ts.map +0 -1
- package/dist/postRepository/events/tests/parentPost.test.d.ts +0 -2
- package/dist/postRepository/events/tests/parentPost.test.d.ts.map +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -308,10 +308,17 @@ var NotificationRolesFilterTypeEnum;
|
|
|
308
308
|
NotificationRolesFilterTypeEnum["ONLY"] = "only";
|
|
309
309
|
})(NotificationRolesFilterTypeEnum || (NotificationRolesFilterTypeEnum = {}));
|
|
310
310
|
|
|
311
|
+
var AmityLiveViewerCountMode;
|
|
312
|
+
(function (AmityLiveViewerCountMode) {
|
|
313
|
+
AmityLiveViewerCountMode["ALWAYS_SHOW"] = "always";
|
|
314
|
+
AmityLiveViewerCountMode["HIDE_ENTIRELY"] = "hidden";
|
|
315
|
+
AmityLiveViewerCountMode["SHOW_ABOVE_MINIMUM"] = "above-minimum";
|
|
316
|
+
})(AmityLiveViewerCountMode || (AmityLiveViewerCountMode = {}));
|
|
317
|
+
|
|
311
318
|
function getVersion() {
|
|
312
319
|
try {
|
|
313
|
-
// the string ''v7.
|
|
314
|
-
return 'v7.
|
|
320
|
+
// the string ''v7.27.0-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
321
|
+
return 'v7.27.0-esm';
|
|
315
322
|
}
|
|
316
323
|
catch (error) {
|
|
317
324
|
return '__dev__';
|
|
@@ -2461,10 +2468,11 @@ var MqttError;
|
|
|
2461
2468
|
MqttError[MqttError["BAD_USERNAME_OR_PASSWORD"] = 134] = "BAD_USERNAME_OR_PASSWORD";
|
|
2462
2469
|
MqttError[MqttError["NOT_AUTHORIZED"] = 135] = "NOT_AUTHORIZED";
|
|
2463
2470
|
})(MqttError || (MqttError = {}));
|
|
2464
|
-
// MQTT 5 session expiry, in seconds.
|
|
2465
|
-
//
|
|
2466
|
-
//
|
|
2467
|
-
|
|
2471
|
+
// MQTT 5 session expiry, in seconds. Under MQTT 3.1.1 the broker capped
|
|
2472
|
+
// retained sessions at ~30 min; under MQTT 5 the client's value wins, so an
|
|
2473
|
+
// unbounded value ("never") left disconnected sessions piling up on the broker.
|
|
2474
|
+
// 1800s matches the previous 3.1.1 cap.
|
|
2475
|
+
const SESSION_EXPIRY_INTERVAL = 1800;
|
|
2468
2476
|
function getMqttOptions(params) {
|
|
2469
2477
|
return Object.assign({ clean: false, clientId: `mqttjs_ + ${Math.random().toString(16).substring(2, 10)}`, protocolId: 'MQTT', protocolVersion: 5, reconnectPeriod: RETRY_BASE_TIMEOUT, resubscribe: true,
|
|
2470
2478
|
// The broker/LB drops idle sockets at ~60s. mqtt.js v5 sends its first
|
|
@@ -2581,8 +2589,16 @@ const createMqttTransport = (endpoint) => {
|
|
|
2581
2589
|
}
|
|
2582
2590
|
return {
|
|
2583
2591
|
connect,
|
|
2584
|
-
async disconnect() {
|
|
2592
|
+
async disconnect(options) {
|
|
2585
2593
|
if (this.connected) {
|
|
2594
|
+
// On logout we want the broker to release the session immediately
|
|
2595
|
+
// instead of keeping it around for SESSION_EXPIRY_INTERVAL. mqtt.js
|
|
2596
|
+
// only sends a DISCONNECT packet when `force` is false; force=true
|
|
2597
|
+
// just tears the socket down and the broker keeps the session until
|
|
2598
|
+
// it expires on its own.
|
|
2599
|
+
if (options === null || options === void 0 ? void 0 : options.endSession) {
|
|
2600
|
+
return new Promise(resolve => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.end(false, { reasonCode: 0, properties: { sessionExpiryInterval: 0 } }, () => resolve()));
|
|
2601
|
+
}
|
|
2586
2602
|
return new Promise(resolve => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.end(true, undefined, () => resolve()));
|
|
2587
2603
|
}
|
|
2588
2604
|
},
|
|
@@ -5078,6 +5094,51 @@ const getCoreUserSettings = async () => {
|
|
|
5078
5094
|
return data;
|
|
5079
5095
|
};
|
|
5080
5096
|
|
|
5097
|
+
const DEFAULT_CONFIG = {
|
|
5098
|
+
mode: AmityLiveViewerCountMode.ALWAYS_SHOW,
|
|
5099
|
+
threshold: 50,
|
|
5100
|
+
};
|
|
5101
|
+
const isValidMode = (value) => value === AmityLiveViewerCountMode.ALWAYS_SHOW ||
|
|
5102
|
+
value === AmityLiveViewerCountMode.HIDE_ENTIRELY ||
|
|
5103
|
+
value === AmityLiveViewerCountMode.SHOW_ABOVE_MINIMUM;
|
|
5104
|
+
const isValidThreshold = (value) => typeof value === 'number' && Number.isInteger(value) && value >= 1 && value <= 1000;
|
|
5105
|
+
/**
|
|
5106
|
+
* ```js
|
|
5107
|
+
* import { getLiveViewerCountConfig } from '@amityco/ts-sdk'
|
|
5108
|
+
* const config = await getLiveViewerCountConfig()
|
|
5109
|
+
* ```
|
|
5110
|
+
*
|
|
5111
|
+
* Fetches the network-level {@link Amity.LiveViewerCountConfig} governing
|
|
5112
|
+
* how the live viewer count is displayed to viewers on a livestream.
|
|
5113
|
+
*
|
|
5114
|
+
* Cold-read — no observable, no cache. Call once per livestream mount /
|
|
5115
|
+
* rejoin. Admin-driven config changes take effect on the next join, not
|
|
5116
|
+
* mid-stream.
|
|
5117
|
+
*
|
|
5118
|
+
* On a malformed payload (unknown mode, out-of-range or missing threshold)
|
|
5119
|
+
* the SDK falls open to `{ mode: ALWAYS_SHOW, threshold: 50 }` and logs a
|
|
5120
|
+
* warning. Network errors reject.
|
|
5121
|
+
*
|
|
5122
|
+
* @returns A Promise of {@link Amity.LiveViewerCountConfig}
|
|
5123
|
+
*
|
|
5124
|
+
* @category Client API
|
|
5125
|
+
* @async
|
|
5126
|
+
*/
|
|
5127
|
+
/* begin_public_function id: client.getLiveViewerCountConfig */
|
|
5128
|
+
const getLiveViewerCountConfig = async () => {
|
|
5129
|
+
var _a, _b;
|
|
5130
|
+
const client = getActiveClient();
|
|
5131
|
+
const { data } = await client.http.get('/api/v3/network-settings/video-streaming');
|
|
5132
|
+
const mode = (_a = data === null || data === void 0 ? void 0 : data.videoStreaming) === null || _a === void 0 ? void 0 : _a.viewerCountDisplayMode;
|
|
5133
|
+
const threshold = (_b = data === null || data === void 0 ? void 0 : data.videoStreaming) === null || _b === void 0 ? void 0 : _b.viewerCountDisplayMinimum;
|
|
5134
|
+
if (!isValidMode(mode) || !isValidThreshold(threshold)) {
|
|
5135
|
+
client.log('client/getLiveViewerCountConfig', 'malformed videoStreaming settings, falling back to default', { mode, threshold });
|
|
5136
|
+
return DEFAULT_CONFIG;
|
|
5137
|
+
}
|
|
5138
|
+
return { mode, threshold };
|
|
5139
|
+
};
|
|
5140
|
+
/* end_public_function */
|
|
5141
|
+
|
|
5081
5142
|
/* begin_public_function
|
|
5082
5143
|
id: client.getProductCatalogueSetting
|
|
5083
5144
|
*/
|
|
@@ -5444,7 +5505,7 @@ const logout = async () => {
|
|
|
5444
5505
|
const client = getActiveClient();
|
|
5445
5506
|
client.log('client/api/disconnectClient');
|
|
5446
5507
|
if (client.mqtt && client.mqtt.connected) {
|
|
5447
|
-
client.mqtt.disconnect();
|
|
5508
|
+
await client.mqtt.disconnect({ endSession: true });
|
|
5448
5509
|
}
|
|
5449
5510
|
/*
|
|
5450
5511
|
* for cases when session state is terminated (example on ban) or token expired,
|
|
@@ -5465,6 +5526,7 @@ const logout = async () => {
|
|
|
5465
5526
|
client.userId = undefined;
|
|
5466
5527
|
client.token = undefined;
|
|
5467
5528
|
client.loginType = undefined;
|
|
5529
|
+
client.isGloballyBanned = false;
|
|
5468
5530
|
client.http.defaults.headers.common.Authorization = '';
|
|
5469
5531
|
client.http.defaults.metadata = {
|
|
5470
5532
|
tokenExpiry: '',
|
|
@@ -7760,19 +7822,21 @@ const renewal = () => {
|
|
|
7760
7822
|
|
|
7761
7823
|
const validateAccessToken = async ({ token, userId }) => {
|
|
7762
7824
|
const client = getActiveClient();
|
|
7763
|
-
//
|
|
7764
|
-
await client.http.get('/api/
|
|
7825
|
+
// Verify the token and hydrate the caller in a single call.
|
|
7826
|
+
const { data } = await client.http.get('/api/v4/sessions', {
|
|
7765
7827
|
headers: {
|
|
7766
7828
|
Authorization: `Bearer ${token.accessToken}`,
|
|
7767
7829
|
},
|
|
7768
7830
|
});
|
|
7769
|
-
|
|
7770
|
-
const
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7831
|
+
const { users, files, userType } = data;
|
|
7832
|
+
const [user] = users;
|
|
7833
|
+
if (userId && (user === null || user === void 0 ? void 0 : user.userId) && userId !== user.userId) {
|
|
7834
|
+
client.log('client/api/validateAccessToken', {
|
|
7835
|
+
message: 'session userId does not match the token userId; using the server value',
|
|
7836
|
+
tokenUserId: userId,
|
|
7837
|
+
sessionUserId: user.userId,
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7776
7840
|
client.http.defaults.headers.common.Authorization = `Bearer ${token.accessToken}`;
|
|
7777
7841
|
client.http.defaults.metadata = {
|
|
7778
7842
|
tokenExpiry: token.expiresAt,
|
|
@@ -7786,6 +7850,8 @@ const validateAccessToken = async ({ token, userId }) => {
|
|
|
7786
7850
|
isUserDeleted: false,
|
|
7787
7851
|
};
|
|
7788
7852
|
client.token = token;
|
|
7853
|
+
ingestInCache(prepareUserPayload({ users, files }));
|
|
7854
|
+
setCurrentUserType(userType);
|
|
7789
7855
|
return user;
|
|
7790
7856
|
};
|
|
7791
7857
|
|
|
@@ -7868,14 +7934,6 @@ const loginWithAccessToken = async (accessToken) => {
|
|
|
7868
7934
|
setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
7869
7935
|
throw new ASCError(`User ${userId} has not been found`, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
7870
7936
|
}
|
|
7871
|
-
if (user.isDeleted) {
|
|
7872
|
-
setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
7873
|
-
throw new ASCError(`User ${userId} has been deleted`, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
7874
|
-
}
|
|
7875
|
-
if (user.isGlobalBanned) {
|
|
7876
|
-
setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
7877
|
-
throw new ASCError(`User ${userId} is globally banned`, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
7878
|
-
}
|
|
7879
7937
|
// Set userId and login method flag
|
|
7880
7938
|
client.userId = user.userId;
|
|
7881
7939
|
// Set login method flag to 'accessToken' in platform-specific login session
|
|
@@ -7889,8 +7947,10 @@ const loginWithAccessToken = async (accessToken) => {
|
|
|
7889
7947
|
catch (error) {
|
|
7890
7948
|
// If error occurs, revert session state to not logged in
|
|
7891
7949
|
setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
7892
|
-
// Re-throw if it's already an ASCError
|
|
7893
7950
|
if (error instanceof ASCError) {
|
|
7951
|
+
if (error.code === 400312 /* Amity.ServerError.GLOBAL_BAN */) {
|
|
7952
|
+
client.isGloballyBanned = true;
|
|
7953
|
+
}
|
|
7894
7954
|
throw error;
|
|
7895
7955
|
}
|
|
7896
7956
|
// Wrap other errors
|
|
@@ -7958,11 +8018,18 @@ const renewWithAccessToken = async (accessToken) => {
|
|
|
7958
8018
|
await loginWithAccessToken(accessToken);
|
|
7959
8019
|
}
|
|
7960
8020
|
else {
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
|
|
8021
|
+
try {
|
|
8022
|
+
await validateAccessToken({
|
|
8023
|
+
token: tokenObject,
|
|
8024
|
+
userId,
|
|
8025
|
+
});
|
|
8026
|
+
}
|
|
8027
|
+
catch (error) {
|
|
8028
|
+
if (error instanceof ASCError && error.code === 400312 /* Amity.ServerError.GLOBAL_BAN */) {
|
|
8029
|
+
client.isGloballyBanned = true;
|
|
8030
|
+
}
|
|
8031
|
+
throw error;
|
|
8032
|
+
}
|
|
7966
8033
|
}
|
|
7967
8034
|
};
|
|
7968
8035
|
/* end_public_function */
|
|
@@ -7979,6 +8046,9 @@ const renewTokenWithHandler = async ({ useScheduledTask = false, }) => {
|
|
|
7979
8046
|
if (!client.userId || !client.accessTokenHandler) {
|
|
7980
8047
|
return;
|
|
7981
8048
|
}
|
|
8049
|
+
if (client.isGloballyBanned) {
|
|
8050
|
+
return;
|
|
8051
|
+
}
|
|
7982
8052
|
try {
|
|
7983
8053
|
const newToken = await client.accessTokenHandler.onTokenRenew(client.userId);
|
|
7984
8054
|
if (useScheduledTask) {
|
|
@@ -8577,6 +8647,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
8577
8647
|
getCoreUserSettings,
|
|
8578
8648
|
getSocialSettings,
|
|
8579
8649
|
getChatSettings,
|
|
8650
|
+
getLiveViewerCountConfig,
|
|
8580
8651
|
getVisitorDeviceId: getDeviceId,
|
|
8581
8652
|
getMessagePreviewSetting: getMessagePreviewSetting$1,
|
|
8582
8653
|
onRTEConnectionStateChange,
|
|
@@ -8716,21 +8787,13 @@ const resumeSession = async (params, sessionHandler, config) => {
|
|
|
8716
8787
|
if (user == null) {
|
|
8717
8788
|
throw new ASCError(`${params.userId} has not been found`, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
8718
8789
|
}
|
|
8719
|
-
if (user.isDeleted) {
|
|
8720
|
-
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
8721
|
-
return false;
|
|
8722
|
-
}
|
|
8723
|
-
if (user.isGlobalBanned) {
|
|
8724
|
-
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
8725
|
-
return false;
|
|
8726
|
-
}
|
|
8727
8790
|
client.userId = user.userId;
|
|
8728
8791
|
client.sessionHandler = sessionHandler;
|
|
8729
8792
|
/*
|
|
8730
8793
|
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
8731
8794
|
* token expires
|
|
8732
8795
|
*/
|
|
8733
|
-
unsubWatcher = client.accessTokenExpiryWatcher(
|
|
8796
|
+
unsubWatcher = client.accessTokenExpiryWatcher();
|
|
8734
8797
|
setActiveUser(user);
|
|
8735
8798
|
}
|
|
8736
8799
|
catch (error) {
|
|
@@ -9716,6 +9779,7 @@ var index$s = /*#__PURE__*/Object.freeze({
|
|
|
9716
9779
|
setCurrentUserType: setCurrentUserType,
|
|
9717
9780
|
setAccessTokenHandler: setAccessTokenHandler,
|
|
9718
9781
|
getChatSettings: getChatSettings,
|
|
9782
|
+
getLiveViewerCountConfig: getLiveViewerCountConfig,
|
|
9719
9783
|
getCoreUserSettings: getCoreUserSettings,
|
|
9720
9784
|
notifications: notifications,
|
|
9721
9785
|
enableAutoSubscriptions: enableAutoSubscriptions,
|
|
@@ -12632,7 +12696,7 @@ const getWatchSessionStorage = () => {
|
|
|
12632
12696
|
return storageInstance;
|
|
12633
12697
|
};
|
|
12634
12698
|
|
|
12635
|
-
const privateKey = "-----BEGIN PRIVATE KEY-----\
|
|
12699
|
+
const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
|
|
12636
12700
|
/*
|
|
12637
12701
|
* The crypto algorithm used for importing key and signing string
|
|
12638
12702
|
*/
|
|
@@ -13060,6 +13124,21 @@ const productTagLinkedObject = (productTag) => {
|
|
|
13060
13124
|
return Object.assign(Object.assign({}, productTag), { product: internalProduct ? productLinkedObject(internalProduct) : undefined });
|
|
13061
13125
|
};
|
|
13062
13126
|
|
|
13127
|
+
const fileLinkedObject = (file) => {
|
|
13128
|
+
var _a, _b, _c;
|
|
13129
|
+
if (!file)
|
|
13130
|
+
return file;
|
|
13131
|
+
if (file.type === 'video') {
|
|
13132
|
+
const video = (_b = (_a = file.attributes) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.video;
|
|
13133
|
+
return Object.assign(Object.assign({}, file), { getWidth: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.width) !== null && _a !== void 0 ? _a : 0; }, getHeight: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.height) !== null && _a !== void 0 ? _a : 0; }, getRotation: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.rotation) !== null && _a !== void 0 ? _a : 0; } });
|
|
13134
|
+
}
|
|
13135
|
+
if (file.type === 'image') {
|
|
13136
|
+
const metadata = (_c = file.attributes) === null || _c === void 0 ? void 0 : _c.metadata;
|
|
13137
|
+
return Object.assign(Object.assign({}, file), { getWidth: () => { var _a; return (_a = metadata === null || metadata === void 0 ? void 0 : metadata.width) !== null && _a !== void 0 ? _a : 0; }, getHeight: () => { var _a; return (_a = metadata === null || metadata === void 0 ? void 0 : metadata.height) !== null && _a !== void 0 ? _a : 0; } });
|
|
13138
|
+
}
|
|
13139
|
+
return file;
|
|
13140
|
+
};
|
|
13141
|
+
|
|
13063
13142
|
const postLinkedObject = (post) => {
|
|
13064
13143
|
return shallowClone(post, {
|
|
13065
13144
|
childrenPosts: post.children
|
|
@@ -13098,85 +13177,99 @@ const postLinkedObject = (post) => {
|
|
|
13098
13177
|
.filter(Boolean) || []);
|
|
13099
13178
|
},
|
|
13100
13179
|
get creator() {
|
|
13180
|
+
// The id is checked for a value, not just for presence: a payload can
|
|
13181
|
+
// carry the field as null, and a null segment in a cache key throws while
|
|
13182
|
+
// being encoded rather than simply missing the cache.
|
|
13183
|
+
if (!post.postedUserId)
|
|
13184
|
+
return undefined;
|
|
13101
13185
|
const cacheData = pullFromCache(['user', 'get', post.postedUserId]);
|
|
13102
13186
|
if (!(cacheData === null || cacheData === void 0 ? void 0 : cacheData.data))
|
|
13103
|
-
return;
|
|
13187
|
+
return undefined;
|
|
13104
13188
|
return userLinkedObject(cacheData.data);
|
|
13105
13189
|
},
|
|
13106
13190
|
get targetCommunity() {
|
|
13107
13191
|
var _a;
|
|
13192
|
+
if (!post.targetId)
|
|
13193
|
+
return undefined;
|
|
13108
13194
|
const communityCache = (_a = pullFromCache([
|
|
13109
13195
|
'community',
|
|
13110
13196
|
'get',
|
|
13111
13197
|
post.targetId,
|
|
13112
13198
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
13113
13199
|
if (!communityCache)
|
|
13114
|
-
return;
|
|
13200
|
+
return undefined;
|
|
13115
13201
|
return communityLinkedObject(communityCache);
|
|
13116
13202
|
},
|
|
13117
13203
|
getImageInfo() {
|
|
13118
13204
|
var _a, _b;
|
|
13119
|
-
|
|
13120
|
-
|
|
13121
|
-
|
|
13205
|
+
if (!isAmityImagePost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.fileId))
|
|
13206
|
+
return undefined;
|
|
13207
|
+
return fileLinkedObject((_b = pullFromCache(['file', 'get', post.data.fileId])) === null || _b === void 0 ? void 0 : _b.data);
|
|
13122
13208
|
},
|
|
13123
13209
|
getVideoInfo() {
|
|
13124
13210
|
var _a, _b, _c;
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13211
|
+
const originalFileId = isAmityVideoPost(post) ? (_b = (_a = post.data) === null || _a === void 0 ? void 0 : _a.videoFileId) === null || _b === void 0 ? void 0 : _b.original : undefined;
|
|
13212
|
+
if (!originalFileId)
|
|
13213
|
+
return undefined;
|
|
13214
|
+
return fileLinkedObject((_c = pullFromCache(['file', 'get', originalFileId])) === null || _c === void 0 ? void 0 : _c.data);
|
|
13128
13215
|
},
|
|
13129
13216
|
getVideoThumbnailInfo() {
|
|
13130
13217
|
var _a, _b;
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13218
|
+
// `isAmityVideoPost` proves the field is *present* — it tests
|
|
13219
|
+
// `'thumbnailFileId' in post.data` — and presence is not a value. The
|
|
13220
|
+
// server sends the field as null until it has finished transcoding the
|
|
13221
|
+
// video, so a just-published post reaches here with a null id and used to
|
|
13222
|
+
// build the cache key ['file', 'get', null].
|
|
13223
|
+
const thumbnailFileId = isAmityVideoPost(post) ? (_a = post.data) === null || _a === void 0 ? void 0 : _a.thumbnailFileId : undefined;
|
|
13224
|
+
if (!thumbnailFileId)
|
|
13225
|
+
return undefined;
|
|
13226
|
+
return fileLinkedObject((_b = pullFromCache(['file', 'get', thumbnailFileId])) === null || _b === void 0 ? void 0 : _b.data);
|
|
13134
13227
|
},
|
|
13135
13228
|
getFileInfo() {
|
|
13136
13229
|
var _a, _b;
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13230
|
+
if (!isAmityFilePost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.fileId))
|
|
13231
|
+
return undefined;
|
|
13232
|
+
return (_b = pullFromCache(['file', 'get', post.data.fileId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13140
13233
|
},
|
|
13141
13234
|
getLivestreamInfo() {
|
|
13142
13235
|
var _a, _b;
|
|
13143
|
-
if (!isAmityLivestreamPost(post))
|
|
13144
|
-
return;
|
|
13236
|
+
if (!isAmityLivestreamPost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.streamId))
|
|
13237
|
+
return undefined;
|
|
13145
13238
|
const cache = (_b = pullFromCache([
|
|
13146
13239
|
'stream',
|
|
13147
13240
|
'get',
|
|
13148
|
-
|
|
13241
|
+
post.data.streamId,
|
|
13149
13242
|
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13150
13243
|
if (!cache)
|
|
13151
|
-
return;
|
|
13244
|
+
return undefined;
|
|
13152
13245
|
return streamLinkedObject(cache);
|
|
13153
13246
|
},
|
|
13154
13247
|
getPollInfo() {
|
|
13155
13248
|
var _a, _b;
|
|
13156
|
-
if (!isAmityPollPost(post))
|
|
13157
|
-
return;
|
|
13158
|
-
const cache = (_b = pullFromCache(['poll', 'get',
|
|
13249
|
+
if (!isAmityPollPost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.pollId))
|
|
13250
|
+
return undefined;
|
|
13251
|
+
const cache = (_b = pullFromCache(['poll', 'get', post.data.pollId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13159
13252
|
if (!cache)
|
|
13160
|
-
return;
|
|
13253
|
+
return undefined;
|
|
13161
13254
|
return pollLinkedObject(cache);
|
|
13162
13255
|
},
|
|
13163
13256
|
getClipInfo() {
|
|
13164
13257
|
var _a, _b;
|
|
13165
|
-
|
|
13166
|
-
|
|
13167
|
-
|
|
13258
|
+
if (!isAmityClipPost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.fileId))
|
|
13259
|
+
return undefined;
|
|
13260
|
+
return (_b = pullFromCache(['file', 'get', post.data.fileId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13168
13261
|
},
|
|
13169
13262
|
getAudioInfo() {
|
|
13170
13263
|
var _a, _b;
|
|
13171
|
-
|
|
13172
|
-
|
|
13173
|
-
|
|
13264
|
+
if (!isAmityAudioPost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.fileId))
|
|
13265
|
+
return undefined;
|
|
13266
|
+
return (_b = pullFromCache(['file', 'get', post.data.fileId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13174
13267
|
},
|
|
13175
13268
|
getRoomInfo() {
|
|
13176
13269
|
var _a, _b;
|
|
13177
|
-
if (!isAmityRoomPost(post))
|
|
13178
|
-
return;
|
|
13179
|
-
const room = (_b = pullFromCache(['room', 'get',
|
|
13270
|
+
if (!isAmityRoomPost(post) || !((_a = post.data) === null || _a === void 0 ? void 0 : _a.roomId))
|
|
13271
|
+
return undefined;
|
|
13272
|
+
const room = (_b = pullFromCache(['room', 'get', post.data.roomId])) === null || _b === void 0 ? void 0 : _b.data;
|
|
13180
13273
|
return room ? roomLinkedObject(room) : undefined;
|
|
13181
13274
|
},
|
|
13182
13275
|
getEventInfo() {
|
|
@@ -14120,6 +14213,7 @@ const eventLinkedObject = (event) => {
|
|
|
14120
14213
|
};
|
|
14121
14214
|
|
|
14122
14215
|
const LinkedObject = {
|
|
14216
|
+
file: fileLinkedObject,
|
|
14123
14217
|
ad: adLinkedObject,
|
|
14124
14218
|
comment: commentLinkedObject,
|
|
14125
14219
|
post: postLinkedObject,
|
|
@@ -15283,10 +15377,58 @@ class SearchUserLiveCollectionController extends LiveCollectionController {
|
|
|
15283
15377
|
}
|
|
15284
15378
|
}
|
|
15285
15379
|
|
|
15380
|
+
/* begin_public_function
|
|
15381
|
+
id: user.searchUsers
|
|
15382
|
+
*/
|
|
15383
|
+
/**
|
|
15384
|
+
* ```js
|
|
15385
|
+
* import { UserRepository } from '@amityco/ts-sdk'
|
|
15386
|
+
*
|
|
15387
|
+
* let users = []
|
|
15388
|
+
* const unsub = UserRepository.searchUsers(
|
|
15389
|
+
* { displayName: 'jack', searchBy: [SearchUsersByEnum.DISPLAY_NAME] },
|
|
15390
|
+
* response => merge(users, response.data),
|
|
15391
|
+
* )
|
|
15392
|
+
* ```
|
|
15393
|
+
*
|
|
15394
|
+
* Observe all mutations on a list of {@link Amity.InternalUser}s.
|
|
15395
|
+
*
|
|
15396
|
+
* Pass `searchBy` in `params` to restrict which user fields are matched
|
|
15397
|
+
* (e.g. `[SearchUsersByEnum.DISPLAY_NAME]`). When omitted, the backend
|
|
15398
|
+
* default (both `displayName` and `userId`) applies.
|
|
15399
|
+
*
|
|
15400
|
+
* @param params for searching users
|
|
15401
|
+
* @param callback the function to call when new data are available
|
|
15402
|
+
* @param config the configuration for the live collection
|
|
15403
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the users
|
|
15404
|
+
*
|
|
15405
|
+
* @category Category Live Collection
|
|
15406
|
+
*/
|
|
15407
|
+
const searchUsers = (params, callback, config) => {
|
|
15408
|
+
const { log, cache } = getActiveClient();
|
|
15409
|
+
if (!cache) {
|
|
15410
|
+
// eslint-disable-next-line no-console
|
|
15411
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
15412
|
+
}
|
|
15413
|
+
const timestamp = Date.now();
|
|
15414
|
+
log(`liveSearchUsers(tmpid: ${timestamp}) > listen`);
|
|
15415
|
+
const searchUsersLiveCollection = new SearchUserLiveCollectionController(params, callback);
|
|
15416
|
+
const disposers = searchUsersLiveCollection.startSubscription();
|
|
15417
|
+
const cacheKey = searchUsersLiveCollection.getCacheKey();
|
|
15418
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
15419
|
+
return () => {
|
|
15420
|
+
log(`liveSearchUsers(tmpid: ${timestamp}) > dispose`);
|
|
15421
|
+
disposers.forEach(fn => fn());
|
|
15422
|
+
};
|
|
15423
|
+
};
|
|
15424
|
+
/* end_public_function */
|
|
15425
|
+
|
|
15286
15426
|
/* begin_public_function
|
|
15287
15427
|
id: user.search
|
|
15288
15428
|
*/
|
|
15289
15429
|
/**
|
|
15430
|
+
* @deprecated Use {@link searchUsers} instead. `searchUserByDisplayName` will be removed in a future major version.
|
|
15431
|
+
*
|
|
15290
15432
|
* ```js
|
|
15291
15433
|
* import { UserRepository } from '@amityco/ts-sdk-react-native'
|
|
15292
15434
|
*
|
|
@@ -15435,6 +15577,7 @@ var index$q = /*#__PURE__*/Object.freeze({
|
|
|
15435
15577
|
getUsers: getUsers,
|
|
15436
15578
|
getBlockedUsers: getBlockedUsers,
|
|
15437
15579
|
getBlockingUsers: getBlockingUsers,
|
|
15580
|
+
searchUsers: searchUsers,
|
|
15438
15581
|
searchUserByDisplayName: searchUserByDisplayName,
|
|
15439
15582
|
getReachedUsers: getReachedUsers,
|
|
15440
15583
|
get AmityUserSearchMatchType () { return AmityUserSearchMatchType; }
|
|
@@ -15467,7 +15610,7 @@ const getFile = async (fileId) => {
|
|
|
15467
15610
|
if (client.cache)
|
|
15468
15611
|
ingestInCache({ files: [data] }, { cachedAt });
|
|
15469
15612
|
return {
|
|
15470
|
-
data,
|
|
15613
|
+
data: fileLinkedObject(data),
|
|
15471
15614
|
cachedAt,
|
|
15472
15615
|
};
|
|
15473
15616
|
};
|
|
@@ -15494,7 +15637,7 @@ getFile.locally = (fileId) => {
|
|
|
15494
15637
|
if (!cached)
|
|
15495
15638
|
return;
|
|
15496
15639
|
return {
|
|
15497
|
-
data: cached.data,
|
|
15640
|
+
data: fileLinkedObject(cached.data),
|
|
15498
15641
|
cachedAt: cached.cachedAt,
|
|
15499
15642
|
};
|
|
15500
15643
|
};
|
|
@@ -15631,7 +15774,7 @@ const uploadVideo = async (formData, feedType, onProgress) => {
|
|
|
15631
15774
|
if (client.cache)
|
|
15632
15775
|
ingestInCache({ files: data }, { cachedAt });
|
|
15633
15776
|
return {
|
|
15634
|
-
data,
|
|
15777
|
+
data: data.map(file => fileLinkedObject(file)),
|
|
15635
15778
|
cachedAt,
|
|
15636
15779
|
};
|
|
15637
15780
|
};
|
|
@@ -15692,7 +15835,7 @@ const uploadImage = async (formData, onProgress, altText) => {
|
|
|
15692
15835
|
if (client.cache)
|
|
15693
15836
|
ingestInCache({ files: data }, { cachedAt });
|
|
15694
15837
|
return {
|
|
15695
|
-
data,
|
|
15838
|
+
data: data.map(file => fileLinkedObject(file)),
|
|
15696
15839
|
cachedAt,
|
|
15697
15840
|
};
|
|
15698
15841
|
};
|
|
@@ -16655,39 +16798,6 @@ removeReaction.optimistically = (referenceType, referenceId, reactionName) => {
|
|
|
16655
16798
|
return !((_d = reaction === null || reaction === void 0 ? void 0 : reaction.myReactions) === null || _d === void 0 ? void 0 : _d.includes(reactionName));
|
|
16656
16799
|
};
|
|
16657
16800
|
|
|
16658
|
-
/**
|
|
16659
|
-
* Resolves the id of the parent post that a child-post payload belongs to.
|
|
16660
|
-
*
|
|
16661
|
-
* `parentId` and `parentPostId` name the same post, but a payload does not
|
|
16662
|
-
* always carry both — and the delete/create child handlers decide *whether* a
|
|
16663
|
-
* post is a child from `parentId` while reading the cache with `parentPostId`.
|
|
16664
|
-
* When only the former is set that read builds `['post', 'get', undefined]`,
|
|
16665
|
-
* which cannot match anything and, when the value is null, breaks key encoding
|
|
16666
|
-
* outright. Reading whichever id is present keeps the decision and the lookup
|
|
16667
|
-
* on the same post.
|
|
16668
|
-
*
|
|
16669
|
-
* @param post the child post payload
|
|
16670
|
-
* @returns the parent post id, or undefined when the payload carries neither
|
|
16671
|
-
*
|
|
16672
|
-
* @category Post Events
|
|
16673
|
-
* @hidden
|
|
16674
|
-
*/
|
|
16675
|
-
const resolveParentPostId = (post) => {
|
|
16676
|
-
if (post.parentPostId)
|
|
16677
|
-
return post.parentPostId;
|
|
16678
|
-
if (post.parentId) {
|
|
16679
|
-
// Diagnostic: we do not know yet whether the server actually emits this
|
|
16680
|
-
// shape. If this warning is never seen in practice the fallback can go.
|
|
16681
|
-
console.warn('[AmitySDK] post payload carries `parentId` without `parentPostId` — falling back to `parentId`', {
|
|
16682
|
-
postId: post.postId,
|
|
16683
|
-
parentId: post.parentId,
|
|
16684
|
-
parentPostId: post.parentPostId,
|
|
16685
|
-
});
|
|
16686
|
-
return post.parentId;
|
|
16687
|
-
}
|
|
16688
|
-
return undefined;
|
|
16689
|
-
};
|
|
16690
|
-
|
|
16691
16801
|
const processDeleteChildPost = (payload) => {
|
|
16692
16802
|
var _a;
|
|
16693
16803
|
const post = payload.posts[0];
|
|
@@ -16699,10 +16809,7 @@ const processDeleteChildPost = (payload) => {
|
|
|
16699
16809
|
}
|
|
16700
16810
|
else {
|
|
16701
16811
|
// child post in a parent post
|
|
16702
|
-
const
|
|
16703
|
-
if (!parentPostId)
|
|
16704
|
-
return;
|
|
16705
|
-
const parentPost = (_a = pullFromCache(['post', 'get', parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
16812
|
+
const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
16706
16813
|
if (!parentPost)
|
|
16707
16814
|
return;
|
|
16708
16815
|
pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: parentPost.children.filter(childId => childId !== post.postId) }));
|
|
@@ -16713,10 +16820,7 @@ const processCreateChildPost = (payload) => {
|
|
|
16713
16820
|
const post = payload.posts[0];
|
|
16714
16821
|
if (!post.parentId)
|
|
16715
16822
|
return;
|
|
16716
|
-
const
|
|
16717
|
-
if (!parentPostId)
|
|
16718
|
-
return;
|
|
16719
|
-
const parentPost = (_a = pullFromCache(['post', 'get', parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
16823
|
+
const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
16720
16824
|
if (!parentPost)
|
|
16721
16825
|
return;
|
|
16722
16826
|
pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: [...new Set([post.postId, ...parentPost.children])] }));
|
|
@@ -35681,4 +35785,4 @@ class AmityAttachmentProductTags {
|
|
|
35681
35785
|
}
|
|
35682
35786
|
}
|
|
35683
35787
|
|
|
35684
|
-
export { API_REGIONS, index$5 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmitySharableContentType, AnalyticsSourceTypeEnum, index$f as CategoryRepository, index$j as ChannelRepository, index$s as Client, index$e as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$g as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$1 as EventRepository, FeedDataTypeEnum, index$d as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$p as FileRepository, FileType, GET_WATCHER_URLS, index$3 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$2 as LiveReactionRepository, index$7 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$n as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$8 as PollRepository, PostContentType, index$b as PostRepository, PostStructureType, index as ProductRepository, index$o as ReactionRepository, index$9 as RoomPresenceRepository, index$c as RoomRepository, SearchUsersByEnum, index$6 as StoryRepository, index$a as StreamRepository, index$m as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, UserReportTypeEnum, index$q as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$4 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, validateUntilAt, wipeCache };
|
|
35788
|
+
export { API_REGIONS, index$5 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmityLiveViewerCountMode, AmitySharableContentType, AnalyticsSourceTypeEnum, index$f as CategoryRepository, index$j as ChannelRepository, index$s as Client, index$e as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$g as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$1 as EventRepository, FeedDataTypeEnum, index$d as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$p as FileRepository, FileType, GET_WATCHER_URLS, index$3 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$2 as LiveReactionRepository, index$7 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$n as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$8 as PollRepository, PostContentType, index$b as PostRepository, PostStructureType, index as ProductRepository, index$o as ReactionRepository, index$9 as RoomPresenceRepository, index$c as RoomRepository, SearchUsersByEnum, index$6 as StoryRepository, index$a as StreamRepository, index$m as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, UserReportTypeEnum, index$q as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$4 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, validateUntilAt, wipeCache };
|