@amityco/ts-sdk-react-native 7.9.2 → 7.10.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/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/errors.d.ts +3 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/errors.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/errors.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts +11 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/client.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/user.d.ts +6 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/user.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/user.js +6 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/user.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/api/getCategory.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/api/getCategory.js +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/api/getCategory.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/activeUser.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/activeUser.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/activeUser.js +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/activeUser.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/createClient.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/createClient.js +3 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/createClient.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getBotToken.d.ts +21 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getBotToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getBotToken.js +27 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getBotToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.d.ts +2 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.js +21 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUser.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.d.ts +3 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.js +16 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getCurrentUserType.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getToken.d.ts +1 -3
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getToken.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getToken.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.d.ts +24 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.js +30 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/getVisitorToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +4 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/index.js +4 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/login.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/login.js +4 -4
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/login.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.d.ts +24 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.js +95 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsBot.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.d.ts +26 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.js +92 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/loginAsVisitor.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/renewal.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/renewal.js +35 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/api/renewal.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.js +29 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setBotClientToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.d.ts +2 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.js +2 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setClientToken.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.js +9 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setCurrentUser.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.d.ts +21 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.js +34 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/client/utils/setVisitorClientToken.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/core/transports/http.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/core/transports/http.js +4 -4
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/core/transports/http.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/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/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/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 +393 -39
- package/dist/index.esm.js +394 -40
- package/dist/index.umd.js +3 -3
- package/package.json +1 -1
- package/src/@types/core/errors.ts +2 -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/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/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVisitorToken.js","sourceRoot":"","sources":["../../../src/client/api/getVisitorToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,MAAM,EACN,OAAO,GAIR,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CACrC,0BAA0B,kCAErB,MAAM,KACT,UAAU,KAEZ;QACE,OAAO,EAAE;YACP,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,yBAAyB,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,KAAI,KAAK;SAClE;KACF,CACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["import { getActiveClient } from './activeClient';\n\nimport { getDeviceInfo } from '~/core/device';\n\n/**\n * Retrieves a pair of {@link Amity.Tokens} necessary for connection\n *\n * @param params get visitor token param\n * @param params.deviceId The user's device Id (can be manually set for native users)\n * @param params.authSignature The authenitcation signature - necessary when network option is set to secure\n * @param params.authSignatureExpiresAt Expire time of the authenitcation signature\n * @param options get bot token options\n * @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure\n * @return The accessToken for the given userId\n *\n *\n * @category Client API\n * @hidden\n */\nexport const getVisitorToken = async ({\n params,\n options,\n}: {\n params: Amity.ConnectClientAsVisitorParams & { deviceId: string };\n options?: { setAccessTokenCookie?: boolean };\n}) => {\n const client = getActiveClient();\n client.log('client/api/getVisitorToken', params);\n\n const deviceInfo = getDeviceInfo();\n\n const { data } = await client.http.post<Amity.SessionResponse>(\n '/api/v5/sessions/visitor',\n {\n ...params,\n deviceInfo,\n },\n {\n headers: {\n 'X-API-Key': client.apiKey,\n 'set-access-token-cookie': options?.setAccessTokenCookie || false,\n },\n },\n );\n\n return data;\n};\n"]}
|
|
@@ -17,4 +17,8 @@ export * from './onRTEConnectionStateChange';
|
|
|
17
17
|
export * from './fetchLinkPreview';
|
|
18
18
|
export * from './getSocialSettings';
|
|
19
19
|
export * from './getShareableLinkConfiguration';
|
|
20
|
+
export * from './loginAsVisitor';
|
|
21
|
+
export * from './loginAsBot';
|
|
22
|
+
export * from './getCurrentUser';
|
|
23
|
+
export * from './getCurrentUserType';
|
|
20
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
|
|
@@ -17,4 +17,8 @@ export * from './onRTEConnectionStateChange';
|
|
|
17
17
|
export * from './fetchLinkPreview';
|
|
18
18
|
export * from './getSocialSettings';
|
|
19
19
|
export * from './getShareableLinkConfiguration';
|
|
20
|
+
export * from './loginAsVisitor';
|
|
21
|
+
export * from './loginAsBot';
|
|
22
|
+
export * from './getCurrentUser';
|
|
23
|
+
export * from './getCurrentUserType';
|
|
20
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC","sourcesContent":["export { getActiveClient } from './activeClient';\nexport * from './activeUser';\n\nexport * from './createClient';\n\nexport * from './login';\nexport * from './logout';\nexport * from './secureLogout';\nexport * from './resumeSession';\n\nexport * from './isConnected';\n\nexport * from './getFeedSettings';\n\nexport * from './renewal';\n\nexport * from './markerSync';\n\nexport * from './enableUnreadCount';\n\nexport * from './setUploadedFileAccessType';\n\nexport * from './registerPushNotification';\nexport * from './unregisterPushNotification';\n\nexport * from './onRTEConnectionStateChange';\nexport * from './fetchLinkPreview';\n\nexport * from './getSocialSettings';\n\nexport * from './getShareableLinkConfiguration';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC","sourcesContent":["export { getActiveClient } from './activeClient';\nexport * from './activeUser';\n\nexport * from './createClient';\n\nexport * from './login';\nexport * from './logout';\nexport * from './secureLogout';\nexport * from './resumeSession';\n\nexport * from './isConnected';\n\nexport * from './getFeedSettings';\n\nexport * from './renewal';\n\nexport * from './markerSync';\n\nexport * from './enableUnreadCount';\n\nexport * from './setUploadedFileAccessType';\n\nexport * from './registerPushNotification';\nexport * from './unregisterPushNotification';\n\nexport * from './onRTEConnectionStateChange';\nexport * from './fetchLinkPreview';\n\nexport * from './getSocialSettings';\n\nexport * from './getShareableLinkConfiguration';\n\nexport * from './loginAsVisitor';\nexport * from './loginAsBot';\n\nexport * from './getCurrentUser';\nexport * from './getCurrentUserType';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,WACR,MAAM,mBAAmB,kBACjB,MAAM,cAAc,WAC3B,MAAM,mBAAmB,KACjC,QAAQ,OAAO,CAyIjB,CAAC"}
|
|
@@ -14,7 +14,6 @@ import reactionSyncEngineOnLoginHandler from '~/liveReactionRepository/utils/Rea
|
|
|
14
14
|
import { logout } from './logout';
|
|
15
15
|
import { getActiveClient } from './activeClient';
|
|
16
16
|
import { terminateClient } from './terminateClient';
|
|
17
|
-
import { setActiveUser } from './activeUser';
|
|
18
17
|
import { onClientBanned } from '../events';
|
|
19
18
|
import { onTokenExpired } from '../events/onTokenExpired';
|
|
20
19
|
import { onTokenTerminated } from '../events/onTokenTerminated';
|
|
@@ -23,6 +22,7 @@ import { removeChannelMarkerCache } from '../utils/removeChannelMarkerCache';
|
|
|
23
22
|
import { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';
|
|
24
23
|
import { ASCError } from '~/core/errors';
|
|
25
24
|
import SessionWatcher from '../utils/SessionWatcher';
|
|
25
|
+
import { setCurrentUser } from '../utils/setCurrentUser';
|
|
26
26
|
/*
|
|
27
27
|
* declared earlier to accomodate case when logging in with a different user
|
|
28
28
|
* than the one already connected, in which case the existing subscriptions need
|
|
@@ -69,7 +69,7 @@ export const login = async (params, sessionHandler, config) => {
|
|
|
69
69
|
// default values
|
|
70
70
|
const defaultDeviceId = await getDeviceId();
|
|
71
71
|
try {
|
|
72
|
-
const { users } = await setClientToken({
|
|
72
|
+
const { users, userType } = await setClientToken({
|
|
73
73
|
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 }),
|
|
74
74
|
options: {
|
|
75
75
|
setAccessTokenCookie: true,
|
|
@@ -83,7 +83,7 @@ export const login = async (params, sessionHandler, config) => {
|
|
|
83
83
|
terminateClient("userDeleted" /* Amity.TokenTerminationReason.USER_DELETED */);
|
|
84
84
|
return false;
|
|
85
85
|
}
|
|
86
|
-
if (user.
|
|
86
|
+
if (user.isGlobalBan) {
|
|
87
87
|
terminateClient("globalBan" /* Amity.TokenTerminationReason.GLOBAL_BAN */);
|
|
88
88
|
return false;
|
|
89
89
|
}
|
|
@@ -94,7 +94,7 @@ export const login = async (params, sessionHandler, config) => {
|
|
|
94
94
|
* token expires
|
|
95
95
|
*/
|
|
96
96
|
unsubWatcher = client.accessTokenExpiryWatcher(sessionHandler);
|
|
97
|
-
|
|
97
|
+
setCurrentUser({ user, userType });
|
|
98
98
|
}
|
|
99
99
|
catch (error) {
|
|
100
100
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { modifyMqttConnection } from '~/client/utils/modifyMqttConnection';\n/* eslint-disable require-atomic-updates */\nimport { getDeviceId } from '~/core/device';\nimport { proxyWebsocketEvents } from '~/core/events';\nimport { onChannelDeleted } from '~/channelRepository/events/onChannelDeleted';\nimport { onChannelMemberBanned } from '~/channelRepository/events/onChannelMemberBanned';\n\nimport { markReadEngineOnLoginHandler } from '~/subChannelRepository/utils/markReadEngine';\nimport { onUserDeleted } from '~/userRepository/events/onUserDeleted';\n\nimport analyticsEngineOnLoginHandler from '~/analytic/utils/analyticsEngineOnLoginHandler';\nimport readReceiptSyncEngineOnLoginHandler from '~/client/utils/ReadReceiptSync/readReceiptSyncEngineOnLoginHandler';\nimport legacyReadReceiptSyncEngineOnLoginHandler from '~/client/utils/ReadReceiptSync/legacyReadReceiptSyncEngineOnLoginHandler';\nimport objectResolverEngineOnLoginHandler from '~/client/utils/ObjectResolver/objectResolverEngineOnLoginHandler';\nimport reactionSyncEngineOnLoginHandler from '~/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler';\nimport { logout } from './logout';\n\nimport { getActiveClient } from './activeClient';\nimport { terminateClient } from './terminateClient';\nimport { setActiveUser } from './activeUser';\n\nimport { onClientBanned } from '../events';\nimport { onTokenExpired } from '../events/onTokenExpired';\nimport { onTokenTerminated } from '../events/onTokenTerminated';\n\nimport { setClientToken } from '../utils/setClientToken';\nimport { removeChannelMarkerCache } from '../utils/removeChannelMarkerCache';\nimport { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';\nimport { ASCError } from '~/core/errors';\nimport SessionWatcher from '../utils/SessionWatcher';\n\n/*\n * declared earlier to accomodate case when logging in with a different user\n * than the one already connected, in which case the existing subscriptions need\n * to be cleared\n */\nlet subscriptions: Amity.Unsubscriber[] = [];\n\nasync function runMqtt() {\n await modifyMqttConnection();\n}\n\n/* begin_public_function\n id: client.login\n*/\n/**\n * ```js\n * import { login } from '@amityco/ts-sdk-react-native/client/api'\n * const success = await login({\n * userId: 'XYZ123456789',\n * })\n * ```\n *\n * Connects an {@link Amity.Client} instance to ASC servers\n *\n * @param params the connect parameters\n * @param params.userId the user ID for the current session\n * @param params.displayName the user's displayName for the current session\n * @param params.deviceId Manual override of the user's device id (for device management)\n * @param params.authToken The authentication token - necessary when network option is set to secure\n * @returns a success boolean if connected\n *\n * @category Client API\n * @async\n */\nexport const login = async (\n params: Amity.ConnectClientParams,\n sessionHandler: Amity.SessionHandler,\n config?: Amity.ConnectClientConfig,\n): Promise<boolean> => {\n const client = getActiveClient();\n let unsubWatcher: Amity.Unsubscriber;\n\n client.log('client/api/connectClient', {\n apiKey: client.apiKey,\n sessionState: client.sessionState,\n ...params,\n });\n\n // if connecting to a different userId than the one that is connected currently\n if (client.userId && client.userId !== params.userId) {\n await logout();\n\n // Remove subscription to ban and delete\n subscriptions.forEach(fn => fn());\n subscriptions = [];\n }\n\n // default values\n const defaultDeviceId = await getDeviceId();\n\n try {\n const { users } = await setClientToken({\n params: {\n ...params,\n displayName: params?.displayName,\n deviceId: params?.deviceId || defaultDeviceId,\n },\n options: {\n setAccessTokenCookie: true,\n },\n });\n\n const user = users.find(u => u.userId === params.userId);\n\n if (user == null) {\n throw new ASCError(\n `${params.userId} has not been founded`,\n Amity.ClientError.UNKNOWN_ERROR,\n Amity.ErrorLevel.ERROR,\n );\n }\n\n if (user.isDeleted) {\n terminateClient(Amity.TokenTerminationReason.USER_DELETED);\n return false;\n }\n\n if (user.isGlobalBanned) {\n terminateClient(Amity.TokenTerminationReason.GLOBAL_BAN);\n return false;\n }\n\n client.userId = user.userId;\n\n client.sessionHandler = sessionHandler;\n\n /*\n * Cannot push to subscriptions as watcher needs to continue working even if\n * token expires\n */\n unsubWatcher = client.accessTokenExpiryWatcher(sessionHandler);\n\n setActiveUser(user);\n } catch (error) {\n /*\n * if getting token failed session state reverts to initial state when app\n * is first launched\n */\n SessionWatcher.getInstance().setSessionState(Amity.SessionStates.NOT_LOGGED_IN);\n\n // pass error down tree so the calling function handle it\n throw error;\n }\n\n if (config?.disableRTE !== true) {\n runMqtt();\n }\n\n await initializeMessagePreviewSetting();\n\n if (subscriptions.length === 0) {\n subscriptions.push(\n // GLOBAL_BAN\n onClientBanned((_: Amity.UserPayload) => {\n terminateClient(Amity.TokenTerminationReason.GLOBAL_BAN);\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onTokenTerminated(_ => {\n terminateClient();\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onUserDeleted((user: Amity.InternalUser) => {\n if (user.userId === client.userId) {\n terminateClient(Amity.TokenTerminationReason.USER_DELETED);\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }\n }),\n\n onTokenExpired(state => {\n SessionWatcher.getInstance().setSessionState(state);\n\n logout();\n\n subscriptions.forEach(fn => fn());\n }),\n\n // NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave\n // the channel because currently backend can't handle this, so every time a user is banned from\n // a channel or the channel is deleted the channel's unread count will not be reset to zero\n onChannelDeleted(removeChannelMarkerCache),\n onChannelMemberBanned(removeChannelMarkerCache),\n\n markReadEngineOnLoginHandler(),\n analyticsEngineOnLoginHandler(),\n objectResolverEngineOnLoginHandler(),\n reactionSyncEngineOnLoginHandler(),\n );\n\n if (client.useLegacyUnreadCount) {\n subscriptions.push(readReceiptSyncEngineOnLoginHandler());\n } else subscriptions.push(legacyReadReceiptSyncEngineOnLoginHandler());\n }\n\n return true;\n};\n/* end_public_function */\n"]}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { modifyMqttConnection } from '~/client/utils/modifyMqttConnection';\n/* eslint-disable require-atomic-updates */\nimport { getDeviceId } from '~/core/device';\nimport { onChannelDeleted } from '~/channelRepository/events/onChannelDeleted';\nimport { onChannelMemberBanned } from '~/channelRepository/events/onChannelMemberBanned';\n\nimport { markReadEngineOnLoginHandler } from '~/subChannelRepository/utils/markReadEngine';\nimport { onUserDeleted } from '~/userRepository/events/onUserDeleted';\n\nimport analyticsEngineOnLoginHandler from '~/analytic/utils/analyticsEngineOnLoginHandler';\nimport readReceiptSyncEngineOnLoginHandler from '~/client/utils/ReadReceiptSync/readReceiptSyncEngineOnLoginHandler';\nimport legacyReadReceiptSyncEngineOnLoginHandler from '~/client/utils/ReadReceiptSync/legacyReadReceiptSyncEngineOnLoginHandler';\nimport objectResolverEngineOnLoginHandler from '~/client/utils/ObjectResolver/objectResolverEngineOnLoginHandler';\nimport reactionSyncEngineOnLoginHandler from '~/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler';\nimport { logout } from './logout';\n\nimport { getActiveClient } from './activeClient';\nimport { terminateClient } from './terminateClient';\nimport { setActiveUser } from './activeUser';\n\nimport { onClientBanned } from '../events';\nimport { onTokenExpired } from '../events/onTokenExpired';\nimport { onTokenTerminated } from '../events/onTokenTerminated';\n\nimport { setClientToken } from '../utils/setClientToken';\nimport { removeChannelMarkerCache } from '../utils/removeChannelMarkerCache';\nimport { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';\nimport { ASCError } from '~/core/errors';\nimport SessionWatcher from '../utils/SessionWatcher';\nimport { setCurrentUserType } from './getCurrentUserType';\nimport { setCurrentUser } from '../utils/setCurrentUser';\n\n/*\n * declared earlier to accomodate case when logging in with a different user\n * than the one already connected, in which case the existing subscriptions need\n * to be cleared\n */\nlet subscriptions: Amity.Unsubscriber[] = [];\n\nasync function runMqtt() {\n await modifyMqttConnection();\n}\n\n/* begin_public_function\n id: client.login\n*/\n/**\n * ```js\n * import { login } from '@amityco/ts-sdk-react-native/client/api'\n * const success = await login({\n * userId: 'XYZ123456789',\n * })\n * ```\n *\n * Connects an {@link Amity.Client} instance to ASC servers\n *\n * @param params the connect parameters\n * @param params.userId the user ID for the current session\n * @param params.displayName the user's displayName for the current session\n * @param params.deviceId Manual override of the user's device id (for device management)\n * @param params.authToken The authentication token - necessary when network option is set to secure\n * @returns a success boolean if connected\n *\n * @category Client API\n * @async\n */\nexport const login = async (\n params: Amity.ConnectClientParams,\n sessionHandler: Amity.SessionHandler,\n config?: Amity.ConnectClientConfig,\n): Promise<boolean> => {\n const client = getActiveClient();\n let unsubWatcher: Amity.Unsubscriber;\n\n client.log('client/api/connectClient', {\n apiKey: client.apiKey,\n sessionState: client.sessionState,\n ...params,\n });\n\n // if connecting to a different userId than the one that is connected currently\n if (client.userId && client.userId !== params.userId) {\n await logout();\n\n // Remove subscription to ban and delete\n subscriptions.forEach(fn => fn());\n subscriptions = [];\n }\n\n // default values\n const defaultDeviceId = await getDeviceId();\n\n try {\n const { users, userType } = await setClientToken({\n params: {\n ...params,\n displayName: params?.displayName,\n deviceId: params?.deviceId || defaultDeviceId,\n },\n options: {\n setAccessTokenCookie: true,\n },\n });\n\n const user = users.find(u => u.userId === params.userId);\n\n if (user == null) {\n throw new ASCError(\n `${params.userId} has not been founded`,\n Amity.ClientError.UNKNOWN_ERROR,\n Amity.ErrorLevel.ERROR,\n );\n }\n\n if (user.isDeleted) {\n terminateClient(Amity.TokenTerminationReason.USER_DELETED);\n return false;\n }\n\n if (user.isGlobalBan) {\n terminateClient(Amity.TokenTerminationReason.GLOBAL_BAN);\n return false;\n }\n\n client.userId = user.userId;\n\n client.sessionHandler = sessionHandler;\n\n /*\n * Cannot push to subscriptions as watcher needs to continue working even if\n * token expires\n */\n unsubWatcher = client.accessTokenExpiryWatcher(sessionHandler);\n\n setCurrentUser({ user, userType });\n } catch (error) {\n /*\n * if getting token failed session state reverts to initial state when app\n * is first launched\n */\n SessionWatcher.getInstance().setSessionState(Amity.SessionStates.NOT_LOGGED_IN);\n\n // pass error down tree so the calling function handle it\n throw error;\n }\n\n if (config?.disableRTE !== true) {\n runMqtt();\n }\n\n await initializeMessagePreviewSetting();\n\n if (subscriptions.length === 0) {\n subscriptions.push(\n // GLOBAL_BAN\n onClientBanned((_: Amity.UserPayload) => {\n terminateClient(Amity.TokenTerminationReason.GLOBAL_BAN);\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onTokenTerminated(_ => {\n terminateClient();\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onUserDeleted((user: Amity.InternalUser) => {\n if (user.userId === client.userId) {\n terminateClient(Amity.TokenTerminationReason.USER_DELETED);\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }\n }),\n\n onTokenExpired(state => {\n SessionWatcher.getInstance().setSessionState(state);\n\n logout();\n\n subscriptions.forEach(fn => fn());\n }),\n\n // NOTE: This is a temporary solution to handle the channel marker when the user is forced to leave\n // the channel because currently backend can't handle this, so every time a user is banned from\n // a channel or the channel is deleted the channel's unread count will not be reset to zero\n onChannelDeleted(removeChannelMarkerCache),\n onChannelMemberBanned(removeChannelMarkerCache),\n\n markReadEngineOnLoginHandler(),\n analyticsEngineOnLoginHandler(),\n objectResolverEngineOnLoginHandler(),\n reactionSyncEngineOnLoginHandler(),\n );\n\n if (client.useLegacyUnreadCount) {\n subscriptions.push(readReceiptSyncEngineOnLoginHandler());\n } else subscriptions.push(legacyReadReceiptSyncEngineOnLoginHandler());\n }\n\n return true;\n};\n/* end_public_function */\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { loginAsBot } from '@amityco/ts-sdk/client/api'
|
|
4
|
+
* const success = await loginAsBot({
|
|
5
|
+
sessionHandler: {
|
|
6
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
7
|
+
...
|
|
8
|
+
}
|
|
9
|
+
* })
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
13
|
+
*
|
|
14
|
+
* @param params. the connect parameters
|
|
15
|
+
* @param params.sessionHandler
|
|
16
|
+
* @returns a success boolean if connected
|
|
17
|
+
*
|
|
18
|
+
* @category Client API
|
|
19
|
+
* @async
|
|
20
|
+
*/
|
|
21
|
+
export declare const loginAsBot: (params: {
|
|
22
|
+
sessionHandler: Amity.SessionHandler;
|
|
23
|
+
}) => Promise<boolean>;
|
|
24
|
+
//# sourceMappingURL=loginAsBot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginAsBot.d.ts","sourceRoot":"","sources":["../../../src/client/api/loginAsBot.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,UAAU,WAAkB;IACvC,cAAc,EAAE,MAAM,cAAc,CAAC;CACtC,KAAG,QAAQ,OAAO,CAuElB,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* eslint-disable require-atomic-updates */
|
|
2
|
+
import { getDeviceId } from '~/core/device';
|
|
3
|
+
import { logout } from './logout';
|
|
4
|
+
import { getActiveClient } from './activeClient';
|
|
5
|
+
import { terminateClient } from './terminateClient';
|
|
6
|
+
import { onTokenExpired } from '../events/onTokenExpired';
|
|
7
|
+
import { onTokenTerminated } from '../events/onTokenTerminated';
|
|
8
|
+
import { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';
|
|
9
|
+
import SessionWatcher from '../utils/SessionWatcher';
|
|
10
|
+
import { setBotClientToken } from '../utils/setBotClientToken';
|
|
11
|
+
import { setCurrentUser } from '../utils/setCurrentUser';
|
|
12
|
+
/*
|
|
13
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
14
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
15
|
+
* to be cleared
|
|
16
|
+
*/
|
|
17
|
+
const subscriptions = [];
|
|
18
|
+
/* begin_public_function
|
|
19
|
+
id: client.loginAsBot
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* ```js
|
|
23
|
+
* import { loginAsBot } from '@amityco/ts-sdk/client/api'
|
|
24
|
+
* const success = await loginAsBot({
|
|
25
|
+
sessionHandler: {
|
|
26
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
* })
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
33
|
+
*
|
|
34
|
+
* @param params. the connect parameters
|
|
35
|
+
* @param params.sessionHandler
|
|
36
|
+
* @returns a success boolean if connected
|
|
37
|
+
*
|
|
38
|
+
* @category Client API
|
|
39
|
+
* @async
|
|
40
|
+
*/
|
|
41
|
+
export const loginAsBot = async (params) => {
|
|
42
|
+
const client = getActiveClient();
|
|
43
|
+
let unsubWatcher;
|
|
44
|
+
client.log('client/api/connectClient', {
|
|
45
|
+
apiKey: client.apiKey,
|
|
46
|
+
sessionState: client.sessionState,
|
|
47
|
+
});
|
|
48
|
+
// generate deviceId
|
|
49
|
+
const deviceId = await getDeviceId();
|
|
50
|
+
let user;
|
|
51
|
+
try {
|
|
52
|
+
const { users, userType } = await setBotClientToken({
|
|
53
|
+
params: {
|
|
54
|
+
deviceId,
|
|
55
|
+
},
|
|
56
|
+
options: {
|
|
57
|
+
setAccessTokenCookie: true,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
[user] = users;
|
|
61
|
+
client.userId = user.userId;
|
|
62
|
+
client.sessionHandler = params.sessionHandler;
|
|
63
|
+
/*
|
|
64
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
65
|
+
* token expires
|
|
66
|
+
*/
|
|
67
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
68
|
+
setCurrentUser({ user, userType });
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
/*
|
|
72
|
+
* if getting token failed session state reverts to initial state when app
|
|
73
|
+
* is first launched
|
|
74
|
+
*/
|
|
75
|
+
SessionWatcher.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
76
|
+
// pass error down tree so the calling function handle it
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
await initializeMessagePreviewSetting();
|
|
80
|
+
if (subscriptions.length === 0) {
|
|
81
|
+
// handling internal SDK events
|
|
82
|
+
subscriptions.push(onTokenTerminated(_ => {
|
|
83
|
+
terminateClient();
|
|
84
|
+
subscriptions.forEach(fn => fn());
|
|
85
|
+
unsubWatcher();
|
|
86
|
+
}), onTokenExpired(state => {
|
|
87
|
+
SessionWatcher.getInstance().setSessionState(state);
|
|
88
|
+
logout();
|
|
89
|
+
subscriptions.forEach(fn => fn());
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
};
|
|
94
|
+
/* end_public_function */
|
|
95
|
+
//# sourceMappingURL=loginAsBot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginAsBot.js","sourceRoot":"","sources":["../../../src/client/api/loginAsBot.ts"],"names":[],"mappings":"AAEA,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,aAAa,GAAyB,EAAE,CAAC;AAE/C;;EAEE;AACF;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,MAEhC,EAAoB,EAAE;IACrB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,YAAgC,CAAC;IAErC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,IAAI,IAAmB,CAAC;IAExB,IAAI;QACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC;YAClD,MAAM,EAAE;gBACN,QAAQ;aACT;YACD,OAAO,EAAE;gBACP,oBAAoB,EAAE,IAAI;aAC3B;SACF,CAAC,CAAC;QAEH,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAEf,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5B,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE9C;;;WAGG;QACH,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEtE,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACd;;;WAGG;QACH,cAAc,CAAC,WAAW,EAAE,CAAC,eAAe,uDAAmC,CAAC;QAEhF,yDAAyD;QACzD,MAAM,KAAK,CAAC;KACb;IAED,MAAM,+BAA+B,EAAE,CAAC;IAExC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,+BAA+B;QAC/B,aAAa,CAAC,IAAI,CAChB,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACpB,eAAe,EAAE,CAAC;YAElB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAElC,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC,EAEF,cAAc,CAAC,KAAK,CAAC,EAAE;YACrB,cAAc,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEpD,MAAM,EAAE,CAAC;YAET,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,yBAAyB","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { modifyMqttConnection } from '~/client/utils/modifyMqttConnection';\n/* eslint-disable require-atomic-updates */\nimport { getDeviceId } from '~/core/device';\nimport { logout } from './logout';\n\nimport { getActiveClient } from './activeClient';\nimport { terminateClient } from './terminateClient';\nimport { setActiveUser } from './activeUser';\n\nimport { onTokenExpired } from '../events/onTokenExpired';\nimport { onTokenTerminated } from '../events/onTokenTerminated';\nimport { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';\n\nimport SessionWatcher from '../utils/SessionWatcher';\nimport { setBotClientToken } from '../utils/setBotClientToken';\nimport { setCurrentUser } from '../utils/setCurrentUser';\n\n/*\n * declared earlier to accomodate case when logging in with a different user\n * than the one already connected, in which case the existing subscriptions need\n * to be cleared\n */\nconst subscriptions: Amity.Unsubscriber[] = [];\n\n/* begin_public_function\n id: client.loginAsBot\n*/\n/**\n * ```js\n * import { loginAsBot } from '@amityco/ts-sdk/client/api'\n * const success = await loginAsBot({\n sessionHandler: {\n sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {\n ...\n }\n * })\n * ```\n *\n * Connects an {@link Amity.Client} instance to ASC servers\n *\n * @param params. the connect parameters\n * @param params.sessionHandler\n * @returns a success boolean if connected\n *\n * @category Client API\n * @async\n */\n\nexport const loginAsBot = async (params: {\n sessionHandler: Amity.SessionHandler;\n}): Promise<boolean> => {\n const client = getActiveClient();\n let unsubWatcher: Amity.Unsubscriber;\n\n client.log('client/api/connectClient', {\n apiKey: client.apiKey,\n sessionState: client.sessionState,\n });\n\n // generate deviceId\n const deviceId = await getDeviceId();\n let user: Amity.RawUser;\n\n try {\n const { users, userType } = await setBotClientToken({\n params: {\n deviceId,\n },\n options: {\n setAccessTokenCookie: true,\n },\n });\n\n [user] = users;\n\n client.userId = user.userId;\n\n client.sessionHandler = params.sessionHandler;\n\n /*\n * Cannot push to subscriptions as watcher needs to continue working even if\n * token expires\n */\n unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);\n\n setCurrentUser({ user, userType });\n } catch (error) {\n /*\n * if getting token failed session state reverts to initial state when app\n * is first launched\n */\n SessionWatcher.getInstance().setSessionState(Amity.SessionStates.NOT_LOGGED_IN);\n\n // pass error down tree so the calling function handle it\n throw error;\n }\n\n await initializeMessagePreviewSetting();\n\n if (subscriptions.length === 0) {\n // handling internal SDK events\n subscriptions.push(\n onTokenTerminated(_ => {\n terminateClient();\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onTokenExpired(state => {\n SessionWatcher.getInstance().setSessionState(state);\n\n logout();\n\n subscriptions.forEach(fn => fn());\n }),\n );\n }\n\n return true;\n};\n\n/* end_public_function */\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { loginAsVisitor } from '@amityco/ts-sdk/client/api'
|
|
4
|
+
* const success = await loginAsVisitor({
|
|
5
|
+
sessionHandler: {
|
|
6
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
7
|
+
...
|
|
8
|
+
}
|
|
9
|
+
* })
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
13
|
+
*
|
|
14
|
+
* @param params. the connect parameters
|
|
15
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
16
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
17
|
+
* @param params.sessionHandler
|
|
18
|
+
* @returns a success boolean if connected
|
|
19
|
+
*
|
|
20
|
+
* @category Client API
|
|
21
|
+
* @async
|
|
22
|
+
*/
|
|
23
|
+
export declare const loginAsVisitor: (params: Amity.ConnectClientAsVisitorParams & {
|
|
24
|
+
sessionHandler: Amity.SessionHandler;
|
|
25
|
+
}) => Promise<boolean>;
|
|
26
|
+
//# sourceMappingURL=loginAsVisitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginAsVisitor.d.ts","sourceRoot":"","sources":["../../../src/client/api/loginAsVisitor.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,cAAc,WACjB,MAAM,4BAA4B,GAAG;IAC3C,cAAc,EAAE,MAAM,cAAc,CAAC;CACtC,KACA,QAAQ,OAAO,CAwEjB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* eslint-disable require-atomic-updates */
|
|
2
|
+
import { getDeviceId } from '~/core/device';
|
|
3
|
+
import { logout } from './logout';
|
|
4
|
+
import { getActiveClient } from './activeClient';
|
|
5
|
+
import { terminateClient } from './terminateClient';
|
|
6
|
+
import { onTokenExpired } from '../events/onTokenExpired';
|
|
7
|
+
import { onTokenTerminated } from '../events/onTokenTerminated';
|
|
8
|
+
import { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';
|
|
9
|
+
import SessionWatcher from '../utils/SessionWatcher';
|
|
10
|
+
import { setVisitorClientToken } from '../utils/setVisitorClientToken';
|
|
11
|
+
import { setCurrentUser } from '../utils/setCurrentUser';
|
|
12
|
+
/*
|
|
13
|
+
* declared earlier to accomodate case when logging in with a different user
|
|
14
|
+
* than the one already connected, in which case the existing subscriptions need
|
|
15
|
+
* to be cleared
|
|
16
|
+
*/
|
|
17
|
+
const subscriptions = [];
|
|
18
|
+
/* begin_public_function
|
|
19
|
+
id: client.loginAsVisitor
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* ```js
|
|
23
|
+
* import { loginAsVisitor } from '@amityco/ts-sdk/client/api'
|
|
24
|
+
* const success = await loginAsVisitor({
|
|
25
|
+
sessionHandler: {
|
|
26
|
+
sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
* })
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Connects an {@link Amity.Client} instance to ASC servers
|
|
33
|
+
*
|
|
34
|
+
* @param params. the connect parameters
|
|
35
|
+
* @param params.authSignature The authenitcation signature - necessary when network option is set to secure
|
|
36
|
+
* @param params.authSignatureExpiresAt Expire time of the authenitcation signature
|
|
37
|
+
* @param params.sessionHandler
|
|
38
|
+
* @returns a success boolean if connected
|
|
39
|
+
*
|
|
40
|
+
* @category Client API
|
|
41
|
+
* @async
|
|
42
|
+
*/
|
|
43
|
+
export const loginAsVisitor = async (params) => {
|
|
44
|
+
const client = getActiveClient();
|
|
45
|
+
let unsubWatcher;
|
|
46
|
+
client.log('client/api/connectClient', Object.assign({ apiKey: client.apiKey, sessionState: client.sessionState }, params));
|
|
47
|
+
// generate deviceId
|
|
48
|
+
const deviceId = await getDeviceId();
|
|
49
|
+
let user;
|
|
50
|
+
try {
|
|
51
|
+
const { users, userType } = await setVisitorClientToken({
|
|
52
|
+
params: Object.assign(Object.assign({}, params), { deviceId }),
|
|
53
|
+
options: {
|
|
54
|
+
setAccessTokenCookie: true,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
[user] = users;
|
|
58
|
+
client.userId = user.userId;
|
|
59
|
+
client.sessionHandler = params.sessionHandler;
|
|
60
|
+
/*
|
|
61
|
+
* Cannot push to subscriptions as watcher needs to continue working even if
|
|
62
|
+
* token expires
|
|
63
|
+
*/
|
|
64
|
+
unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);
|
|
65
|
+
setCurrentUser({ user, userType });
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
/*
|
|
69
|
+
* if getting token failed session state reverts to initial state when app
|
|
70
|
+
* is first launched
|
|
71
|
+
*/
|
|
72
|
+
SessionWatcher.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
|
|
73
|
+
// pass error down tree so the calling function handle it
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
await initializeMessagePreviewSetting();
|
|
77
|
+
if (subscriptions.length === 0) {
|
|
78
|
+
// handling internal SDK events
|
|
79
|
+
subscriptions.push(onTokenTerminated(_ => {
|
|
80
|
+
terminateClient();
|
|
81
|
+
subscriptions.forEach(fn => fn());
|
|
82
|
+
unsubWatcher();
|
|
83
|
+
}), onTokenExpired(state => {
|
|
84
|
+
SessionWatcher.getInstance().setSessionState(state);
|
|
85
|
+
logout();
|
|
86
|
+
subscriptions.forEach(fn => fn());
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
};
|
|
91
|
+
/* end_public_function */
|
|
92
|
+
//# sourceMappingURL=loginAsVisitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginAsVisitor.js","sourceRoot":"","sources":["../../../src/client/api/loginAsVisitor.ts"],"names":[],"mappings":"AAEA,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,aAAa,GAAyB,EAAE,CAAC;AAE/C;;EAEE;AACF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,MAEC,EACiB,EAAE;IACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,YAAgC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,0BAA0B,kBACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,YAAY,EAAE,MAAM,CAAC,YAAY,IAC9B,MAAM,EACT,CAAC;IAEH,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,IAAI,IAAmB,CAAC;IAExB,IAAI;QACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,qBAAqB,CAAC;YACtD,MAAM,kCACD,MAAM,KACT,QAAQ,GACT;YACD,OAAO,EAAE;gBACP,oBAAoB,EAAE,IAAI;aAC3B;SACF,CAAC,CAAC;QAEH,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAEf,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5B,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE9C;;;WAGG;QACH,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEtE,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACd;;;WAGG;QACH,cAAc,CAAC,WAAW,EAAE,CAAC,eAAe,uDAAmC,CAAC;QAEhF,yDAAyD;QACzD,MAAM,KAAK,CAAC;KACb;IAED,MAAM,+BAA+B,EAAE,CAAC;IAExC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,+BAA+B;QAC/B,aAAa,CAAC,IAAI,CAChB,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACpB,eAAe,EAAE,CAAC;YAElB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAElC,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC,EAEF,cAAc,CAAC,KAAK,CAAC,EAAE;YACrB,cAAc,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEpD,MAAM,EAAE,CAAC;YAET,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,yBAAyB","sourcesContent":["/* eslint-disable no-param-reassign */\nimport { modifyMqttConnection } from '~/client/utils/modifyMqttConnection';\n/* eslint-disable require-atomic-updates */\nimport { getDeviceId } from '~/core/device';\nimport { logout } from './logout';\n\nimport { getActiveClient } from './activeClient';\nimport { terminateClient } from './terminateClient';\n\nimport { onTokenExpired } from '../events/onTokenExpired';\nimport { onTokenTerminated } from '../events/onTokenTerminated';\nimport { initializeMessagePreviewSetting } from '../utils/messagePreviewEngine';\n\nimport SessionWatcher from '../utils/SessionWatcher';\nimport { setVisitorClientToken } from '../utils/setVisitorClientToken';\nimport { setCurrentUser } from '../utils/setCurrentUser';\n\n/*\n * declared earlier to accomodate case when logging in with a different user\n * than the one already connected, in which case the existing subscriptions need\n * to be cleared\n */\nconst subscriptions: Amity.Unsubscriber[] = [];\n\n/* begin_public_function\n id: client.loginAsVisitor\n*/\n/**\n * ```js\n * import { loginAsVisitor } from '@amityco/ts-sdk/client/api'\n * const success = await loginAsVisitor({\n sessionHandler: {\n sessionWillRenewAccessToken(renewal: Amity.AccessTokenRenewal) {\n ...\n }\n * })\n * ```\n *\n * Connects an {@link Amity.Client} instance to ASC servers\n *\n * @param params. the connect parameters\n * @param params.authSignature The authenitcation signature - necessary when network option is set to secure\n * @param params.authSignatureExpiresAt Expire time of the authenitcation signature\n * @param params.sessionHandler\n * @returns a success boolean if connected\n *\n * @category Client API\n * @async\n */\n\nexport const loginAsVisitor = async (\n params: Amity.ConnectClientAsVisitorParams & {\n sessionHandler: Amity.SessionHandler;\n },\n): Promise<boolean> => {\n const client = getActiveClient();\n let unsubWatcher: Amity.Unsubscriber;\n client.log('client/api/connectClient', {\n apiKey: client.apiKey,\n sessionState: client.sessionState,\n ...params,\n });\n\n // generate deviceId\n const deviceId = await getDeviceId();\n let user: Amity.RawUser;\n\n try {\n const { users, userType } = await setVisitorClientToken({\n params: {\n ...params,\n deviceId,\n },\n options: {\n setAccessTokenCookie: true,\n },\n });\n\n [user] = users;\n\n client.userId = user.userId;\n\n client.sessionHandler = params.sessionHandler;\n\n /*\n * Cannot push to subscriptions as watcher needs to continue working even if\n * token expires\n */\n unsubWatcher = client.accessTokenExpiryWatcher(params.sessionHandler);\n\n setCurrentUser({ user, userType });\n } catch (error) {\n /*\n * if getting token failed session state reverts to initial state when app\n * is first launched\n */\n SessionWatcher.getInstance().setSessionState(Amity.SessionStates.NOT_LOGGED_IN);\n\n // pass error down tree so the calling function handle it\n throw error;\n }\n\n await initializeMessagePreviewSetting();\n\n if (subscriptions.length === 0) {\n // handling internal SDK events\n subscriptions.push(\n onTokenTerminated(_ => {\n terminateClient();\n\n subscriptions.forEach(fn => fn());\n\n unsubWatcher();\n }),\n\n onTokenExpired(state => {\n SessionWatcher.getInstance().setSessionState(state);\n\n logout();\n\n subscriptions.forEach(fn => fn());\n }),\n );\n }\n\n return true;\n};\n\n/* end_public_function */\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewal.d.ts","sourceRoot":"","sources":["../../../src/client/api/renewal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renewal.d.ts","sourceRoot":"","sources":["../../../src/client/api/renewal.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,OAAO,QAAO,MAAM,kBAiGhC,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { getDeviceId } from '~/core/device';
|
|
2
2
|
import { ACCESS_TOKEN_WATCHER_INTERVAL } from '~/utils/constants';
|
|
3
|
-
import { getActiveUser } from './activeUser';
|
|
4
3
|
import { setClientToken as refreshToken } from '../utils/setClientToken';
|
|
4
|
+
import { setVisitorClientToken as refreshVisitorToken } from '../utils/setVisitorClientToken';
|
|
5
5
|
import { getActiveClient } from './activeClient';
|
|
6
6
|
import { login } from './login';
|
|
7
|
+
import { loginAsVisitor } from './loginAsVisitor';
|
|
8
|
+
import { getCurrentUser } from './getCurrentUser';
|
|
7
9
|
/* begin_public_function
|
|
8
10
|
id: client.renew_access_token
|
|
9
11
|
*/
|
|
@@ -26,7 +28,7 @@ export const renewal = () => {
|
|
|
26
28
|
* Per instance of Renewal, only one renewal is allowed
|
|
27
29
|
*/
|
|
28
30
|
const renewToken = async (authToken) => {
|
|
29
|
-
const { userId, displayName } =
|
|
31
|
+
const { userId, displayName } = getCurrentUser();
|
|
30
32
|
const deviceId = await getDeviceId();
|
|
31
33
|
const params = { userId, displayName, authToken, deviceId };
|
|
32
34
|
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
@@ -45,6 +47,24 @@ export const renewal = () => {
|
|
|
45
47
|
if (renewTimeoutId)
|
|
46
48
|
clearTimeout(renewTimeoutId);
|
|
47
49
|
};
|
|
50
|
+
const renewVisitorToken = async ({ authSignature, authSignatureExpiresAt, }) => {
|
|
51
|
+
const deviceId = await getDeviceId();
|
|
52
|
+
if (client.sessionState === "tokenExpired" /* Amity.SessionStates.TOKEN_EXPIRED */ && client.sessionHandler) {
|
|
53
|
+
await loginAsVisitor({ sessionHandler: client.sessionHandler });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// about to expire
|
|
57
|
+
await refreshVisitorToken({
|
|
58
|
+
params: { authSignature, authSignatureExpiresAt, deviceId },
|
|
59
|
+
options: {
|
|
60
|
+
setAccessTokenCookie: true,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
tokenRenewed = true;
|
|
65
|
+
if (renewTimeoutId)
|
|
66
|
+
clearTimeout(renewTimeoutId);
|
|
67
|
+
};
|
|
48
68
|
return {
|
|
49
69
|
renew: () => {
|
|
50
70
|
if (tokenRenewed) {
|
|
@@ -66,6 +86,19 @@ export const renewal = () => {
|
|
|
66
86
|
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
67
87
|
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
68
88
|
},
|
|
89
|
+
renewWithAuthSignature: (params) => {
|
|
90
|
+
if (tokenRenewed) {
|
|
91
|
+
console.log("'renew' method can be called only once per renewal instance");
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
renewVisitorToken(params);
|
|
95
|
+
},
|
|
96
|
+
unableToRetrieveAuthSignature: () => {
|
|
97
|
+
renewTimeoutId = setTimeout(() => {
|
|
98
|
+
var _a;
|
|
99
|
+
(_a = client.sessionHandler) === null || _a === void 0 ? void 0 : _a.sessionWillRenewAccessToken(renewal());
|
|
100
|
+
}, ACCESS_TOKEN_WATCHER_INTERVAL);
|
|
101
|
+
},
|
|
69
102
|
};
|
|
70
103
|
};
|
|
71
104
|
/* end_public_function */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewal.js","sourceRoot":"","sources":["../../../src/client/api/renewal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"renewal.js","sourceRoot":"","sources":["../../../src/client/api/renewal.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDeviceId } from '~/core/device';\nimport { ACCESS_TOKEN_WATCHER_INTERVAL } from '~/utils/constants';\n\nimport { setClientToken as refreshToken } from '../utils/setClientToken';\nimport { setVisitorClientToken as refreshVisitorToken } from '../utils/setVisitorClientToken';\nimport { getActiveClient } from './activeClient';\nimport { login } from './login';\nimport { loginAsVisitor } from './loginAsVisitor';\nimport { getCurrentUser } from './getCurrentUser';\n\n/* begin_public_function\n id: client.renew_access_token\n*/\n/*\n * Renewal defintion accepted by SessionHandler interface\n *\n * Tech Spec:\n * https://ekoapp.atlassian.net/wiki/spaces/UP/pages/2082537485/ASC+Core+-+Session+Management+3.0#Session-Handler\n *\n * @category private\n */\nexport const renewal = (): Amity.AccessTokenRenewal => {\n let tokenRenewed = false;\n let renewTimeoutId: ReturnType<typeof setTimeout>;\n\n const client = getActiveClient();\n\n client.log('initiating access token renewal');\n /*\n * Renews a token if it is hasn't been renewed before. Also marks token as\n * renewed once done\n * Per instance of Renewal, only one renewal is allowed\n */\n const renewToken = async (authToken?: Amity.ConnectClientParams['authToken']): Promise<void> => {\n const { userId, displayName } = getCurrentUser();\n const deviceId = await getDeviceId();\n\n const params = { userId, displayName, authToken, deviceId };\n\n if (client.sessionState === Amity.SessionStates.TOKEN_EXPIRED && client.sessionHandler) {\n await login(params, client.sessionHandler);\n } else {\n // about to expire\n\n await refreshToken({\n params,\n options: {\n setAccessTokenCookie: true,\n },\n });\n }\n\n tokenRenewed = true;\n\n if (renewTimeoutId) clearTimeout(renewTimeoutId);\n };\n\n const renewVisitorToken = async ({\n authSignature,\n authSignatureExpiresAt,\n }: Amity.ConnectClientAsVisitorParams): Promise<void> => {\n const deviceId = await getDeviceId();\n\n if (client.sessionState === Amity.SessionStates.TOKEN_EXPIRED && client.sessionHandler) {\n await loginAsVisitor({ sessionHandler: client.sessionHandler });\n } else {\n // about to expire\n\n await refreshVisitorToken({\n params: { authSignature, authSignatureExpiresAt, deviceId },\n options: {\n setAccessTokenCookie: true,\n },\n });\n }\n\n tokenRenewed = true;\n\n if (renewTimeoutId) clearTimeout(renewTimeoutId);\n };\n\n return {\n renew: () => {\n if (tokenRenewed) {\n console.log(\"'renew' method can be called only once per renewal instance\");\n return;\n }\n renewToken();\n },\n\n renewWithAuthToken: (authToken: string) => {\n if (tokenRenewed) {\n console.log(\"'renewWithAuthToken' method can be called only once per renewal instance\");\n return;\n }\n renewToken(authToken);\n },\n\n unableToRetrieveAuthToken: () => {\n renewTimeoutId = setTimeout(() => {\n client.sessionHandler?.sessionWillRenewAccessToken(renewal());\n }, ACCESS_TOKEN_WATCHER_INTERVAL);\n },\n\n renewWithAuthSignature: (params: Amity.ConnectClientAsVisitorParams) => {\n if (tokenRenewed) {\n console.log(\"'renew' method can be called only once per renewal instance\");\n return;\n }\n renewVisitorToken(params);\n },\n\n unableToRetrieveAuthSignature: () => {\n renewTimeoutId = setTimeout(() => {\n client.sessionHandler?.sessionWillRenewAccessToken(renewal());\n }, ACCESS_TOKEN_WATCHER_INTERVAL);\n },\n };\n};\n/* end_public_function */\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getBotToken } from '../api/getBotToken';
|
|
2
|
+
/**
|
|
3
|
+
* A util to set or refresh client token
|
|
4
|
+
* @param options get bot token options
|
|
5
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
6
|
+
* @returns token & user info
|
|
7
|
+
*
|
|
8
|
+
* @category private
|
|
9
|
+
* @async
|
|
10
|
+
*/
|
|
11
|
+
export declare const setBotClientToken: (params: Parameters<typeof getBotToken>[0]) => Promise<{
|
|
12
|
+
accessToken: string;
|
|
13
|
+
users: Amity.RawUser[];
|
|
14
|
+
userType: "signed-in" | "visitor" | "bot";
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=setBotClientToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setBotClientToken.d.ts","sourceRoot":"","sources":["../../../src/client/utils/setBotClientToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,WAAkB,WAAW,kBAAkB,CAAC,CAAC,CAAC,CAAC;;;;EAqBhF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getActiveClient } from '../api/activeClient';
|
|
2
|
+
import { setSessionState } from '../api/setSessionState';
|
|
3
|
+
import { getBotToken } from '../api/getBotToken';
|
|
4
|
+
/**
|
|
5
|
+
* A util to set or refresh client token
|
|
6
|
+
* @param options get bot token options
|
|
7
|
+
* @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure
|
|
8
|
+
* @returns token & user info
|
|
9
|
+
*
|
|
10
|
+
* @category private
|
|
11
|
+
* @async
|
|
12
|
+
*/
|
|
13
|
+
export const setBotClientToken = async (params) => {
|
|
14
|
+
const client = getActiveClient();
|
|
15
|
+
// begin establishing session
|
|
16
|
+
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
17
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getBotToken(params);
|
|
18
|
+
// manually setup the token for http transport
|
|
19
|
+
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
20
|
+
client.http.defaults.metadata = {
|
|
21
|
+
tokenExpiry: expiresAt,
|
|
22
|
+
isGlobalBanned: false,
|
|
23
|
+
isUserDeleted: false,
|
|
24
|
+
};
|
|
25
|
+
client.token = { accessToken, issuedAt, expiresAt };
|
|
26
|
+
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
27
|
+
return { accessToken, users, userType };
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=setBotClientToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setBotClientToken.js","sourceRoot":"","sources":["../../../src/client/utils/setBotClientToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAyC,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,6BAA6B;IAC7B,eAAe,uDAAkC,CAAC;IAElD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAExF,8CAA8C;IAC9C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,UAAU,WAAW,EAAE,CAAC;IAE5E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG;QAC9B,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEpD,eAAe,qDAAiC,CAAC;IAEjD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC,CAAC","sourcesContent":["import { getActiveClient } from '../api/activeClient';\nimport { setSessionState } from '../api/setSessionState';\nimport { getBotToken } from '../api/getBotToken';\n\n/**\n * A util to set or refresh client token\n * @param options get bot token options\n * @param options.setAccessTokenCookie The authentication token - necessary when network option is set to secure\n * @returns token & user info\n *\n * @category private\n * @async\n */\nexport const setBotClientToken = async (params: Parameters<typeof getBotToken>[0]) => {\n const client = getActiveClient();\n // begin establishing session\n setSessionState(Amity.SessionStates.ESTABLISHING);\n\n const { accessToken, users, expiresAt, issuedAt, userType } = await getBotToken(params);\n\n // manually setup the token for http transport\n client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;\n\n client.http.defaults.metadata = {\n tokenExpiry: expiresAt,\n isGlobalBanned: false,\n isUserDeleted: false,\n };\n\n client.token = { accessToken, issuedAt, expiresAt };\n\n setSessionState(Amity.SessionStates.ESTABLISHED);\n\n return { accessToken, users, userType };\n};\n"]}
|
|
@@ -13,6 +13,7 @@ import { getToken } from '../api/getToken';
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const setClientToken: (params: Parameters<typeof getToken>[0]) => Promise<{
|
|
15
15
|
accessToken: string;
|
|
16
|
-
users: Amity.
|
|
16
|
+
users: Amity.RawUser[];
|
|
17
|
+
userType: "signed-in" | "visitor" | "bot";
|
|
17
18
|
}>;
|
|
18
19
|
//# sourceMappingURL=setClientToken.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setClientToken.d.ts","sourceRoot":"","sources":["../../../src/client/utils/setClientToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,WAAkB,WAAW,eAAe,CAAC,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"setClientToken.d.ts","sourceRoot":"","sources":["../../../src/client/utils/setClientToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,WAAkB,WAAW,eAAe,CAAC,CAAC,CAAC,CAAC;;;;EA6B1E,CAAC"}
|
|
@@ -17,7 +17,7 @@ export const setClientToken = async (params) => {
|
|
|
17
17
|
const client = getActiveClient();
|
|
18
18
|
// begin establishing session
|
|
19
19
|
setSessionState("establishing" /* Amity.SessionStates.ESTABLISHING */);
|
|
20
|
-
const { accessToken, users, expiresAt, issuedAt } = await getToken(params);
|
|
20
|
+
const { accessToken, users, expiresAt, issuedAt, userType } = await getToken(params);
|
|
21
21
|
// manually setup the token for http transport
|
|
22
22
|
client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
|
|
23
23
|
client.http.defaults.metadata = {
|
|
@@ -33,6 +33,6 @@ export const setClientToken = async (params) => {
|
|
|
33
33
|
};
|
|
34
34
|
client.token = { accessToken, issuedAt, expiresAt };
|
|
35
35
|
setSessionState("established" /* Amity.SessionStates.ESTABLISHED */);
|
|
36
|
-
return { accessToken, users };
|
|
36
|
+
return { accessToken, users, userType };
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=setClientToken.js.map
|