@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.cjs.js
CHANGED
|
@@ -29,6 +29,13 @@ exports.MembershipAcceptanceTypeEnum = void 0;
|
|
|
29
29
|
MembershipAcceptanceTypeEnum["INVITATION"] = "invitation";
|
|
30
30
|
})(exports.MembershipAcceptanceTypeEnum || (exports.MembershipAcceptanceTypeEnum = {}));
|
|
31
31
|
|
|
32
|
+
exports.UserTypeEnum = void 0;
|
|
33
|
+
(function (UserTypeEnum) {
|
|
34
|
+
UserTypeEnum["SIGNED_IN"] = "signed-in";
|
|
35
|
+
UserTypeEnum["VISITOR"] = "visitor";
|
|
36
|
+
UserTypeEnum["BOT"] = "bot";
|
|
37
|
+
})(exports.UserTypeEnum || (exports.UserTypeEnum = {}));
|
|
38
|
+
|
|
32
39
|
const FileType = Object.freeze({
|
|
33
40
|
FILE: 'file',
|
|
34
41
|
IMAGE: 'image',
|
|
@@ -1348,6 +1355,7 @@ let activeUser = null;
|
|
|
1348
1355
|
*/
|
|
1349
1356
|
/**
|
|
1350
1357
|
* for internal use
|
|
1358
|
+
* @deprecated please use getCurrentUser api instead.
|
|
1351
1359
|
*/
|
|
1352
1360
|
const getActiveUser = () => {
|
|
1353
1361
|
if (!activeUser) {
|
|
@@ -1781,12 +1789,6 @@ const createHttpTransport = (endpoint) => {
|
|
|
1781
1789
|
controller.abort();
|
|
1782
1790
|
handleRequestCancelation(RequestCancelation.UserDeleted);
|
|
1783
1791
|
}
|
|
1784
|
-
if (tokenExpiry) {
|
|
1785
|
-
if (Date.now() >= Date.parse(tokenExpiry)) {
|
|
1786
|
-
controller.abort(RequestCancelation.UserDeleted);
|
|
1787
|
-
handleRequestCancelation(RequestCancelation.TokenExpired);
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
1792
|
}
|
|
1791
1793
|
return config;
|
|
1792
1794
|
});
|
|
@@ -6618,6 +6620,72 @@ const getMyMembership = (channelId, callback) => {
|
|
|
6618
6620
|
};
|
|
6619
6621
|
};
|
|
6620
6622
|
|
|
6623
|
+
const getMembership$1 = ({ channelId, userId, }) => {
|
|
6624
|
+
const client = getActiveClient();
|
|
6625
|
+
client.log('channel/getMembership.locally');
|
|
6626
|
+
const cacheChannelUser = pullFromCache([
|
|
6627
|
+
'channelUsers',
|
|
6628
|
+
'get',
|
|
6629
|
+
`${channelId}#${userId}`,
|
|
6630
|
+
]);
|
|
6631
|
+
if (!cacheChannelUser) {
|
|
6632
|
+
throw new ASCApiError('Item not found!', 400400 /* Amity.ServerError.ITEM_NOT_FOUND */, "error" /* Amity.ErrorLevel.ERROR */);
|
|
6633
|
+
}
|
|
6634
|
+
return {
|
|
6635
|
+
data: cacheChannelUser.data,
|
|
6636
|
+
cachedAt: cacheChannelUser.cachedAt,
|
|
6637
|
+
};
|
|
6638
|
+
};
|
|
6639
|
+
|
|
6640
|
+
const getMembership = ({ channelId, userId, callback, }) => {
|
|
6641
|
+
const { log, cache } = getActiveClient();
|
|
6642
|
+
if (!cache) {
|
|
6643
|
+
console.log('This observable object need the cache data!');
|
|
6644
|
+
}
|
|
6645
|
+
const timestamp = Date.now();
|
|
6646
|
+
log(`liveMembership(tmpid: ${timestamp}) > listen`);
|
|
6647
|
+
const disposers = [];
|
|
6648
|
+
let isUnsyncedModel = false;
|
|
6649
|
+
let model;
|
|
6650
|
+
const dispatcher = (data) => {
|
|
6651
|
+
callback(Object.assign(Object.assign({}, data), { data: data.data ? channelMemberLinkedObject(data.data) : data.data }));
|
|
6652
|
+
};
|
|
6653
|
+
const realtimeRouter = (_, __) => {
|
|
6654
|
+
const { data } = getMembership$1({ channelId, userId });
|
|
6655
|
+
if (isEqual(model, data))
|
|
6656
|
+
return;
|
|
6657
|
+
dispatcher({ loading: false, data });
|
|
6658
|
+
};
|
|
6659
|
+
const onFetch = () => {
|
|
6660
|
+
const query = createQuery(async () => getMembership$1({ channelId, userId }));
|
|
6661
|
+
runQuery(query, ({ error, data, loading, origin, cachedAt }) => {
|
|
6662
|
+
if (cachedAt === UNSYNCED_OBJECT_CACHED_AT_VALUE) {
|
|
6663
|
+
dispatcher({
|
|
6664
|
+
data,
|
|
6665
|
+
origin,
|
|
6666
|
+
loading: false,
|
|
6667
|
+
error: new ASCApiError(UNSYNCED_OBJECT_CACHED_AT_MESSAGE, 800800 /* Amity.ClientError.DISALOOW_UNSYNCED_OBJECT */, "error" /* Amity.ErrorLevel.ERROR */),
|
|
6668
|
+
});
|
|
6669
|
+
isUnsyncedModel = true;
|
|
6670
|
+
disposers.forEach(fn => fn());
|
|
6671
|
+
}
|
|
6672
|
+
else if (!isUnsyncedModel) {
|
|
6673
|
+
dispatcher({ loading, data, origin, error });
|
|
6674
|
+
}
|
|
6675
|
+
if (error) {
|
|
6676
|
+
disposers.forEach(fn => fn());
|
|
6677
|
+
}
|
|
6678
|
+
});
|
|
6679
|
+
};
|
|
6680
|
+
disposers.push(onChannelMemberBanned(realtimeRouter));
|
|
6681
|
+
disposers.push(onChannelMemberUnbanned(realtimeRouter));
|
|
6682
|
+
disposers.push(onChannelSetUserMuted(realtimeRouter));
|
|
6683
|
+
onFetch();
|
|
6684
|
+
return () => {
|
|
6685
|
+
disposers.forEach(fn => fn());
|
|
6686
|
+
};
|
|
6687
|
+
};
|
|
6688
|
+
|
|
6621
6689
|
const channelLinkedObject = (channel) => {
|
|
6622
6690
|
var _a;
|
|
6623
6691
|
let previewMembers = [];
|
|
@@ -6636,6 +6704,13 @@ const channelLinkedObject = (channel) => {
|
|
|
6636
6704
|
markAsRead: () => markAsRead(channel.channelInternalId),
|
|
6637
6705
|
previewMembers,
|
|
6638
6706
|
myMembership: (callback) => getMyMembership(channel.channelId, callback),
|
|
6707
|
+
getMembership: (userId, callback) => {
|
|
6708
|
+
getMembership({
|
|
6709
|
+
channelId: channel.channelId,
|
|
6710
|
+
userId,
|
|
6711
|
+
callback,
|
|
6712
|
+
});
|
|
6713
|
+
},
|
|
6639
6714
|
});
|
|
6640
6715
|
};
|
|
6641
6716
|
|
|
@@ -7240,7 +7315,7 @@ const setClientToken = async (params) => {
|
|
|
7240
7315
|
const client = getActiveClient();
|
|
7241
7316
|
// begin establishing session
|
|
7242
7317
|
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
7243
|
-
const { accessToken, users, expiresAt, issuedAt } = await getToken(params);
|
|
7318
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getToken(params);
|
|
7244
7319
|
// manually setup the token for http transport
|
|
7245
7320
|
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
7246
7321
|
client.http.defaults.metadata = {
|
|
@@ -7256,7 +7331,66 @@ const setClientToken = async (params) => {
|
|
|
7256
7331
|
};
|
|
7257
7332
|
client.token = { accessToken, issuedAt, expiresAt };
|
|
7258
7333
|
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
7259
|
-
return { accessToken, users };
|
|
7334
|
+
return { accessToken, users, userType };
|
|
7335
|
+
};
|
|
7336
|
+
|
|
7337
|
+
/**
|
|
7338
|
+
* Retrieves a pair of {@link Amity.Tokens} necessary for connection
|
|
7339
|
+
*
|
|
7340
|
+
* @param params get visitor token param
|
|
7341
|
+
* @param params.deviceId The user's device Id (can be manually set for native users)
|
|
7342
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
7343
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
7344
|
+
* @param options get bot token options
|
|
7345
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
7346
|
+
* @return The accessToken for the given userId
|
|
7347
|
+
*
|
|
7348
|
+
*
|
|
7349
|
+
* @category Client API
|
|
7350
|
+
* @hidden
|
|
7351
|
+
*/
|
|
7352
|
+
const getVisitorToken = async ({ params, options, }) => {
|
|
7353
|
+
const client = getActiveClient();
|
|
7354
|
+
client.log('client/api/getVisitorToken', params);
|
|
7355
|
+
const deviceInfo = getDeviceInfo();
|
|
7356
|
+
const { data } = await client.http.post('/api/v5/sessions/visitor', Object.assign(Object.assign({}, params), { deviceInfo }), {
|
|
7357
|
+
headers: {
|
|
7358
|
+
'X-API-Key': client.apiKey,
|
|
7359
|
+
'set-access-token-cookie': (options === null || options === void 0 ? void 0 : options.setAccessTokenCookie) || false,
|
|
7360
|
+
},
|
|
7361
|
+
});
|
|
7362
|
+
return data;
|
|
7363
|
+
};
|
|
7364
|
+
|
|
7365
|
+
/**
|
|
7366
|
+
* A util to set or refresh client token
|
|
7367
|
+
*
|
|
7368
|
+
* @param params.userId the user ID for the current session
|
|
7369
|
+
* @param params.displayName the user's displayName for the current session
|
|
7370
|
+
* @param params.deviceId Manual override of the user's device id (for device management)
|
|
7371
|
+
* @param params.authToken The authentication token - necessary when network option is set to secure
|
|
7372
|
+
* @param options get bot token options
|
|
7373
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
7374
|
+
* @returns token & user info
|
|
7375
|
+
*
|
|
7376
|
+
* @category private
|
|
7377
|
+
* @async
|
|
7378
|
+
*/
|
|
7379
|
+
const setVisitorClientToken = async (params) => {
|
|
7380
|
+
const client = getActiveClient();
|
|
7381
|
+
// begin establishing session
|
|
7382
|
+
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
7383
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getVisitorToken(params);
|
|
7384
|
+
// manually setup the token for http transport
|
|
7385
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
7386
|
+
client.http.defaults.metadata = {
|
|
7387
|
+
tokenExpiry: expiresAt,
|
|
7388
|
+
isGlobalBanned: false,
|
|
7389
|
+
isUserDeleted: false,
|
|
7390
|
+
};
|
|
7391
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
7392
|
+
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
7393
|
+
return { accessToken, users, userType };
|
|
7260
7394
|
};
|
|
7261
7395
|
|
|
7262
7396
|
function prepareUserPayload(response) {
|
|
@@ -8716,13 +8850,34 @@ const removeChannelMarkerCache = (channel) => {
|
|
|
8716
8850
|
dropFromCache(['channelMarker', 'get', id], true);
|
|
8717
8851
|
};
|
|
8718
8852
|
|
|
8853
|
+
let currentUserType = null;
|
|
8854
|
+
/* begin_public_function
|
|
8855
|
+
id: client.get_current_user_type
|
|
8856
|
+
*/
|
|
8857
|
+
const getCurrentUserType = () => {
|
|
8858
|
+
if (!currentUserType) {
|
|
8859
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
8860
|
+
}
|
|
8861
|
+
return currentUserType;
|
|
8862
|
+
};
|
|
8863
|
+
/* end_public_function */
|
|
8864
|
+
const setCurrentUserType = (userType) => {
|
|
8865
|
+
currentUserType = userType;
|
|
8866
|
+
};
|
|
8867
|
+
|
|
8868
|
+
const setCurrentUser = ({ user, userType, }) => {
|
|
8869
|
+
setActiveUser(user);
|
|
8870
|
+
setCurrentUserType(userType);
|
|
8871
|
+
pushToCache(['user', 'get', user.userId], user);
|
|
8872
|
+
};
|
|
8873
|
+
|
|
8719
8874
|
/* eslint-disable no-param-reassign */
|
|
8720
8875
|
/*
|
|
8721
8876
|
* declared earlier to accomodate case when logging in with a different user
|
|
8722
8877
|
* than the one already connected, in which case the existing subscriptions need
|
|
8723
8878
|
* to be cleared
|
|
8724
8879
|
*/
|
|
8725
|
-
let subscriptions$
|
|
8880
|
+
let subscriptions$3 = [];
|
|
8726
8881
|
async function runMqtt$1() {
|
|
8727
8882
|
await modifyMqttConnection();
|
|
8728
8883
|
}
|
|
@@ -8757,13 +8912,13 @@ const login = async (params, sessionHandler, config) => {
|
|
|
8757
8912
|
if (client.userId && client.userId !== params.userId) {
|
|
8758
8913
|
await logout();
|
|
8759
8914
|
// Remove subscription to ban and delete
|
|
8760
|
-
subscriptions$
|
|
8761
|
-
subscriptions$
|
|
8915
|
+
subscriptions$3.forEach(fn => fn());
|
|
8916
|
+
subscriptions$3 = [];
|
|
8762
8917
|
}
|
|
8763
8918
|
// default values
|
|
8764
8919
|
const defaultDeviceId = await getDeviceId();
|
|
8765
8920
|
try {
|
|
8766
|
-
const { users } = await setClientToken({
|
|
8921
|
+
const { users, userType } = await setClientToken({
|
|
8767
8922
|
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 }),
|
|
8768
8923
|
options: {
|
|
8769
8924
|
setAccessTokenCookie: true,
|
|
@@ -8777,7 +8932,7 @@ const login = async (params, sessionHandler, config) => {
|
|
|
8777
8932
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
8778
8933
|
return false;
|
|
8779
8934
|
}
|
|
8780
|
-
if (user.
|
|
8935
|
+
if (user.isGlobalBan) {
|
|
8781
8936
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
8782
8937
|
return false;
|
|
8783
8938
|
}
|
|
@@ -8788,7 +8943,7 @@ const login = async (params, sessionHandler, config) => {
|
|
|
8788
8943
|
* token expires
|
|
8789
8944
|
*/
|
|
8790
8945
|
unsubWatcher = client.accessTokenExpiryWatcher(sessionHandler);
|
|
8791
|
-
|
|
8946
|
+
setCurrentUser({ user, userType });
|
|
8792
8947
|
}
|
|
8793
8948
|
catch (error) {
|
|
8794
8949
|
/*
|
|
@@ -8803,42 +8958,141 @@ const login = async (params, sessionHandler, config) => {
|
|
|
8803
8958
|
runMqtt$1();
|
|
8804
8959
|
}
|
|
8805
8960
|
await initializeMessagePreviewSetting();
|
|
8806
|
-
if (subscriptions$
|
|
8807
|
-
subscriptions$
|
|
8961
|
+
if (subscriptions$3.length === 0) {
|
|
8962
|
+
subscriptions$3.push(
|
|
8808
8963
|
// GLOBAL_BAN
|
|
8809
8964
|
onClientBanned((_) => {
|
|
8810
8965
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
8811
|
-
subscriptions$
|
|
8966
|
+
subscriptions$3.forEach(fn => fn());
|
|
8812
8967
|
unsubWatcher();
|
|
8813
8968
|
}), onTokenTerminated(_ => {
|
|
8814
8969
|
terminateClient();
|
|
8815
|
-
subscriptions$
|
|
8970
|
+
subscriptions$3.forEach(fn => fn());
|
|
8816
8971
|
unsubWatcher();
|
|
8817
8972
|
}), onUserDeleted$2((user) => {
|
|
8818
8973
|
if (user.userId === client.userId) {
|
|
8819
8974
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
8820
|
-
subscriptions$
|
|
8975
|
+
subscriptions$3.forEach(fn => fn());
|
|
8821
8976
|
unsubWatcher();
|
|
8822
8977
|
}
|
|
8823
8978
|
}), onTokenExpired(state => {
|
|
8824
8979
|
SessionWatcher$1.getInstance().setSessionState(state);
|
|
8825
8980
|
logout();
|
|
8826
|
-
subscriptions$
|
|
8981
|
+
subscriptions$3.forEach(fn => fn());
|
|
8827
8982
|
}),
|
|
8828
8983
|
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave
|
|
8829
8984
|
// the channel because currently backend can't handle this, so every time a user is banned from
|
|
8830
8985
|
// a channel or the channel is deleted the channel's unread count will not be reset to zero
|
|
8831
8986
|
onChannelDeleted(removeChannelMarkerCache), onChannelMemberBanned(removeChannelMarkerCache), markReadEngineOnLoginHandler(), analyticsEngineOnLoginHandler(), objectResolverEngineOnLoginHandler(), reactionSyncEngineOnLoginHandler());
|
|
8832
8987
|
if (client.useLegacyUnreadCount) {
|
|
8833
|
-
subscriptions$
|
|
8988
|
+
subscriptions$3.push(readReceiptSyncEngineOnLoginHandler());
|
|
8834
8989
|
}
|
|
8835
8990
|
else
|
|
8836
|
-
subscriptions$
|
|
8991
|
+
subscriptions$3.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
8992
|
+
}
|
|
8993
|
+
return true;
|
|
8994
|
+
};
|
|
8995
|
+
/* end_public_function */
|
|
8996
|
+
|
|
8997
|
+
/* eslint-disable require-atomic-updates */
|
|
8998
|
+
/*
|
|
8999
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
9000
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
9001
|
+
* to be cleared
|
|
9002
|
+
*/
|
|
9003
|
+
const subscriptions$2 = [];
|
|
9004
|
+
/* begin_public_function
|
|
9005
|
+
id: client.loginAsVisitor
|
|
9006
|
+
*/
|
|
9007
|
+
/**
|
|
9008
|
+
* ```js
|
|
9009
|
+
* import { loginAsVisitor } from '@amityco/ts-sdk/client/api'
|
|
9010
|
+
* const success = await loginAsVisitor({
|
|
9011
|
+
sessionHandler: {
|
|
9012
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
9013
|
+
...
|
|
9014
|
+
}
|
|
9015
|
+
* })
|
|
9016
|
+
* ```
|
|
9017
|
+
*
|
|
9018
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
9019
|
+
*
|
|
9020
|
+
* @param params. the connect parameters
|
|
9021
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
9022
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
9023
|
+
* @param params.sessionHandler
|
|
9024
|
+
* @returns a success boolean if connected
|
|
9025
|
+
*
|
|
9026
|
+
* @category Client API
|
|
9027
|
+
* @async
|
|
9028
|
+
*/
|
|
9029
|
+
const loginAsVisitor = async (params) => {
|
|
9030
|
+
const client = getActiveClient();
|
|
9031
|
+
let unsubWatcher;
|
|
9032
|
+
client.log('client/api/connectClient', Object.assign({ apiKey: client.apiKey, sessionState: client.sessionState }, params));
|
|
9033
|
+
// generate deviceId
|
|
9034
|
+
const deviceId = await getDeviceId();
|
|
9035
|
+
let user;
|
|
9036
|
+
try {
|
|
9037
|
+
const { users, userType } = await setVisitorClientToken({
|
|
9038
|
+
params: Object.assign(Object.assign({}, params), { deviceId }),
|
|
9039
|
+
options: {
|
|
9040
|
+
setAccessTokenCookie: true,
|
|
9041
|
+
},
|
|
9042
|
+
});
|
|
9043
|
+
[user] = users;
|
|
9044
|
+
client.userId = user.userId;
|
|
9045
|
+
client.sessionHandler = params.sessionHandler;
|
|
9046
|
+
/*
|
|
9047
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
9048
|
+
* token expires
|
|
9049
|
+
*/
|
|
9050
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
9051
|
+
setCurrentUser({ user, userType });
|
|
9052
|
+
}
|
|
9053
|
+
catch (error) {
|
|
9054
|
+
/*
|
|
9055
|
+
* if getting token failed session state reverts to initial state when app
|
|
9056
|
+
* is first launched
|
|
9057
|
+
*/
|
|
9058
|
+
SessionWatcher$1.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
9059
|
+
// pass error down tree so the calling function handle it
|
|
9060
|
+
throw error;
|
|
9061
|
+
}
|
|
9062
|
+
await initializeMessagePreviewSetting();
|
|
9063
|
+
if (subscriptions$2.length === 0) {
|
|
9064
|
+
// handling internal SDK events
|
|
9065
|
+
subscriptions$2.push(onTokenTerminated(_ => {
|
|
9066
|
+
terminateClient();
|
|
9067
|
+
subscriptions$2.forEach(fn => fn());
|
|
9068
|
+
unsubWatcher();
|
|
9069
|
+
}), onTokenExpired(state => {
|
|
9070
|
+
SessionWatcher$1.getInstance().setSessionState(state);
|
|
9071
|
+
logout();
|
|
9072
|
+
subscriptions$2.forEach(fn => fn());
|
|
9073
|
+
}));
|
|
8837
9074
|
}
|
|
8838
9075
|
return true;
|
|
8839
9076
|
};
|
|
8840
9077
|
/* end_public_function */
|
|
8841
9078
|
|
|
9079
|
+
/* begin_public_function
|
|
9080
|
+
id: client.get_current_user
|
|
9081
|
+
*/
|
|
9082
|
+
const getCurrentUser = () => {
|
|
9083
|
+
var _a;
|
|
9084
|
+
const client = getActiveClient();
|
|
9085
|
+
if (!client) {
|
|
9086
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
9087
|
+
}
|
|
9088
|
+
const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
9089
|
+
if (!cache) {
|
|
9090
|
+
throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
|
|
9091
|
+
}
|
|
9092
|
+
return userLinkedObject(cache);
|
|
9093
|
+
};
|
|
9094
|
+
/* end_public_function */
|
|
9095
|
+
|
|
8842
9096
|
/* begin_public_function
|
|
8843
9097
|
id: client.renew_access_token
|
|
8844
9098
|
*/
|
|
@@ -8861,7 +9115,7 @@ const renewal = () => {
|
|
|
8861
9115
|
* Per instance of Renewal, only one renewal is allowed
|
|
8862
9116
|
*/
|
|
8863
9117
|
const renewToken = async (authToken) => {
|
|
8864
|
-
const { userId, displayName } =
|
|
9118
|
+
const { userId, displayName } = getCurrentUser();
|
|
8865
9119
|
const deviceId = await getDeviceId();
|
|
8866
9120
|
const params = { userId, displayName, authToken, deviceId };
|
|
8867
9121
|
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
@@ -8880,6 +9134,24 @@ const renewal = () => {
|
|
|
8880
9134
|
if (renewTimeoutId)
|
|
8881
9135
|
clearTimeout(renewTimeoutId);
|
|
8882
9136
|
};
|
|
9137
|
+
const renewVisitorToken = async ({ authSignature, authSignatureExpiresAt, }) => {
|
|
9138
|
+
const deviceId = await getDeviceId();
|
|
9139
|
+
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
9140
|
+
await loginAsVisitor({ sessionHandler: client.sessionHandler });
|
|
9141
|
+
}
|
|
9142
|
+
else {
|
|
9143
|
+
// about to expire
|
|
9144
|
+
await setVisitorClientToken({
|
|
9145
|
+
params: { authSignature, authSignatureExpiresAt, deviceId },
|
|
9146
|
+
options: {
|
|
9147
|
+
setAccessTokenCookie: true,
|
|
9148
|
+
},
|
|
9149
|
+
});
|
|
9150
|
+
}
|
|
9151
|
+
tokenRenewed = true;
|
|
9152
|
+
if (renewTimeoutId)
|
|
9153
|
+
clearTimeout(renewTimeoutId);
|
|
9154
|
+
};
|
|
8883
9155
|
return {
|
|
8884
9156
|
renew: () => {
|
|
8885
9157
|
if (tokenRenewed) {
|
|
@@ -8901,6 +9173,19 @@ const renewal = () => {
|
|
|
8901
9173
|
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
8902
9174
|
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
8903
9175
|
},
|
|
9176
|
+
renewWithAuthSignature: (params) => {
|
|
9177
|
+
if (tokenRenewed) {
|
|
9178
|
+
console.log("'renew' method can be called only once per renewal instance");
|
|
9179
|
+
return;
|
|
9180
|
+
}
|
|
9181
|
+
renewVisitorToken(params);
|
|
9182
|
+
},
|
|
9183
|
+
unableToRetrieveAuthSignature: () => {
|
|
9184
|
+
renewTimeoutId = setTimeout(() => {
|
|
9185
|
+
var _a;
|
|
9186
|
+
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
9187
|
+
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
9188
|
+
},
|
|
8904
9189
|
};
|
|
8905
9190
|
};
|
|
8906
9191
|
/* end_public_function */
|
|
@@ -9447,6 +9732,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
|
|
|
9447
9732
|
validateTexts,
|
|
9448
9733
|
getFeedSettings,
|
|
9449
9734
|
getSocialSettings,
|
|
9735
|
+
getVisitorDeviceId: getDeviceId,
|
|
9450
9736
|
getMessagePreviewSetting,
|
|
9451
9737
|
use: () => setActiveClient(client),
|
|
9452
9738
|
isUnreadCountEnabled,
|
|
@@ -9502,7 +9788,7 @@ const secureLogout = async () => {
|
|
|
9502
9788
|
* than the one already connected, in which case the existing subscriptions need
|
|
9503
9789
|
* to be cleared
|
|
9504
9790
|
*/
|
|
9505
|
-
let subscriptions = [];
|
|
9791
|
+
let subscriptions$1 = [];
|
|
9506
9792
|
async function runMqtt() {
|
|
9507
9793
|
await modifyMqttConnection();
|
|
9508
9794
|
}
|
|
@@ -9574,15 +9860,15 @@ const resumeSession = async (params, sessionHandler, config) => {
|
|
|
9574
9860
|
client.mqtt.disconnect();
|
|
9575
9861
|
}
|
|
9576
9862
|
// Clear existing subscriptions
|
|
9577
|
-
subscriptions.forEach(fn => fn());
|
|
9578
|
-
subscriptions = [];
|
|
9863
|
+
subscriptions$1.forEach(fn => fn());
|
|
9864
|
+
subscriptions$1 = [];
|
|
9579
9865
|
}
|
|
9580
9866
|
else {
|
|
9581
9867
|
// Different user - do full logout
|
|
9582
9868
|
await logout();
|
|
9583
9869
|
// Remove subscription to ban and delete
|
|
9584
|
-
subscriptions.forEach(fn => fn());
|
|
9585
|
-
subscriptions = [];
|
|
9870
|
+
subscriptions$1.forEach(fn => fn());
|
|
9871
|
+
subscriptions$1 = [];
|
|
9586
9872
|
}
|
|
9587
9873
|
}
|
|
9588
9874
|
try {
|
|
@@ -9620,37 +9906,37 @@ const resumeSession = async (params, sessionHandler, config) => {
|
|
|
9620
9906
|
runMqtt();
|
|
9621
9907
|
}
|
|
9622
9908
|
await initializeMessagePreviewSetting();
|
|
9623
|
-
if (subscriptions.length === 0) {
|
|
9624
|
-
subscriptions.push(
|
|
9909
|
+
if (subscriptions$1.length === 0) {
|
|
9910
|
+
subscriptions$1.push(
|
|
9625
9911
|
// GLOBAL_BAN
|
|
9626
9912
|
onClientBanned((_) => {
|
|
9627
9913
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
9628
|
-
subscriptions.forEach(fn => fn());
|
|
9914
|
+
subscriptions$1.forEach(fn => fn());
|
|
9629
9915
|
unsubWatcher();
|
|
9630
9916
|
}), onTokenTerminated(_ => {
|
|
9631
9917
|
terminateClient();
|
|
9632
|
-
subscriptions.forEach(fn => fn());
|
|
9918
|
+
subscriptions$1.forEach(fn => fn());
|
|
9633
9919
|
unsubWatcher();
|
|
9634
9920
|
}), onUserDeleted$2((user) => {
|
|
9635
9921
|
if (user.userId === client.userId) {
|
|
9636
9922
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
9637
|
-
subscriptions.forEach(fn => fn());
|
|
9923
|
+
subscriptions$1.forEach(fn => fn());
|
|
9638
9924
|
unsubWatcher();
|
|
9639
9925
|
}
|
|
9640
9926
|
}), onTokenExpired(state => {
|
|
9641
9927
|
SessionWatcher$1.getInstance().setSessionState(state);
|
|
9642
9928
|
logout();
|
|
9643
|
-
subscriptions.forEach(fn => fn());
|
|
9929
|
+
subscriptions$1.forEach(fn => fn());
|
|
9644
9930
|
}),
|
|
9645
9931
|
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave
|
|
9646
9932
|
// the channel because currently backend can't handle this, so every time a user is banned from
|
|
9647
9933
|
// a channel or the channel is deleted the channel's unread count will not be reset to zero
|
|
9648
9934
|
onChannelDeleted(removeChannelMarkerCache), onChannelMemberBanned(removeChannelMarkerCache), markReadEngineOnLoginHandler(), analyticsEngineOnLoginHandler(), objectResolverEngineOnLoginHandler());
|
|
9649
9935
|
if (client.useLegacyUnreadCount) {
|
|
9650
|
-
subscriptions.push(readReceiptSyncEngineOnLoginHandler());
|
|
9936
|
+
subscriptions$1.push(readReceiptSyncEngineOnLoginHandler());
|
|
9651
9937
|
}
|
|
9652
9938
|
else
|
|
9653
|
-
subscriptions.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
9939
|
+
subscriptions$1.push(legacyReadReceiptSyncEngineOnLoginHandler());
|
|
9654
9940
|
}
|
|
9655
9941
|
return true;
|
|
9656
9942
|
};
|
|
@@ -9748,6 +10034,142 @@ const getShareableLinkConfiguration = async () => {
|
|
|
9748
10034
|
return data;
|
|
9749
10035
|
};
|
|
9750
10036
|
|
|
10037
|
+
/**
|
|
10038
|
+
* Retrieves a pair of {@link Amity.Tokens} necessary for connection
|
|
10039
|
+
*
|
|
10040
|
+
* @param param get bot token param
|
|
10041
|
+
* @param params.deviceId The user's device Id (can be manually set for native users)
|
|
10042
|
+
* @param options get bot token options
|
|
10043
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
10044
|
+
* @return The accessToken for the given userId
|
|
10045
|
+
*
|
|
10046
|
+
* @category Client API
|
|
10047
|
+
* @hidden
|
|
10048
|
+
*/
|
|
10049
|
+
const getBotToken = async ({ params, options, }) => {
|
|
10050
|
+
const client = getActiveClient();
|
|
10051
|
+
client.log('client/api/getBotToken');
|
|
10052
|
+
const deviceInfo = getDeviceInfo();
|
|
10053
|
+
const { data } = await client.http.post('/api/v5/sessions/bot', Object.assign(Object.assign({}, params), { deviceInfo }), {
|
|
10054
|
+
headers: {
|
|
10055
|
+
'X-API-Key': client.apiKey,
|
|
10056
|
+
'set-access-token-cookie': (options === null || options === void 0 ? void 0 : options.setAccessTokenCookie) || false,
|
|
10057
|
+
},
|
|
10058
|
+
});
|
|
10059
|
+
return data;
|
|
10060
|
+
};
|
|
10061
|
+
|
|
10062
|
+
/**
|
|
10063
|
+
* A util to set or refresh client token
|
|
10064
|
+
* @param options get bot token options
|
|
10065
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
10066
|
+
* @returns token & user info
|
|
10067
|
+
*
|
|
10068
|
+
* @category private
|
|
10069
|
+
* @async
|
|
10070
|
+
*/
|
|
10071
|
+
const setBotClientToken = async (params) => {
|
|
10072
|
+
const client = getActiveClient();
|
|
10073
|
+
// begin establishing session
|
|
10074
|
+
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
10075
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getBotToken(params);
|
|
10076
|
+
// manually setup the token for http transport
|
|
10077
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
10078
|
+
client.http.defaults.metadata = {
|
|
10079
|
+
tokenExpiry: expiresAt,
|
|
10080
|
+
isGlobalBanned: false,
|
|
10081
|
+
isUserDeleted: false,
|
|
10082
|
+
};
|
|
10083
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
10084
|
+
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
10085
|
+
return { accessToken, users, userType };
|
|
10086
|
+
};
|
|
10087
|
+
|
|
10088
|
+
/* eslint-disable require-atomic-updates */
|
|
10089
|
+
/*
|
|
10090
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
10091
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
10092
|
+
* to be cleared
|
|
10093
|
+
*/
|
|
10094
|
+
const subscriptions = [];
|
|
10095
|
+
/* begin_public_function
|
|
10096
|
+
id: client.loginAsBot
|
|
10097
|
+
*/
|
|
10098
|
+
/**
|
|
10099
|
+
* ```js
|
|
10100
|
+
* import { loginAsBot } from '@amityco/ts-sdk/client/api'
|
|
10101
|
+
* const success = await loginAsBot({
|
|
10102
|
+
sessionHandler: {
|
|
10103
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
10104
|
+
...
|
|
10105
|
+
}
|
|
10106
|
+
* })
|
|
10107
|
+
* ```
|
|
10108
|
+
*
|
|
10109
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
10110
|
+
*
|
|
10111
|
+
* @param params. the connect parameters
|
|
10112
|
+
* @param params.sessionHandler
|
|
10113
|
+
* @returns a success boolean if connected
|
|
10114
|
+
*
|
|
10115
|
+
* @category Client API
|
|
10116
|
+
* @async
|
|
10117
|
+
*/
|
|
10118
|
+
const loginAsBot = async (params) => {
|
|
10119
|
+
const client = getActiveClient();
|
|
10120
|
+
let unsubWatcher;
|
|
10121
|
+
client.log('client/api/connectClient', {
|
|
10122
|
+
apiKey: client.apiKey,
|
|
10123
|
+
sessionState: client.sessionState,
|
|
10124
|
+
});
|
|
10125
|
+
// generate deviceId
|
|
10126
|
+
const deviceId = await getDeviceId();
|
|
10127
|
+
let user;
|
|
10128
|
+
try {
|
|
10129
|
+
const { users, userType } = await setBotClientToken({
|
|
10130
|
+
params: {
|
|
10131
|
+
deviceId,
|
|
10132
|
+
},
|
|
10133
|
+
options: {
|
|
10134
|
+
setAccessTokenCookie: true,
|
|
10135
|
+
},
|
|
10136
|
+
});
|
|
10137
|
+
[user] = users;
|
|
10138
|
+
client.userId = user.userId;
|
|
10139
|
+
client.sessionHandler = params.sessionHandler;
|
|
10140
|
+
/*
|
|
10141
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
10142
|
+
* token expires
|
|
10143
|
+
*/
|
|
10144
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
10145
|
+
setCurrentUser({ user, userType });
|
|
10146
|
+
}
|
|
10147
|
+
catch (error) {
|
|
10148
|
+
/*
|
|
10149
|
+
* if getting token failed session state reverts to initial state when app
|
|
10150
|
+
* is first launched
|
|
10151
|
+
*/
|
|
10152
|
+
SessionWatcher$1.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
10153
|
+
// pass error down tree so the calling function handle it
|
|
10154
|
+
throw error;
|
|
10155
|
+
}
|
|
10156
|
+
await initializeMessagePreviewSetting();
|
|
10157
|
+
if (subscriptions.length === 0) {
|
|
10158
|
+
// handling internal SDK events
|
|
10159
|
+
subscriptions.push(onTokenTerminated(_ => {
|
|
10160
|
+
terminateClient();
|
|
10161
|
+
subscriptions.forEach(fn => fn());
|
|
10162
|
+
unsubWatcher();
|
|
10163
|
+
}), onTokenExpired(state => {
|
|
10164
|
+
SessionWatcher$1.getInstance().setSessionState(state);
|
|
10165
|
+
logout();
|
|
10166
|
+
subscriptions.forEach(fn => fn());
|
|
10167
|
+
}));
|
|
10168
|
+
}
|
|
10169
|
+
return true;
|
|
10170
|
+
};
|
|
10171
|
+
/* end_public_function */
|
|
10172
|
+
|
|
9751
10173
|
/**
|
|
9752
10174
|
* ```js
|
|
9753
10175
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -10119,6 +10541,11 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
10119
10541
|
fetchLinkPreview: fetchLinkPreview,
|
|
10120
10542
|
getSocialSettings: getSocialSettings,
|
|
10121
10543
|
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
10544
|
+
loginAsVisitor: loginAsVisitor,
|
|
10545
|
+
loginAsBot: loginAsBot,
|
|
10546
|
+
getCurrentUser: getCurrentUser,
|
|
10547
|
+
getCurrentUserType: getCurrentUserType,
|
|
10548
|
+
setCurrentUserType: setCurrentUserType,
|
|
10122
10549
|
onConnectionError: onConnectionError,
|
|
10123
10550
|
onClientDisconnected: onClientDisconnected,
|
|
10124
10551
|
onClientBanned: onClientBanned,
|
|
@@ -16820,7 +17247,6 @@ const muteChannel = async (channelId, mutePeriod = MUTE_FOREVER$1) => {
|
|
|
16820
17247
|
/* begin_public_function
|
|
16821
17248
|
id: channel.unmute
|
|
16822
17249
|
*/
|
|
16823
|
-
const CHANNEL_UNMUTE_PERIOD = 0;
|
|
16824
17250
|
/**
|
|
16825
17251
|
* ```js
|
|
16826
17252
|
* import { ChannelRepository } from '@amityco/ts-sdk'
|
|
@@ -16835,14 +17261,11 @@ const CHANNEL_UNMUTE_PERIOD = 0;
|
|
|
16835
17261
|
* @category Channel API
|
|
16836
17262
|
* @async
|
|
16837
17263
|
*/
|
|
17264
|
+
const CHANNEL_UNMUTE_PERIOD = 0; // Setting mute period as 0 is the same as unmuting the channel
|
|
16838
17265
|
const unmuteChannel = async (channelId) => {
|
|
16839
17266
|
const client = getActiveClient();
|
|
16840
17267
|
client.log('channel/unmuteChannel', channelId);
|
|
16841
|
-
const { data } = await client.http.put(`/api/v2/channel/${encodeURIComponent(channelId)}/mute`,
|
|
16842
|
-
/*
|
|
16843
|
-
* Setting mute period as 0 is the same as unmuting the channel
|
|
16844
|
-
*/
|
|
16845
|
-
{ mutePeriod: CHANNEL_UNMUTE_PERIOD });
|
|
17268
|
+
const { data } = await client.http.put(`/api/v2/channel/${encodeURIComponent(channelId)}/mute`, { mutePeriod: CHANNEL_UNMUTE_PERIOD });
|
|
16846
17269
|
const { success } = data;
|
|
16847
17270
|
return success;
|
|
16848
17271
|
};
|
|
@@ -23013,7 +23436,7 @@ const getCategory = async (categoryId) => {
|
|
|
23013
23436
|
ingestInCache(data, { cachedAt });
|
|
23014
23437
|
const { categories } = data;
|
|
23015
23438
|
return {
|
|
23016
|
-
data: LinkedObject.category(categories.find(category => category.categoryId === categoryId)),
|
|
23439
|
+
data: LinkedObject.category((categories !== null && categories !== void 0 ? categories : []).find(category => category.categoryId === categoryId)),
|
|
23017
23440
|
cachedAt,
|
|
23018
23441
|
};
|
|
23019
23442
|
};
|