@amityco/ts-sdk 7.9.3-8cb8198.0 → 7.9.3-9d4caef6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/errors.d.ts +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/errors.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/errors.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/channel.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/channel.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/channel.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts +11 -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/user.d.ts +6 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/user.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/user.js +6 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/user.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/categoryRepository/api/getCategory.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/categoryRepository/api/getCategory.js +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/categoryRepository/api/getCategory.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/api/unmuteChannel.d.ts +0 -14
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/api/unmuteChannel.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/api/unmuteChannel.js +2 -6
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/api/unmuteChannel.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/internalApi/getMembership.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/internalApi/getMembership.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/internalApi/getMembership.js +20 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/internalApi/getMembership.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/observers/getMembership.d.ts +8 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/observers/getMembership.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/observers/getMembership.js +58 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/channelRepository/observers/getMembership.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/activeUser.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/activeUser.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/activeUser.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/activeUser.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/createClient.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/createClient.js +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/createClient.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getBotToken.d.ts +21 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getBotToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getBotToken.js +27 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getBotToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.d.ts +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.js +21 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.d.ts +3 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.js +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getToken.d.ts +1 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getToken.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getToken.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.d.ts +24 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.js +30 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +4 -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 +4 -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/client/api/login.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/login.js +4 -4
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/login.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.d.ts +24 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.js +95 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.d.ts +26 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.js +92 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/renewal.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/renewal.js +35 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/renewal.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.js +29 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.d.ts +2 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.js +9 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.d.ts +21 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.js +34 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/transports/http.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/transports/http.js +4 -4
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/transports/http.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.js +8 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
- package/dist/@types/core/errors.d.ts +3 -1
- package/dist/@types/core/errors.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +1 -0
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +11 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/user.d.ts +6 -0
- package/dist/@types/domains/user.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/categoryRepository/api/getCategory.d.ts.map +1 -1
- package/dist/channelRepository/api/unmuteChannel.d.ts +0 -14
- package/dist/channelRepository/api/unmuteChannel.d.ts.map +1 -1
- package/dist/channelRepository/internalApi/getMembership.d.ts +16 -0
- package/dist/channelRepository/internalApi/getMembership.d.ts.map +1 -0
- package/dist/channelRepository/observers/getMembership.d.ts +8 -0
- package/dist/channelRepository/observers/getMembership.d.ts.map +1 -0
- package/dist/client/api/activeUser.d.ts +1 -0
- package/dist/client/api/activeUser.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/getBotToken.d.ts +21 -0
- package/dist/client/api/getBotToken.d.ts.map +1 -0
- package/dist/client/api/getCurrentUser.d.ts +2 -0
- package/dist/client/api/getCurrentUser.d.ts.map +1 -0
- package/dist/client/api/getCurrentUserType.d.ts +3 -0
- package/dist/client/api/getCurrentUserType.d.ts.map +1 -0
- package/dist/client/api/getToken.d.ts +1 -3
- package/dist/client/api/getToken.d.ts.map +1 -1
- package/dist/client/api/getVisitorToken.d.ts +24 -0
- package/dist/client/api/getVisitorToken.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +4 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/client/api/login.d.ts.map +1 -1
- package/dist/client/api/loginAsBot.d.ts +24 -0
- package/dist/client/api/loginAsBot.d.ts.map +1 -0
- package/dist/client/api/loginAsVisitor.d.ts +26 -0
- package/dist/client/api/loginAsVisitor.d.ts.map +1 -0
- package/dist/client/api/renewal.d.ts.map +1 -1
- package/dist/client/utils/setBotClientToken.d.ts +16 -0
- package/dist/client/utils/setBotClientToken.d.ts.map +1 -0
- package/dist/client/utils/setClientToken.d.ts +2 -1
- package/dist/client/utils/setClientToken.d.ts.map +1 -1
- package/dist/client/utils/setCurrentUser.d.ts +5 -0
- package/dist/client/utils/setCurrentUser.d.ts.map +1 -0
- package/dist/client/utils/setVisitorClientToken.d.ts +21 -0
- package/dist/client/utils/setVisitorClientToken.d.ts.map +1 -0
- package/dist/core/transports/http.d.ts.map +1 -1
- package/dist/index.cjs.js +466 -43
- package/dist/index.esm.js +467 -44
- package/dist/index.umd.js +3 -3
- package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/errors.ts +2 -0
- package/src/@types/domains/channel.ts +4 -0
- package/src/@types/domains/client.ts +17 -0
- package/src/@types/domains/user.ts +8 -0
- package/src/@types/index.ts +1 -0
- package/src/categoryRepository/api/getCategory.ts +3 -1
- package/src/channelRepository/api/unmuteChannel.ts +2 -4
- package/src/channelRepository/internalApi/getMembership.ts +45 -0
- package/src/channelRepository/observers/getMembership.ts +89 -0
- package/src/client/api/activeUser.ts +1 -0
- package/src/client/api/createClient.ts +3 -5
- package/src/client/api/getBotToken.ts +44 -0
- package/src/client/api/getCurrentUser.ts +32 -0
- package/src/client/api/getCurrentUserType.ts +23 -0
- package/src/client/api/getToken.ts +1 -1
- package/src/client/api/getVisitorToken.ts +47 -0
- package/src/client/api/index.ts +6 -0
- package/src/client/api/login.ts +5 -4
- package/src/client/api/loginAsBot.ts +125 -0
- package/src/client/api/loginAsVisitor.ts +129 -0
- package/src/client/api/renewal.ts +42 -2
- package/src/client/utils/setBotClientToken.ts +35 -0
- package/src/client/utils/setClientToken.ts +2 -2
- package/src/client/utils/setCurrentUser.ts +15 -0
- package/src/client/utils/setVisitorClientToken.ts +40 -0
- package/src/core/transports/http.ts +5 -4
- package/src/utils/linkedObject/channelLinkedObject.ts +11 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -14,6 +14,13 @@ var MembershipAcceptanceTypeEnum;
|
|
|
14
14
|
MembershipAcceptanceTypeEnum["INVITATION"] = "invitation";
|
|
15
15
|
})(MembershipAcceptanceTypeEnum || (MembershipAcceptanceTypeEnum = {}));
|
|
16
16
|
|
|
17
|
+
var UserTypeEnum;
|
|
18
|
+
(function (UserTypeEnum) {
|
|
19
|
+
UserTypeEnum["SIGNED_IN"] = "signed-in";
|
|
20
|
+
UserTypeEnum["VISITOR"] = "visitor";
|
|
21
|
+
UserTypeEnum["BOT"] = "bot";
|
|
22
|
+
})(UserTypeEnum || (UserTypeEnum = {}));
|
|
23
|
+
|
|
17
24
|
const FileType = Object.freeze({
|
|
18
25
|
FILE: 'file',
|
|
19
26
|
IMAGE: 'image',
|
|
@@ -1333,6 +1340,7 @@ let activeUser = null;
|
|
|
1333
1340
|
*/
|
|
1334
1341
|
/**
|
|
1335
1342
|
* for internal use
|
|
1343
|
+
* @deprecated please use getCurrentUser api instead.
|
|
1336
1344
|
*/
|
|
1337
1345
|
const getActiveUser = () => {
|
|
1338
1346
|
if (!activeUser) {
|
|
@@ -1766,12 +1774,6 @@ const createHttpTransport = (endpoint) => {
|
|
|
1766
1774
|
controller.abort();
|
|
1767
1775
|
handleRequestCancelation(RequestCancelation.UserDeleted);
|
|
1768
1776
|
}
|
|
1769
|
-
if (tokenExpiry) {
|
|
1770
|
-
if (Date.now() >= Date.parse(tokenExpiry)) {
|
|
1771
|
-
controller.abort(RequestCancelation.UserDeleted);
|
|
1772
|
-
handleRequestCancelation(RequestCancelation.TokenExpired);
|
|
1773
|
-
}
|
|
1774
|
-
}
|
|
1775
1777
|
}
|
|
1776
1778
|
return config;
|
|
1777
1779
|
});
|
|
@@ -22710,6 +22712,72 @@ const getMyMembership = (channelId, callback) => {
|
|
|
22710
22712
|
};
|
|
22711
22713
|
};
|
|
22712
22714
|
|
|
22715
|
+
const getMembership$1 = ({ channelId, userId, }) => {
|
|
22716
|
+
const client = getActiveClient();
|
|
22717
|
+
client.log('channel/getMembership.locally');
|
|
22718
|
+
const cacheChannelUser = pullFromCache([
|
|
22719
|
+
'channelUsers',
|
|
22720
|
+
'get',
|
|
22721
|
+
`${channelId}#${userId}`,
|
|
22722
|
+
]);
|
|
22723
|
+
if (!cacheChannelUser) {
|
|
22724
|
+
throw new ASCApiError('Item not found!', 400400 /* Amity.ServerError.ITEM_NOT_FOUND */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
22725
|
+
}
|
|
22726
|
+
return {
|
|
22727
|
+
data: cacheChannelUser.data,
|
|
22728
|
+
cachedAt: cacheChannelUser.cachedAt,
|
|
22729
|
+
};
|
|
22730
|
+
};
|
|
22731
|
+
|
|
22732
|
+
const getMembership = ({ channelId, userId, callback, }) => {
|
|
22733
|
+
const { log, cache } = getActiveClient();
|
|
22734
|
+
if (!cache) {
|
|
22735
|
+
console.log('This observable object need the cache data!');
|
|
22736
|
+
}
|
|
22737
|
+
const timestamp = Date.now();
|
|
22738
|
+
log(`liveMembership(tmpid: ${timestamp}) > listen`);
|
|
22739
|
+
const disposers = [];
|
|
22740
|
+
let isUnsyncedModel = false;
|
|
22741
|
+
let model;
|
|
22742
|
+
const dispatcher = (data) => {
|
|
22743
|
+
callback(Object.assign(Object.assign({}, data), { data: data.data ? channelMemberLinkedObject(data.data) : data.data }));
|
|
22744
|
+
};
|
|
22745
|
+
const realtimeRouter = (_, __) => {
|
|
22746
|
+
const { data } = getMembership$1({ channelId, userId });
|
|
22747
|
+
if (isEqual(model, data))
|
|
22748
|
+
return;
|
|
22749
|
+
dispatcher({ loading: false, data });
|
|
22750
|
+
};
|
|
22751
|
+
const onFetch = () => {
|
|
22752
|
+
const query = createQuery(async () => getMembership$1({ channelId, userId }));
|
|
22753
|
+
runQuery(query, ({ error, data, loading, origin, cachedAt }) => {
|
|
22754
|
+
if (cachedAt === UNSYNCED_OBJECT_CACHED_AT_VALUE) {
|
|
22755
|
+
dispatcher({
|
|
22756
|
+
data,
|
|
22757
|
+
origin,
|
|
22758
|
+
loading: false,
|
|
22759
|
+
error: new ASCApiError(UNSYNCED_OBJECT_CACHED_AT_MESSAGE, 800800 /* Amity.ClientError.DISALOOW_UNSYNCED_OBJECT */, "error" /* Amity.ErrorLevel.ERROR */),
|
|
22760
|
+
});
|
|
22761
|
+
isUnsyncedModel = true;
|
|
22762
|
+
disposers.forEach(fn => fn());
|
|
22763
|
+
}
|
|
22764
|
+
else if (!isUnsyncedModel) {
|
|
22765
|
+
dispatcher({ loading, data, origin, error });
|
|
22766
|
+
}
|
|
22767
|
+
if (error) {
|
|
22768
|
+
disposers.forEach(fn => fn());
|
|
22769
|
+
}
|
|
22770
|
+
});
|
|
22771
|
+
};
|
|
22772
|
+
disposers.push(onChannelMemberBanned(realtimeRouter));
|
|
22773
|
+
disposers.push(onChannelMemberUnbanned(realtimeRouter));
|
|
22774
|
+
disposers.push(onChannelSetUserMuted(realtimeRouter));
|
|
22775
|
+
onFetch();
|
|
22776
|
+
return () => {
|
|
22777
|
+
disposers.forEach(fn => fn());
|
|
22778
|
+
};
|
|
22779
|
+
};
|
|
22780
|
+
|
|
22713
22781
|
const channelLinkedObject = (channel) => {
|
|
22714
22782
|
var _a;
|
|
22715
22783
|
let previewMembers = [];
|
|
@@ -22728,6 +22796,13 @@ const channelLinkedObject = (channel) => {
|
|
|
22728
22796
|
markAsRead: () => markAsRead(channel.channelInternalId),
|
|
22729
22797
|
previewMembers,
|
|
22730
22798
|
myMembership: (callback) => getMyMembership(channel.channelId, callback),
|
|
22799
|
+
getMembership: (userId, callback) => {
|
|
22800
|
+
getMembership({
|
|
22801
|
+
channelId: channel.channelId,
|
|
22802
|
+
userId,
|
|
22803
|
+
callback,
|
|
22804
|
+
});
|
|
22805
|
+
},
|
|
22731
22806
|
});
|
|
22732
22807
|
};
|
|
22733
22808
|
|
|
@@ -23332,7 +23407,7 @@ const setClientToken = async (params) => {
|
|
|
23332
23407
|
const client = getActiveClient();
|
|
23333
23408
|
// begin establishing session
|
|
23334
23409
|
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
23335
|
-
const { accessToken, users, expiresAt, issuedAt } = await getToken(params);
|
|
23410
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getToken(params);
|
|
23336
23411
|
// manually setup the token for http transport
|
|
23337
23412
|
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
23338
23413
|
client.http.defaults.metadata = {
|
|
@@ -23348,7 +23423,66 @@ const setClientToken = async (params) => {
|
|
|
23348
23423
|
};
|
|
23349
23424
|
client.token = { accessToken, issuedAt, expiresAt };
|
|
23350
23425
|
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
23351
|
-
return { accessToken, users };
|
|
23426
|
+
return { accessToken, users, userType };
|
|
23427
|
+
};
|
|
23428
|
+
|
|
23429
|
+
/**
|
|
23430
|
+
* Retrieves a pair of {@link Amity.Tokens} necessary for connection
|
|
23431
|
+
*
|
|
23432
|
+
* @param params get visitor token param
|
|
23433
|
+
* @param params.deviceId The user's device Id (can be manually set for native users)
|
|
23434
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
23435
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
23436
|
+
* @param options get bot token options
|
|
23437
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
23438
|
+
* @return The accessToken for the given userId
|
|
23439
|
+
*
|
|
23440
|
+
*
|
|
23441
|
+
* @category Client API
|
|
23442
|
+
* @hidden
|
|
23443
|
+
*/
|
|
23444
|
+
const getVisitorToken = async ({ params, options, }) => {
|
|
23445
|
+
const client = getActiveClient();
|
|
23446
|
+
client.log('client/api/getVisitorToken', params);
|
|
23447
|
+
const deviceInfo = getDeviceInfo();
|
|
23448
|
+
const { data } = await client.http.post('/api/v5/sessions/visitor', Object.assign(Object.assign({}, params), { deviceInfo }), {
|
|
23449
|
+
headers: {
|
|
23450
|
+
'X-API-Key': client.apiKey,
|
|
23451
|
+
'set-access-token-cookie': (options === null || options === void 0 ? void 0 : options.setAccessTokenCookie) || false,
|
|
23452
|
+
},
|
|
23453
|
+
});
|
|
23454
|
+
return data;
|
|
23455
|
+
};
|
|
23456
|
+
|
|
23457
|
+
/**
|
|
23458
|
+
* A util to set or refresh client token
|
|
23459
|
+
*
|
|
23460
|
+
* @param params.userId the user ID for the current session
|
|
23461
|
+
* @param params.displayName the user's displayName for the current session
|
|
23462
|
+
* @param params.deviceId Manual override of the user's device id (for device management)
|
|
23463
|
+
* @param params.authToken The authentication token - necessary when network option is set to secure
|
|
23464
|
+
* @param options get bot token options
|
|
23465
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
23466
|
+
* @returns token & user info
|
|
23467
|
+
*
|
|
23468
|
+
* @category private
|
|
23469
|
+
* @async
|
|
23470
|
+
*/
|
|
23471
|
+
const setVisitorClientToken = async (params) => {
|
|
23472
|
+
const client = getActiveClient();
|
|
23473
|
+
// begin establishing session
|
|
23474
|
+
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
23475
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getVisitorToken(params);
|
|
23476
|
+
// manually setup the token for http transport
|
|
23477
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
23478
|
+
client.http.defaults.metadata = {
|
|
23479
|
+
tokenExpiry: expiresAt,
|
|
23480
|
+
isGlobalBanned: false,
|
|
23481
|
+
isUserDeleted: false,
|
|
23482
|
+
};
|
|
23483
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
23484
|
+
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
23485
|
+
return { accessToken, users, userType };
|
|
23352
23486
|
};
|
|
23353
23487
|
|
|
23354
23488
|
function prepareUserPayload(response) {
|
|
@@ -24808,13 +24942,34 @@ const removeChannelMarkerCache = (channel) => {
|
|
|
24808
24942
|
dropFromCache(['channelMarker', 'get', id], true);
|
|
24809
24943
|
};
|
|
24810
24944
|
|
|
24945
|
+
let currentUserType = null;
|
|
24946
|
+
/* begin_public_function
|
|
24947
|
+
id: client.get_current_user_type
|
|
24948
|
+
*/
|
|
24949
|
+
const getCurrentUserType = () => {
|
|
24950
|
+
if (!currentUserType) {
|
|
24951
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
24952
|
+
}
|
|
24953
|
+
return currentUserType;
|
|
24954
|
+
};
|
|
24955
|
+
/* end_public_function */
|
|
24956
|
+
const setCurrentUserType = (userType) => {
|
|
24957
|
+
currentUserType = userType;
|
|
24958
|
+
};
|
|
24959
|
+
|
|
24960
|
+
const setCurrentUser = ({ user, userType, }) => {
|
|
24961
|
+
setActiveUser(user);
|
|
24962
|
+
setCurrentUserType(userType);
|
|
24963
|
+
pushToCache(['user', 'get', user.userId], user);
|
|
24964
|
+
};
|
|
24965
|
+
|
|
24811
24966
|
/* eslint-disable no-param-reassign */
|
|
24812
24967
|
/*
|
|
24813
24968
|
* declared earlier to accomodate case when logging in with a different user
|
|
24814
24969
|
* than the one already connected, in which case the existing subscriptions need
|
|
24815
24970
|
* to be cleared
|
|
24816
24971
|
*/
|
|
24817
|
-
let subscriptions$
|
|
24972
|
+
let subscriptions$3 = [];
|
|
24818
24973
|
async function runMqtt$1() {
|
|
24819
24974
|
await modifyMqttConnection();
|
|
24820
24975
|
}
|
|
@@ -24849,13 +25004,13 @@ const login = async (params, sessionHandler, config) => {
|
|
|
24849
25004
|
if (client.userId && client.userId !== params.userId) {
|
|
24850
25005
|
await logout();
|
|
24851
25006
|
// Remove subscription to ban and delete
|
|
24852
|
-
subscriptions$
|
|
24853
|
-
subscriptions$
|
|
25007
|
+
subscriptions$3.forEach(fn => fn());
|
|
25008
|
+
subscriptions$3 = [];
|
|
24854
25009
|
}
|
|
24855
25010
|
// default values
|
|
24856
25011
|
const defaultDeviceId = await getDeviceId();
|
|
24857
25012
|
try {
|
|
24858
|
-
const { users } = await setClientToken({
|
|
25013
|
+
const { users, userType } = await setClientToken({
|
|
24859
25014
|
params: Object.assign(Object.assign({}, params), { displayName: params === null || params === void 0 ? void 0 : params.displayName, deviceId: (params === null || params === void 0 ? void 0 : params.deviceId) || defaultDeviceId }),
|
|
24860
25015
|
options: {
|
|
24861
25016
|
setAccessTokenCookie: true,
|
|
@@ -24869,7 +25024,7 @@ const login = async (params, sessionHandler, config) => {
|
|
|
24869
25024
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
24870
25025
|
return false;
|
|
24871
25026
|
}
|
|
24872
|
-
if (user.
|
|
25027
|
+
if (user.isGlobalBan) {
|
|
24873
25028
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
24874
25029
|
return false;
|
|
24875
25030
|
}
|
|
@@ -24880,7 +25035,7 @@ const login = async (params, sessionHandler, config) => {
|
|
|
24880
25035
|
* token expires
|
|
24881
25036
|
*/
|
|
24882
25037
|
unsubWatcher = client.accessTokenExpiryWatcher(sessionHandler);
|
|
24883
|
-
|
|
25038
|
+
setCurrentUser({ user, userType });
|
|
24884
25039
|
}
|
|
24885
25040
|
catch (error) {
|
|
24886
25041
|
/*
|
|
@@ -24895,42 +25050,141 @@ const login = async (params, sessionHandler, config) => {
|
|
|
24895
25050
|
runMqtt$1();
|
|
24896
25051
|
}
|
|
24897
25052
|
await initializeMessagePreviewSetting();
|
|
24898
|
-
if (subscriptions$
|
|
24899
|
-
subscriptions$
|
|
25053
|
+
if (subscriptions$3.length === 0) {
|
|
25054
|
+
subscriptions$3.push(
|
|
24900
25055
|
// GLOBAL_BAN
|
|
24901
25056
|
onClientBanned((_) => {
|
|
24902
25057
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
24903
|
-
subscriptions$
|
|
25058
|
+
subscriptions$3.forEach(fn => fn());
|
|
24904
25059
|
unsubWatcher();
|
|
24905
25060
|
}), onTokenTerminated(_ => {
|
|
24906
25061
|
terminateClient();
|
|
24907
|
-
subscriptions$
|
|
25062
|
+
subscriptions$3.forEach(fn => fn());
|
|
24908
25063
|
unsubWatcher();
|
|
24909
25064
|
}), onUserDeleted$2((user) => {
|
|
24910
25065
|
if (user.userId === client.userId) {
|
|
24911
25066
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
24912
|
-
subscriptions$
|
|
25067
|
+
subscriptions$3.forEach(fn => fn());
|
|
24913
25068
|
unsubWatcher();
|
|
24914
25069
|
}
|
|
24915
25070
|
}), onTokenExpired(state => {
|
|
24916
25071
|
SessionWatcher$1.getInstance().setSessionState(state);
|
|
24917
25072
|
logout();
|
|
24918
|
-
subscriptions$
|
|
25073
|
+
subscriptions$3.forEach(fn => fn());
|
|
24919
25074
|
}),
|
|
24920
25075
|
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave
|
|
24921
25076
|
// the channel because currently backend can't handle this, so every time a user is banned from
|
|
24922
25077
|
// a channel or the channel is deleted the channel's unread count will not be reset to zero
|
|
24923
25078
|
onChannelDeleted(removeChannelMarkerCache), onChannelMemberBanned(removeChannelMarkerCache), markReadEngineOnLoginHandler(), analyticsEngineOnLoginHandler(), objectResolverEngineOnLoginHandler(), reactionSyncEngineOnLoginHandler());
|
|
24924
25079
|
if (client.useLegacyUnreadCount) {
|
|
24925
|
-
subscriptions$
|
|
25080
|
+
subscriptions$3.push(readReceiptSyncEngineOnLoginHandler());
|
|
24926
25081
|
}
|
|
24927
25082
|
else
|
|
24928
|
-
subscriptions$
|
|
25083
|
+
subscriptions$3.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
25084
|
+
}
|
|
25085
|
+
return true;
|
|
25086
|
+
};
|
|
25087
|
+
/* end_public_function */
|
|
25088
|
+
|
|
25089
|
+
/* eslint-disable require-atomic-updates */
|
|
25090
|
+
/*
|
|
25091
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
25092
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
25093
|
+
* to be cleared
|
|
25094
|
+
*/
|
|
25095
|
+
const subscriptions$2 = [];
|
|
25096
|
+
/* begin_public_function
|
|
25097
|
+
id: client.loginAsVisitor
|
|
25098
|
+
*/
|
|
25099
|
+
/**
|
|
25100
|
+
* ```js
|
|
25101
|
+
* import { loginAsVisitor } from '@amityco/ts-sdk/client/api'
|
|
25102
|
+
* const success = await loginAsVisitor({
|
|
25103
|
+
sessionHandler: {
|
|
25104
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
25105
|
+
...
|
|
25106
|
+
}
|
|
25107
|
+
* })
|
|
25108
|
+
* ```
|
|
25109
|
+
*
|
|
25110
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
25111
|
+
*
|
|
25112
|
+
* @param params. the connect parameters
|
|
25113
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
25114
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
25115
|
+
* @param params.sessionHandler
|
|
25116
|
+
* @returns a success boolean if connected
|
|
25117
|
+
*
|
|
25118
|
+
* @category Client API
|
|
25119
|
+
* @async
|
|
25120
|
+
*/
|
|
25121
|
+
const loginAsVisitor = async (params) => {
|
|
25122
|
+
const client = getActiveClient();
|
|
25123
|
+
let unsubWatcher;
|
|
25124
|
+
client.log('client/api/connectClient', Object.assign({ apiKey: client.apiKey, sessionState: client.sessionState }, params));
|
|
25125
|
+
// generate deviceId
|
|
25126
|
+
const deviceId = await getDeviceId();
|
|
25127
|
+
let user;
|
|
25128
|
+
try {
|
|
25129
|
+
const { users, userType } = await setVisitorClientToken({
|
|
25130
|
+
params: Object.assign(Object.assign({}, params), { deviceId }),
|
|
25131
|
+
options: {
|
|
25132
|
+
setAccessTokenCookie: true,
|
|
25133
|
+
},
|
|
25134
|
+
});
|
|
25135
|
+
[user] = users;
|
|
25136
|
+
client.userId = user.userId;
|
|
25137
|
+
client.sessionHandler = params.sessionHandler;
|
|
25138
|
+
/*
|
|
25139
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
25140
|
+
* token expires
|
|
25141
|
+
*/
|
|
25142
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
25143
|
+
setCurrentUser({ user, userType });
|
|
25144
|
+
}
|
|
25145
|
+
catch (error) {
|
|
25146
|
+
/*
|
|
25147
|
+
* if getting token failed session state reverts to initial state when app
|
|
25148
|
+
* is first launched
|
|
25149
|
+
*/
|
|
25150
|
+
SessionWatcher$1.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
25151
|
+
// pass error down tree so the calling function handle it
|
|
25152
|
+
throw error;
|
|
25153
|
+
}
|
|
25154
|
+
await initializeMessagePreviewSetting();
|
|
25155
|
+
if (subscriptions$2.length === 0) {
|
|
25156
|
+
// handling internal SDK events
|
|
25157
|
+
subscriptions$2.push(onTokenTerminated(_ => {
|
|
25158
|
+
terminateClient();
|
|
25159
|
+
subscriptions$2.forEach(fn => fn());
|
|
25160
|
+
unsubWatcher();
|
|
25161
|
+
}), onTokenExpired(state => {
|
|
25162
|
+
SessionWatcher$1.getInstance().setSessionState(state);
|
|
25163
|
+
logout();
|
|
25164
|
+
subscriptions$2.forEach(fn => fn());
|
|
25165
|
+
}));
|
|
24929
25166
|
}
|
|
24930
25167
|
return true;
|
|
24931
25168
|
};
|
|
24932
25169
|
/* end_public_function */
|
|
24933
25170
|
|
|
25171
|
+
/* begin_public_function
|
|
25172
|
+
id: client.get_current_user
|
|
25173
|
+
*/
|
|
25174
|
+
const getCurrentUser = () => {
|
|
25175
|
+
var _a;
|
|
25176
|
+
const client = getActiveClient();
|
|
25177
|
+
if (!client) {
|
|
25178
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
25179
|
+
}
|
|
25180
|
+
const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
25181
|
+
if (!cache) {
|
|
25182
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
25183
|
+
}
|
|
25184
|
+
return userLinkedObject(cache);
|
|
25185
|
+
};
|
|
25186
|
+
/* end_public_function */
|
|
25187
|
+
|
|
24934
25188
|
/* begin_public_function
|
|
24935
25189
|
id: client.renew_access_token
|
|
24936
25190
|
*/
|
|
@@ -24953,7 +25207,7 @@ const renewal = () => {
|
|
|
24953
25207
|
* Per instance of Renewal, only one renewal is allowed
|
|
24954
25208
|
*/
|
|
24955
25209
|
const renewToken = async (authToken) => {
|
|
24956
|
-
const { userId, displayName } =
|
|
25210
|
+
const { userId, displayName } = getCurrentUser();
|
|
24957
25211
|
const deviceId = await getDeviceId();
|
|
24958
25212
|
const params = { userId, displayName, authToken, deviceId };
|
|
24959
25213
|
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
@@ -24972,6 +25226,24 @@ const renewal = () => {
|
|
|
24972
25226
|
if (renewTimeoutId)
|
|
24973
25227
|
clearTimeout(renewTimeoutId);
|
|
24974
25228
|
};
|
|
25229
|
+
const renewVisitorToken = async ({ authSignature, authSignatureExpiresAt, }) => {
|
|
25230
|
+
const deviceId = await getDeviceId();
|
|
25231
|
+
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
25232
|
+
await loginAsVisitor({ sessionHandler: client.sessionHandler });
|
|
25233
|
+
}
|
|
25234
|
+
else {
|
|
25235
|
+
// about to expire
|
|
25236
|
+
await setVisitorClientToken({
|
|
25237
|
+
params: { authSignature, authSignatureExpiresAt, deviceId },
|
|
25238
|
+
options: {
|
|
25239
|
+
setAccessTokenCookie: true,
|
|
25240
|
+
},
|
|
25241
|
+
});
|
|
25242
|
+
}
|
|
25243
|
+
tokenRenewed = true;
|
|
25244
|
+
if (renewTimeoutId)
|
|
25245
|
+
clearTimeout(renewTimeoutId);
|
|
25246
|
+
};
|
|
24975
25247
|
return {
|
|
24976
25248
|
renew: () => {
|
|
24977
25249
|
if (tokenRenewed) {
|
|
@@ -24993,6 +25265,19 @@ const renewal = () => {
|
|
|
24993
25265
|
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
24994
25266
|
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
24995
25267
|
},
|
|
25268
|
+
renewWithAuthSignature: (params) => {
|
|
25269
|
+
if (tokenRenewed) {
|
|
25270
|
+
console.log("'renew' method can be called only once per renewal instance");
|
|
25271
|
+
return;
|
|
25272
|
+
}
|
|
25273
|
+
renewVisitorToken(params);
|
|
25274
|
+
},
|
|
25275
|
+
unableToRetrieveAuthSignature: () => {
|
|
25276
|
+
renewTimeoutId = setTimeout(() => {
|
|
25277
|
+
var _a;
|
|
25278
|
+
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
25279
|
+
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
25280
|
+
},
|
|
24996
25281
|
};
|
|
24997
25282
|
};
|
|
24998
25283
|
/* end_public_function */
|
|
@@ -25539,6 +25824,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
25539
25824
|
validateTexts,
|
|
25540
25825
|
getFeedSettings,
|
|
25541
25826
|
getSocialSettings,
|
|
25827
|
+
getVisitorDeviceId: getDeviceId,
|
|
25542
25828
|
getMessagePreviewSetting,
|
|
25543
25829
|
use: () => setActiveClient(client),
|
|
25544
25830
|
isUnreadCountEnabled,
|
|
@@ -25594,7 +25880,7 @@ const secureLogout = async () => {
|
|
|
25594
25880
|
* than the one already connected, in which case the existing subscriptions need
|
|
25595
25881
|
* to be cleared
|
|
25596
25882
|
*/
|
|
25597
|
-
let subscriptions = [];
|
|
25883
|
+
let subscriptions$1 = [];
|
|
25598
25884
|
async function runMqtt() {
|
|
25599
25885
|
await modifyMqttConnection();
|
|
25600
25886
|
}
|
|
@@ -25666,15 +25952,15 @@ const resumeSession = async (params, sessionHandler, config) => {
|
|
|
25666
25952
|
client.mqtt.disconnect();
|
|
25667
25953
|
}
|
|
25668
25954
|
// Clear existing subscriptions
|
|
25669
|
-
subscriptions.forEach(fn => fn());
|
|
25670
|
-
subscriptions = [];
|
|
25955
|
+
subscriptions$1.forEach(fn => fn());
|
|
25956
|
+
subscriptions$1 = [];
|
|
25671
25957
|
}
|
|
25672
25958
|
else {
|
|
25673
25959
|
// Different user - do full logout
|
|
25674
25960
|
await logout();
|
|
25675
25961
|
// Remove subscription to ban and delete
|
|
25676
|
-
subscriptions.forEach(fn => fn());
|
|
25677
|
-
subscriptions = [];
|
|
25962
|
+
subscriptions$1.forEach(fn => fn());
|
|
25963
|
+
subscriptions$1 = [];
|
|
25678
25964
|
}
|
|
25679
25965
|
}
|
|
25680
25966
|
try {
|
|
@@ -25712,37 +25998,37 @@ const resumeSession = async (params, sessionHandler, config) => {
|
|
|
25712
25998
|
runMqtt();
|
|
25713
25999
|
}
|
|
25714
26000
|
await initializeMessagePreviewSetting();
|
|
25715
|
-
if (subscriptions.length === 0) {
|
|
25716
|
-
subscriptions.push(
|
|
26001
|
+
if (subscriptions$1.length === 0) {
|
|
26002
|
+
subscriptions$1.push(
|
|
25717
26003
|
// GLOBAL_BAN
|
|
25718
26004
|
onClientBanned((_) => {
|
|
25719
26005
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
25720
|
-
subscriptions.forEach(fn => fn());
|
|
26006
|
+
subscriptions$1.forEach(fn => fn());
|
|
25721
26007
|
unsubWatcher();
|
|
25722
26008
|
}), onTokenTerminated(_ => {
|
|
25723
26009
|
terminateClient();
|
|
25724
|
-
subscriptions.forEach(fn => fn());
|
|
26010
|
+
subscriptions$1.forEach(fn => fn());
|
|
25725
26011
|
unsubWatcher();
|
|
25726
26012
|
}), onUserDeleted$2((user) => {
|
|
25727
26013
|
if (user.userId === client.userId) {
|
|
25728
26014
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
25729
|
-
subscriptions.forEach(fn => fn());
|
|
26015
|
+
subscriptions$1.forEach(fn => fn());
|
|
25730
26016
|
unsubWatcher();
|
|
25731
26017
|
}
|
|
25732
26018
|
}), onTokenExpired(state => {
|
|
25733
26019
|
SessionWatcher$1.getInstance().setSessionState(state);
|
|
25734
26020
|
logout();
|
|
25735
|
-
subscriptions.forEach(fn => fn());
|
|
26021
|
+
subscriptions$1.forEach(fn => fn());
|
|
25736
26022
|
}),
|
|
25737
26023
|
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave
|
|
25738
26024
|
// the channel because currently backend can't handle this, so every time a user is banned from
|
|
25739
26025
|
// a channel or the channel is deleted the channel's unread count will not be reset to zero
|
|
25740
26026
|
onChannelDeleted(removeChannelMarkerCache), onChannelMemberBanned(removeChannelMarkerCache), markReadEngineOnLoginHandler(), analyticsEngineOnLoginHandler(), objectResolverEngineOnLoginHandler());
|
|
25741
26027
|
if (client.useLegacyUnreadCount) {
|
|
25742
|
-
subscriptions.push(readReceiptSyncEngineOnLoginHandler());
|
|
26028
|
+
subscriptions$1.push(readReceiptSyncEngineOnLoginHandler());
|
|
25743
26029
|
}
|
|
25744
26030
|
else
|
|
25745
|
-
subscriptions.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
26031
|
+
subscriptions$1.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
25746
26032
|
}
|
|
25747
26033
|
return true;
|
|
25748
26034
|
};
|
|
@@ -25840,6 +26126,142 @@ const getShareableLinkConfiguration = async () => {
|
|
|
25840
26126
|
return data;
|
|
25841
26127
|
};
|
|
25842
26128
|
|
|
26129
|
+
/**
|
|
26130
|
+
* Retrieves a pair of {@link Amity.Tokens} necessary for connection
|
|
26131
|
+
*
|
|
26132
|
+
* @param param get bot token param
|
|
26133
|
+
* @param params.deviceId The user's device Id (can be manually set for native users)
|
|
26134
|
+
* @param options get bot token options
|
|
26135
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
26136
|
+
* @return The accessToken for the given userId
|
|
26137
|
+
*
|
|
26138
|
+
* @category Client API
|
|
26139
|
+
* @hidden
|
|
26140
|
+
*/
|
|
26141
|
+
const getBotToken = async ({ params, options, }) => {
|
|
26142
|
+
const client = getActiveClient();
|
|
26143
|
+
client.log('client/api/getBotToken');
|
|
26144
|
+
const deviceInfo = getDeviceInfo();
|
|
26145
|
+
const { data } = await client.http.post('/api/v5/sessions/bot', Object.assign(Object.assign({}, params), { deviceInfo }), {
|
|
26146
|
+
headers: {
|
|
26147
|
+
'X-API-Key': client.apiKey,
|
|
26148
|
+
'set-access-token-cookie': (options === null || options === void 0 ? void 0 : options.setAccessTokenCookie) || false,
|
|
26149
|
+
},
|
|
26150
|
+
});
|
|
26151
|
+
return data;
|
|
26152
|
+
};
|
|
26153
|
+
|
|
26154
|
+
/**
|
|
26155
|
+
* A util to set or refresh client token
|
|
26156
|
+
* @param options get bot token options
|
|
26157
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
26158
|
+
* @returns token & user info
|
|
26159
|
+
*
|
|
26160
|
+
* @category private
|
|
26161
|
+
* @async
|
|
26162
|
+
*/
|
|
26163
|
+
const setBotClientToken = async (params) => {
|
|
26164
|
+
const client = getActiveClient();
|
|
26165
|
+
// begin establishing session
|
|
26166
|
+
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
26167
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getBotToken(params);
|
|
26168
|
+
// manually setup the token for http transport
|
|
26169
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
26170
|
+
client.http.defaults.metadata = {
|
|
26171
|
+
tokenExpiry: expiresAt,
|
|
26172
|
+
isGlobalBanned: false,
|
|
26173
|
+
isUserDeleted: false,
|
|
26174
|
+
};
|
|
26175
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
26176
|
+
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
26177
|
+
return { accessToken, users, userType };
|
|
26178
|
+
};
|
|
26179
|
+
|
|
26180
|
+
/* eslint-disable require-atomic-updates */
|
|
26181
|
+
/*
|
|
26182
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
26183
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
26184
|
+
* to be cleared
|
|
26185
|
+
*/
|
|
26186
|
+
const subscriptions = [];
|
|
26187
|
+
/* begin_public_function
|
|
26188
|
+
id: client.loginAsBot
|
|
26189
|
+
*/
|
|
26190
|
+
/**
|
|
26191
|
+
* ```js
|
|
26192
|
+
* import { loginAsBot } from '@amityco/ts-sdk/client/api'
|
|
26193
|
+
* const success = await loginAsBot({
|
|
26194
|
+
sessionHandler: {
|
|
26195
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
26196
|
+
...
|
|
26197
|
+
}
|
|
26198
|
+
* })
|
|
26199
|
+
* ```
|
|
26200
|
+
*
|
|
26201
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
26202
|
+
*
|
|
26203
|
+
* @param params. the connect parameters
|
|
26204
|
+
* @param params.sessionHandler
|
|
26205
|
+
* @returns a success boolean if connected
|
|
26206
|
+
*
|
|
26207
|
+
* @category Client API
|
|
26208
|
+
* @async
|
|
26209
|
+
*/
|
|
26210
|
+
const loginAsBot = async (params) => {
|
|
26211
|
+
const client = getActiveClient();
|
|
26212
|
+
let unsubWatcher;
|
|
26213
|
+
client.log('client/api/connectClient', {
|
|
26214
|
+
apiKey: client.apiKey,
|
|
26215
|
+
sessionState: client.sessionState,
|
|
26216
|
+
});
|
|
26217
|
+
// generate deviceId
|
|
26218
|
+
const deviceId = await getDeviceId();
|
|
26219
|
+
let user;
|
|
26220
|
+
try {
|
|
26221
|
+
const { users, userType } = await setBotClientToken({
|
|
26222
|
+
params: {
|
|
26223
|
+
deviceId,
|
|
26224
|
+
},
|
|
26225
|
+
options: {
|
|
26226
|
+
setAccessTokenCookie: true,
|
|
26227
|
+
},
|
|
26228
|
+
});
|
|
26229
|
+
[user] = users;
|
|
26230
|
+
client.userId = user.userId;
|
|
26231
|
+
client.sessionHandler = params.sessionHandler;
|
|
26232
|
+
/*
|
|
26233
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
26234
|
+
* token expires
|
|
26235
|
+
*/
|
|
26236
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
26237
|
+
setCurrentUser({ user, userType });
|
|
26238
|
+
}
|
|
26239
|
+
catch (error) {
|
|
26240
|
+
/*
|
|
26241
|
+
* if getting token failed session state reverts to initial state when app
|
|
26242
|
+
* is first launched
|
|
26243
|
+
*/
|
|
26244
|
+
SessionWatcher$1.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
26245
|
+
// pass error down tree so the calling function handle it
|
|
26246
|
+
throw error;
|
|
26247
|
+
}
|
|
26248
|
+
await initializeMessagePreviewSetting();
|
|
26249
|
+
if (subscriptions.length === 0) {
|
|
26250
|
+
// handling internal SDK events
|
|
26251
|
+
subscriptions.push(onTokenTerminated(_ => {
|
|
26252
|
+
terminateClient();
|
|
26253
|
+
subscriptions.forEach(fn => fn());
|
|
26254
|
+
unsubWatcher();
|
|
26255
|
+
}), onTokenExpired(state => {
|
|
26256
|
+
SessionWatcher$1.getInstance().setSessionState(state);
|
|
26257
|
+
logout();
|
|
26258
|
+
subscriptions.forEach(fn => fn());
|
|
26259
|
+
}));
|
|
26260
|
+
}
|
|
26261
|
+
return true;
|
|
26262
|
+
};
|
|
26263
|
+
/* end_public_function */
|
|
26264
|
+
|
|
25843
26265
|
/**
|
|
25844
26266
|
* ```js
|
|
25845
26267
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -26211,6 +26633,11 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
26211
26633
|
fetchLinkPreview: fetchLinkPreview,
|
|
26212
26634
|
getSocialSettings: getSocialSettings,
|
|
26213
26635
|
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
26636
|
+
loginAsVisitor: loginAsVisitor,
|
|
26637
|
+
loginAsBot: loginAsBot,
|
|
26638
|
+
getCurrentUser: getCurrentUser,
|
|
26639
|
+
getCurrentUserType: getCurrentUserType,
|
|
26640
|
+
setCurrentUserType: setCurrentUserType,
|
|
26214
26641
|
onConnectionError: onConnectionError,
|
|
26215
26642
|
onClientDisconnected: onClientDisconnected,
|
|
26216
26643
|
onClientBanned: onClientBanned,
|
|
@@ -32912,7 +33339,6 @@ const muteChannel = async (channelId, mutePeriod = MUTE_FOREVER$1) => {
|
|
|
32912
33339
|
/* begin_public_function
|
|
32913
33340
|
id: channel.unmute
|
|
32914
33341
|
*/
|
|
32915
|
-
const CHANNEL_UNMUTE_PERIOD = 0;
|
|
32916
33342
|
/**
|
|
32917
33343
|
* ```js
|
|
32918
33344
|
* import { ChannelRepository } from '@amityco/ts-sdk'
|
|
@@ -32927,14 +33353,11 @@ const CHANNEL_UNMUTE_PERIOD = 0;
|
|
|
32927
33353
|
* @category Channel API
|
|
32928
33354
|
* @async
|
|
32929
33355
|
*/
|
|
33356
|
+
const CHANNEL_UNMUTE_PERIOD = 0; // Setting mute period as 0 is the same as unmuting the channel
|
|
32930
33357
|
const unmuteChannel = async (channelId) => {
|
|
32931
33358
|
const client = getActiveClient();
|
|
32932
33359
|
client.log('channel/unmuteChannel', channelId);
|
|
32933
|
-
const { data } = await client.http.put(`/api/v2/channel/${encodeURIComponent(channelId)}/mute`,
|
|
32934
|
-
/*
|
|
32935
|
-
* Setting mute period as 0 is the same as unmuting the channel
|
|
32936
|
-
*/
|
|
32937
|
-
{ mutePeriod: CHANNEL_UNMUTE_PERIOD });
|
|
33360
|
+
const { data } = await client.http.put(`/api/v2/channel/${encodeURIComponent(channelId)}/mute`, { mutePeriod: CHANNEL_UNMUTE_PERIOD });
|
|
32938
33361
|
const { success } = data;
|
|
32939
33362
|
return success;
|
|
32940
33363
|
};
|
|
@@ -39105,7 +39528,7 @@ const getCategory = async (categoryId) => {
|
|
|
39105
39528
|
ingestInCache(data, { cachedAt });
|
|
39106
39529
|
const { categories } = data;
|
|
39107
39530
|
return {
|
|
39108
|
-
data: LinkedObject.category(categories.find(category => category.categoryId === categoryId)),
|
|
39531
|
+
data: LinkedObject.category((categories !== null && categories !== void 0 ? categories : []).find(category => category.categoryId === categoryId)),
|
|
39109
39532
|
cachedAt,
|
|
39110
39533
|
};
|
|
39111
39534
|
};
|
|
@@ -45869,4 +46292,4 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
45869
46292
|
getReactions: getReactions
|
|
45870
46293
|
});
|
|
45871
46294
|
|
|
45872
|
-
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, GET_WATCHER_URLS, 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 };
|
|
46295
|
+
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, GET_WATCHER_URLS, 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, UserTypeEnum, 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 };
|