@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
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
import { modifyMqttConnection } from '~/client/utils/modifyMqttConnection';
|
|
3
|
+
/* eslint-disable require-atomic-updates */
|
|
4
|
+
import { getDeviceId } from '~/core/device';
|
|
5
|
+
import { logout } from './logout';
|
|
6
|
+
|
|
7
|
+
import { getActiveClient } from './activeClient';
|
|
8
|
+
import { terminateClient } from './terminateClient';
|
|
9
|
+
|
|
10
|
+
import { onTokenExpired } from '../events/onTokenExpired';
|
|
11
|
+
import { onTokenTerminated } from '../events/onTokenTerminated';
|
|
12
|
+
import { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';
|
|
13
|
+
|
|
14
|
+
import SessionWatcher from '../utils/SessionWatcher';
|
|
15
|
+
import { setVisitorClientToken } from '../utils/setVisitorClientToken';
|
|
16
|
+
import { setCurrentUser } from '../utils/setCurrentUser';
|
|
17
|
+
|
|
18
|
+
/*
|
|
19
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
20
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
21
|
+
* to be cleared
|
|
22
|
+
*/
|
|
23
|
+
const subscriptions: Amity.Unsubscriber[] = [];
|
|
24
|
+
|
|
25
|
+
/* begin_public_function
|
|
26
|
+
id: client.loginAsVisitor
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* ```js
|
|
30
|
+
* import { loginAsVisitor } from '@amityco/ts-sdk/client/api'
|
|
31
|
+
* const success = await loginAsVisitor({
|
|
32
|
+
sessionHandler: {
|
|
33
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
34
|
+
...
|
|
35
|
+
}
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
40
|
+
*
|
|
41
|
+
* @param params. the connect parameters
|
|
42
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
43
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
44
|
+
* @param params.sessionHandler
|
|
45
|
+
* @returns a success boolean if connected
|
|
46
|
+
*
|
|
47
|
+
* @category Client API
|
|
48
|
+
* @async
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
export const loginAsVisitor = async (
|
|
52
|
+
params: Amity.ConnectClientAsVisitorParams & {
|
|
53
|
+
sessionHandler: Amity.SessionHandler;
|
|
54
|
+
},
|
|
55
|
+
): Promise<boolean> => {
|
|
56
|
+
const client = getActiveClient();
|
|
57
|
+
let unsubWatcher: Amity.Unsubscriber;
|
|
58
|
+
client.log('client/api/connectClient', {
|
|
59
|
+
apiKey: client.apiKey,
|
|
60
|
+
sessionState: client.sessionState,
|
|
61
|
+
...params,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// generate deviceId
|
|
65
|
+
const deviceId = await getDeviceId();
|
|
66
|
+
let user: Amity.RawUser;
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
const { users, userType } = await setVisitorClientToken({
|
|
70
|
+
params: {
|
|
71
|
+
...params,
|
|
72
|
+
deviceId,
|
|
73
|
+
},
|
|
74
|
+
options: {
|
|
75
|
+
setAccessTokenCookie: true,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
[user] = users;
|
|
80
|
+
|
|
81
|
+
client.userId = user.userId;
|
|
82
|
+
|
|
83
|
+
client.sessionHandler = params.sessionHandler;
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
87
|
+
* token expires
|
|
88
|
+
*/
|
|
89
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
90
|
+
|
|
91
|
+
setCurrentUser({ user, userType });
|
|
92
|
+
} catch (error) {
|
|
93
|
+
/*
|
|
94
|
+
* if getting token failed session state reverts to initial state when app
|
|
95
|
+
* is first launched
|
|
96
|
+
*/
|
|
97
|
+
SessionWatcher.getInstance().setSessionState(Amity.SessionStates.NOT_LOGGED_IN);
|
|
98
|
+
|
|
99
|
+
// pass error down tree so the calling function handle it
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
await initializeMessagePreviewSetting();
|
|
104
|
+
|
|
105
|
+
if (subscriptions.length === 0) {
|
|
106
|
+
// handling internal SDK events
|
|
107
|
+
subscriptions.push(
|
|
108
|
+
onTokenTerminated(_ => {
|
|
109
|
+
terminateClient();
|
|
110
|
+
|
|
111
|
+
subscriptions.forEach(fn => fn());
|
|
112
|
+
|
|
113
|
+
unsubWatcher();
|
|
114
|
+
}),
|
|
115
|
+
|
|
116
|
+
onTokenExpired(state => {
|
|
117
|
+
SessionWatcher.getInstance().setSessionState(state);
|
|
118
|
+
|
|
119
|
+
logout();
|
|
120
|
+
|
|
121
|
+
subscriptions.forEach(fn => fn());
|
|
122
|
+
}),
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return true;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/* end_public_function */
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { getDeviceId } from '~/core/device';
|
|
2
2
|
import { ACCESS_TOKEN_WATCHER_INTERVAL } from '~/utils/constants';
|
|
3
3
|
|
|
4
|
-
import { getActiveUser } from './activeUser';
|
|
5
4
|
import { setClientToken as refreshToken } from '../utils/setClientToken';
|
|
5
|
+
import { setVisitorClientToken as refreshVisitorToken } from '../utils/setVisitorClientToken';
|
|
6
6
|
import { getActiveClient } from './activeClient';
|
|
7
7
|
import { login } from './login';
|
|
8
|
+
import { loginAsVisitor } from './loginAsVisitor';
|
|
9
|
+
import { getCurrentUser } from './getCurrentUser';
|
|
8
10
|
|
|
9
11
|
/* begin_public_function
|
|
10
12
|
id: client.renew_access_token
|
|
@@ -30,7 +32,7 @@ export const renewal = (): Amity.AccessTokenRenewal => {
|
|
|
30
32
|
* Per instance of Renewal, only one renewal is allowed
|
|
31
33
|
*/
|
|
32
34
|
const renewToken = async (authToken?: Amity.ConnectClientParams['authToken']): Promise<void> => {
|
|
33
|
-
const { userId, displayName } =
|
|
35
|
+
const { userId, displayName } = getCurrentUser();
|
|
34
36
|
const deviceId = await getDeviceId();
|
|
35
37
|
|
|
36
38
|
const params = { userId, displayName, authToken, deviceId };
|
|
@@ -53,6 +55,30 @@ export const renewal = (): Amity.AccessTokenRenewal => {
|
|
|
53
55
|
if (renewTimeoutId) clearTimeout(renewTimeoutId);
|
|
54
56
|
};
|
|
55
57
|
|
|
58
|
+
const renewVisitorToken = async ({
|
|
59
|
+
authSignature,
|
|
60
|
+
authSignatureExpiresAt,
|
|
61
|
+
}: Amity.ConnectClientAsVisitorParams): Promise<void> => {
|
|
62
|
+
const deviceId = await getDeviceId();
|
|
63
|
+
|
|
64
|
+
if (client.sessionState === Amity.SessionStates.TOKEN_EXPIRED && client.sessionHandler) {
|
|
65
|
+
await loginAsVisitor({ sessionHandler: client.sessionHandler });
|
|
66
|
+
} else {
|
|
67
|
+
// about to expire
|
|
68
|
+
|
|
69
|
+
await refreshVisitorToken({
|
|
70
|
+
params: { authSignature, authSignatureExpiresAt, deviceId },
|
|
71
|
+
options: {
|
|
72
|
+
setAccessTokenCookie: true,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
tokenRenewed = true;
|
|
78
|
+
|
|
79
|
+
if (renewTimeoutId) clearTimeout(renewTimeoutId);
|
|
80
|
+
};
|
|
81
|
+
|
|
56
82
|
return {
|
|
57
83
|
renew: () => {
|
|
58
84
|
if (tokenRenewed) {
|
|
@@ -75,6 +101,20 @@ export const renewal = (): Amity.AccessTokenRenewal => {
|
|
|
75
101
|
client.sessionHandler?.sessionWillRenewAccessToken(renewal());
|
|
76
102
|
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
77
103
|
},
|
|
104
|
+
|
|
105
|
+
renewWithAuthSignature: (params: Amity.ConnectClientAsVisitorParams) => {
|
|
106
|
+
if (tokenRenewed) {
|
|
107
|
+
console.log("'renew' method can be called only once per renewal instance");
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
renewVisitorToken(params);
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
unableToRetrieveAuthSignature: () => {
|
|
114
|
+
renewTimeoutId = setTimeout(() => {
|
|
115
|
+
client.sessionHandler?.sessionWillRenewAccessToken(renewal());
|
|
116
|
+
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
117
|
+
},
|
|
78
118
|
};
|
|
79
119
|
};
|
|
80
120
|
/* end_public_function */
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getActiveClient } from '../api/activeClient';
|
|
2
|
+
import { setSessionState } from '../api/setSessionState';
|
|
3
|
+
import { getBotToken } from '../api/getBotToken';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A util to set or refresh client token
|
|
7
|
+
* @param options get bot token options
|
|
8
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
9
|
+
* @returns token & user info
|
|
10
|
+
*
|
|
11
|
+
* @category private
|
|
12
|
+
* @async
|
|
13
|
+
*/
|
|
14
|
+
export const setBotClientToken = async (params: Parameters<typeof getBotToken>[0]) => {
|
|
15
|
+
const client = getActiveClient();
|
|
16
|
+
// begin establishing session
|
|
17
|
+
setSessionState(Amity.SessionStates.ESTABLISHING);
|
|
18
|
+
|
|
19
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getBotToken(params);
|
|
20
|
+
|
|
21
|
+
// manually setup the token for http transport
|
|
22
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
23
|
+
|
|
24
|
+
client.http.defaults.metadata = {
|
|
25
|
+
tokenExpiry: expiresAt,
|
|
26
|
+
isGlobalBanned: false,
|
|
27
|
+
isUserDeleted: false,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
31
|
+
|
|
32
|
+
setSessionState(Amity.SessionStates.ESTABLISHED);
|
|
33
|
+
|
|
34
|
+
return { accessToken, users, userType };
|
|
35
|
+
};
|
|
@@ -19,7 +19,7 @@ export const setClientToken = async (params: Parameters<typeof getToken>[0]) =>
|
|
|
19
19
|
// begin establishing session
|
|
20
20
|
setSessionState(Amity.SessionStates.ESTABLISHING);
|
|
21
21
|
|
|
22
|
-
const { accessToken, users, expiresAt, issuedAt } = await getToken(params);
|
|
22
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getToken(params);
|
|
23
23
|
|
|
24
24
|
// manually setup the token for http transport
|
|
25
25
|
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
@@ -42,5 +42,5 @@ export const setClientToken = async (params: Parameters<typeof getToken>[0]) =>
|
|
|
42
42
|
|
|
43
43
|
setSessionState(Amity.SessionStates.ESTABLISHED);
|
|
44
44
|
|
|
45
|
-
return { accessToken, users };
|
|
45
|
+
return { accessToken, users, userType };
|
|
46
46
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { setActiveUser } from '../api/activeUser';
|
|
2
|
+
import { setCurrentUserType } from '../api/getCurrentUserType';
|
|
3
|
+
import { pushToCache } from '~/cache/api/pushToCache';
|
|
4
|
+
|
|
5
|
+
export const setCurrentUser = ({
|
|
6
|
+
user,
|
|
7
|
+
userType,
|
|
8
|
+
}: {
|
|
9
|
+
user: Amity.RawUser;
|
|
10
|
+
userType: Amity.UserType;
|
|
11
|
+
}) => {
|
|
12
|
+
setActiveUser(user);
|
|
13
|
+
setCurrentUserType(userType);
|
|
14
|
+
pushToCache(['user', 'get', user.userId], user);
|
|
15
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getActiveClient } from '../api/activeClient';
|
|
2
|
+
import { setSessionState } from '../api/setSessionState';
|
|
3
|
+
import { getVisitorToken } from '../api/getVisitorToken';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A util to set or refresh client token
|
|
7
|
+
*
|
|
8
|
+
* @param params.userId the user ID for the current session
|
|
9
|
+
* @param params.displayName the user's displayName for the current session
|
|
10
|
+
* @param params.deviceId Manual override of the user's device id (for device management)
|
|
11
|
+
* @param params.authToken The authentication token - necessary when network option is set to secure
|
|
12
|
+
* @param options get bot token options
|
|
13
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
14
|
+
* @returns token & user info
|
|
15
|
+
*
|
|
16
|
+
* @category private
|
|
17
|
+
* @async
|
|
18
|
+
*/
|
|
19
|
+
export const setVisitorClientToken = async (params: Parameters<typeof getVisitorToken>[0]) => {
|
|
20
|
+
const client = getActiveClient();
|
|
21
|
+
// begin establishing session
|
|
22
|
+
setSessionState(Amity.SessionStates.ESTABLISHING);
|
|
23
|
+
|
|
24
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getVisitorToken(params);
|
|
25
|
+
|
|
26
|
+
// manually setup the token for http transport
|
|
27
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
28
|
+
|
|
29
|
+
client.http.defaults.metadata = {
|
|
30
|
+
tokenExpiry: expiresAt,
|
|
31
|
+
isGlobalBanned: false,
|
|
32
|
+
isUserDeleted: false,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
36
|
+
|
|
37
|
+
setSessionState(Amity.SessionStates.ESTABLISHED);
|
|
38
|
+
|
|
39
|
+
return { accessToken, users, userType };
|
|
40
|
+
};
|
|
@@ -104,6 +104,7 @@ export const createHttpTransport = (endpoint: string) => {
|
|
|
104
104
|
|
|
105
105
|
instance.interceptors.request.use(config => {
|
|
106
106
|
// do not check expiration for token creation url
|
|
107
|
+
|
|
107
108
|
if (config.url === '/api/v5/sessions') {
|
|
108
109
|
return config;
|
|
109
110
|
}
|
|
@@ -123,10 +124,10 @@ export const createHttpTransport = (endpoint: string) => {
|
|
|
123
124
|
}
|
|
124
125
|
|
|
125
126
|
if (tokenExpiry) {
|
|
126
|
-
if (Date.now() >= Date.parse(tokenExpiry)) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
127
|
+
// if (Date.now() >= Date.parse(tokenExpiry)) {
|
|
128
|
+
// controller.abort(RequestCancelation.UserDeleted);
|
|
129
|
+
// handleRequestCancelation(RequestCancelation.TokenExpired);
|
|
130
|
+
// }
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
|
|
@@ -3,6 +3,7 @@ import { shallowClone } from '../shallowClone';
|
|
|
3
3
|
import { queryCache } from '~/cache/api';
|
|
4
4
|
import { channelMemberLinkedObject } from './channelMemberLinkedObject';
|
|
5
5
|
import { getMyMembership } from '~/channelRepository/observers/getMyMembership';
|
|
6
|
+
import { getMembership } from '~/channelRepository/observers/getMembership';
|
|
6
7
|
|
|
7
8
|
export const channelLinkedObject = (channel: Amity.InternalChannel): Amity.Channel => {
|
|
8
9
|
let previewMembers: Amity.Membership<'channel'>[] = [];
|
|
@@ -28,5 +29,15 @@ export const channelLinkedObject = (channel: Amity.InternalChannel): Amity.Chann
|
|
|
28
29
|
previewMembers,
|
|
29
30
|
myMembership: (callback: Amity.LiveObjectCallback<Amity.Membership<'channel'> | undefined>) =>
|
|
30
31
|
getMyMembership(channel.channelId, callback),
|
|
32
|
+
getMembership: (
|
|
33
|
+
userId: Amity.User['userId'],
|
|
34
|
+
callback: Amity.LiveObjectCallback<Amity.Membership<'channel'> | undefined>,
|
|
35
|
+
) => {
|
|
36
|
+
getMembership({
|
|
37
|
+
channelId: channel.channelId,
|
|
38
|
+
userId,
|
|
39
|
+
callback,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
31
42
|
});
|
|
32
43
|
};
|