@amityco/ts-sdk 0.0.1-9c859b3.0 → 0.0.1-9cd86e7.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.
@@ -17,6 +17,7 @@ declare global {
17
17
  accessToken?: string;
18
18
  use: () => void;
19
19
  getFeedSettings: () => Promise<Amity.FeedSettings>;
20
+ useMqttForChat: boolean;
20
21
  };
21
22
  type Device = {
22
23
  deviceId: string;
@@ -30,9 +31,28 @@ declare global {
30
31
  accessToken: string;
31
32
  refreshToken: string;
32
33
  };
34
+ type ChatSettings = {
35
+ enabled: boolean;
36
+ mention: {
37
+ isAllowMentionedChannelEnabled: boolean;
38
+ };
39
+ };
33
40
  type FeedSettings = {
34
41
  [name in Amity.ContentFeedType]?: Amity.ContentSetting[];
35
42
  };
43
+ type SocialSettings = {
44
+ enabled: boolean;
45
+ isAllowEditPostWhenReviewingEnabled: boolean;
46
+ isFollowWithRequestEnabled: boolean;
47
+ globalFeed: {
48
+ showCommunityPost: boolean;
49
+ showEveryonePost: boolean;
50
+ showFollowingPost: boolean;
51
+ showMyPost: boolean;
52
+ showOnlyMyFeed: boolean;
53
+ };
54
+ userPrivacySetting: 'public' | 'private ';
55
+ };
36
56
  type ConnectClientParams = {
37
57
  userId: Amity.User['userId'];
38
58
  displayName?: Amity.User['displayName'];
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QAEtD,KAAK,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC;YAEhB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;YACvB,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,CAAC;YAErB,GAAG,EAAE,MAAM,IAAI,CAAC;YAEhB,eAAe,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACpD,CAAC;QAEF,KAAK,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE;gBACV,OAAO,EAAE,MAAM,CAAC;gBAChB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;QAEF,KAAK,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;QAEF,KAAK,YAAY,GAAG;aACjB,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE;SACzD,CAAC;QAEF,KAAK,mBAAmB,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SACrC,CAAC;QAEF,KAAK,mBAAmB,GAAG;YACzB,UAAU,EAAE,OAAO,CAAC;SACrB,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QAEtD,KAAK,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC;YAEhB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,aAAa,CAAC;YACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;YACvB,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,CAAC;YAErB,GAAG,EAAE,MAAM,IAAI,CAAC;YAEhB,eAAe,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEnD,cAAc,EAAE,OAAO,CAAC;SACzB,CAAC;QAEF,KAAK,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE;gBACV,OAAO,EAAE,MAAM,CAAC;gBAChB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;gBACrB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;QAEF,KAAK,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;QAEF,KAAK,YAAY,GAAG;YAClB,OAAO,EAAE,OAAO,CAAC;YACjB,OAAO,EAAE;gBACP,8BAA8B,EAAE,OAAO,CAAC;aACzC,CAAC;SACH,CAAC;QAEF,KAAK,YAAY,GAAG;aACjB,IAAI,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE;SACzD,CAAC;QAEF,KAAK,cAAc,GAAG;YACpB,OAAO,EAAE,OAAO,CAAC;YACjB,mCAAmC,EAAE,OAAO,CAAC;YAC7C,0BAA0B,EAAE,OAAO,CAAC;YACpC,UAAU,EAAE;gBACV,iBAAiB,EAAE,OAAO,CAAC;gBAC3B,gBAAgB,EAAE,OAAO,CAAC;gBAC1B,iBAAiB,EAAE,OAAO,CAAC;gBAC3B,UAAU,EAAE,OAAO,CAAC;gBACpB,cAAc,EAAE,OAAO,CAAC;aACzB,CAAC;YACF,kBAAkB,EAAE,QAAQ,GAAG,UAAU,CAAC;SAC3C,CAAC;QAEF,KAAK,mBAAmB,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SACrC,CAAC;QAEF,KAAK,mBAAmB,GAAG;YACzB,UAAU,EAAE,OAAO,CAAC;SACrB,CAAC;KACH;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"connectClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/connectClient.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,mBAAmB,WACxB,MAAM,mBAAmB,KACjC,QAAQ,OAAO,CA8CjB,CAAC"}
1
+ {"version":3,"file":"connectClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/connectClient.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,aAAa,WAChB,MAAM,mBAAmB,WACxB,MAAM,mBAAmB,KACjC,QAAQ,OAAO,CAkDjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAcnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;MAQtD,MAAM,MAsCR,CAAC"}
1
+ {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAcnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;MAQtD,MAAM,MAwCR,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ```js
3
+ * import { getChatSettings } from '@amityco/ts-sdk'
4
+ * const chatSettings = await getChatSettings()
5
+ * ```
6
+ *
7
+ * Fetches a {@link Amity.ChatSettings} object
8
+ *
9
+ * @returns A Promise of {@link Amity.ChatSettings} object
10
+ *
11
+ * @category Client API
12
+ * @async
13
+ */
14
+ export declare const getChatSettings: () => Promise<Amity.ChatSettings>;
15
+ //# sourceMappingURL=getChatSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChatSettings.d.ts","sourceRoot":"","sources":["../../../src/client/api/getChatSettings.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,QAAa,QAAQ,MAAM,YAAY,CAMlE,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * ```js
3
+ * import { getSocialSettings } from '@amityco/ts-sdk'
4
+ * const socialSettings = await getSocialSettings()
5
+ * ```
6
+ *
7
+ * Fetches a {@link Amity.SocialSettings} object
8
+ *
9
+ * @returns A Promise of {@link Amity.SocialSettings} object
10
+ *
11
+ * @category Client API
12
+ * @async
13
+ */
14
+ export declare const getSocialSettings: () => Promise<Amity.SocialSettings>;
15
+ //# sourceMappingURL=getSocialSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSocialSettings.d.ts","sourceRoot":"","sources":["../../../src/client/api/getSocialSettings.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,QAAa,QAAQ,MAAM,cAAc,CAQtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function shouldUseMqttForChat(settings: Amity.ChatSettings): boolean;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/utils/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAE1E"}
package/dist/index.cjs.js CHANGED
@@ -20272,6 +20272,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
20272
20272
  emitter,
20273
20273
  use: () => setActiveClient(client),
20274
20274
  getFeedSettings,
20275
+ useMqttForChat: false,
20275
20276
  };
20276
20277
  try {
20277
20278
  getActiveClient();
@@ -20397,6 +20398,29 @@ const createUserEventSubscriber = (event, callback) => {
20397
20398
  */
20398
20399
  const onUserDeleted = (callback) => createUserEventSubscriber('user.deleted', callback);
20399
20400
 
20401
+ function shouldUseMqttForChat(settings) {
20402
+ return true;
20403
+ }
20404
+
20405
+ /**
20406
+ * ```js
20407
+ * import { getChatSettings } from '@amityco/ts-sdk'
20408
+ * const chatSettings = await getChatSettings()
20409
+ * ```
20410
+ *
20411
+ * Fetches a {@link Amity.ChatSettings} object
20412
+ *
20413
+ * @returns A Promise of {@link Amity.ChatSettings} object
20414
+ *
20415
+ * @category Client API
20416
+ * @async
20417
+ */
20418
+ const getChatSettings = async () => {
20419
+ const client = getActiveClient();
20420
+ const { data } = await client.http.get(`/api/v3/network-settings/chat`);
20421
+ return data;
20422
+ };
20423
+
20400
20424
  /**
20401
20425
  * Retrieves a pair of {@link Amity.Tokens} necessary for connection
20402
20426
  *
@@ -20527,10 +20551,15 @@ const connectClient = async (params, config) => {
20527
20551
  // @ts-ignore: in that particular case, typing can be
20528
20552
  // ignored since we enforce default values just before.
20529
20553
  const { accessToken, users } = await getToken(params);
20530
- // manually setup the token for http transport
20554
+ // manually setup the token for http, ws transport
20531
20555
  client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
20532
- // manually setup the token for ws transport
20533
20556
  client.ws.io.opts.query = { token: accessToken };
20557
+ try {
20558
+ client.useMqttForChat = shouldUseMqttForChat(await getChatSettings());
20559
+ }
20560
+ catch (_b) {
20561
+ client.useMqttForChat = true;
20562
+ }
20534
20563
  // FIXME: events are duplicated if connectClient is called few times without disconnectClient
20535
20564
  // wire websocket events to our event emitter
20536
20565
  proxyWebsocketEvents(client.ws, client.emitter);
package/dist/index.esm.js CHANGED
@@ -20258,6 +20258,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
20258
20258
  emitter,
20259
20259
  use: () => setActiveClient(client),
20260
20260
  getFeedSettings,
20261
+ useMqttForChat: false,
20261
20262
  };
20262
20263
  try {
20263
20264
  getActiveClient();
@@ -20383,6 +20384,29 @@ const createUserEventSubscriber = (event, callback) => {
20383
20384
  */
20384
20385
  const onUserDeleted = (callback) => createUserEventSubscriber('user.deleted', callback);
20385
20386
 
20387
+ function shouldUseMqttForChat(settings) {
20388
+ return true;
20389
+ }
20390
+
20391
+ /**
20392
+ * ```js
20393
+ * import { getChatSettings } from '@amityco/ts-sdk'
20394
+ * const chatSettings = await getChatSettings()
20395
+ * ```
20396
+ *
20397
+ * Fetches a {@link Amity.ChatSettings} object
20398
+ *
20399
+ * @returns A Promise of {@link Amity.ChatSettings} object
20400
+ *
20401
+ * @category Client API
20402
+ * @async
20403
+ */
20404
+ const getChatSettings = async () => {
20405
+ const client = getActiveClient();
20406
+ const { data } = await client.http.get(`/api/v3/network-settings/chat`);
20407
+ return data;
20408
+ };
20409
+
20386
20410
  /**
20387
20411
  * Retrieves a pair of {@link Amity.Tokens} necessary for connection
20388
20412
  *
@@ -20513,10 +20537,15 @@ const connectClient = async (params, config) => {
20513
20537
  // @ts-ignore: in that particular case, typing can be
20514
20538
  // ignored since we enforce default values just before.
20515
20539
  const { accessToken, users } = await getToken(params);
20516
- // manually setup the token for http transport
20540
+ // manually setup the token for http, ws transport
20517
20541
  client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
20518
- // manually setup the token for ws transport
20519
20542
  client.ws.io.opts.query = { token: accessToken };
20543
+ try {
20544
+ client.useMqttForChat = shouldUseMqttForChat(await getChatSettings());
20545
+ }
20546
+ catch (_b) {
20547
+ client.useMqttForChat = true;
20548
+ }
20520
20549
  // FIXME: events are duplicated if connectClient is called few times without disconnectClient
20521
20550
  // wire websocket events to our event emitter
20522
20551
  proxyWebsocketEvents(client.ws, client.emitter);