@amityco/ts-sdk 6.3.2-eee54e8.0 → 6.3.2

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.
Files changed (37) hide show
  1. package/dist/@types/domains/user.d.ts +0 -1
  2. package/dist/@types/domains/user.d.ts.map +1 -1
  3. package/dist/channelRepsitory/channelMembership/observers/getMembers.d.ts.map +1 -1
  4. package/dist/client/api/login.d.ts.map +1 -1
  5. package/dist/client/utils/subscribeGlobalTopic.d.ts +2 -0
  6. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -0
  7. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  8. package/dist/core/transports/mqtt.d.ts.map +1 -1
  9. package/dist/index.cjs.js +50 -86
  10. package/dist/index.esm.js +50 -86
  11. package/dist/index.umd.js +2 -2
  12. package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
  13. package/dist/userRepository/observers/index.d.ts +0 -1
  14. package/dist/userRepository/observers/index.d.ts.map +1 -1
  15. package/package.json +1 -1
  16. package/src/@types/domains/user.ts +0 -2
  17. package/src/channelRepsitory/channelMembership/observers/getMembers.ts +10 -17
  18. package/src/channelRepsitory/channelMembership/observers/tests/getMembers.test.ts +62 -0
  19. package/src/channelRepsitory/channelMembership/observers/tests/searchMembers.test.ts +31 -0
  20. package/src/client/api/login.ts +1 -18
  21. package/src/client/utils/subscribeGlobalTopic.ts +23 -0
  22. package/src/communityRepository/communityMembership/observers/getMembers.ts +10 -14
  23. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +27 -1
  24. package/src/core/transports/mqtt.ts +6 -3
  25. package/src/messageRepository/observers/getMessages.ts +1 -1
  26. package/src/userRepository/observers/getUsers.ts +11 -18
  27. package/src/userRepository/observers/index.ts +0 -1
  28. package/src/userRepository/observers/tests/getUsers.test.ts +29 -1
  29. package/dist/commentRepository/api/tests/deleteComment.test.d.ts +0 -2
  30. package/dist/commentRepository/api/tests/deleteComment.test.d.ts.map +0 -1
  31. package/dist/userRepository/observers/searchUserByDisplayName.d.ts +0 -19
  32. package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +0 -1
  33. package/dist/userRepository/observers/tests/searchUserByDisplayName.test.d.ts +0 -2
  34. package/dist/userRepository/observers/tests/searchUserByDisplayName.test.d.ts.map +0 -1
  35. package/src/commentRepository/api/tests/deleteComment.test.ts +0 -60
  36. package/src/userRepository/observers/searchUserByDisplayName.ts +0 -30
  37. package/src/userRepository/observers/tests/searchUserByDisplayName.test.ts +0 -113
@@ -17,7 +17,6 @@ declare global {
17
17
  page?: Amity.Page;
18
18
  };
19
19
  type UserLiveCollection = Amity.LiveCollectionParams<Omit<QueryUsers, 'page'>>;
20
- type UserSearchLiveCollection = Amity.LiveCollectionParams<Omit<QueryUsers, 'sortBy'>>;
21
20
  type UserLiveCollectionCache = Amity.LiveCollectionCache<Amity.User['userId'], Pick<QueryUsers, 'page'>>;
22
21
  }
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,cAAc,GACf,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,eAAe,CAAC;QAEpB,KAAK,IAAI,GAAG;YACV,GAAG,EAAE,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,GAAG,KAAK,CAAC,QAAQ,GAChB,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,YAAY,CAAC;QAErB,KAAK,UAAU,GAAG;YAChB,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa,CAAC;YACxD,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;SACnB,CAAC;QAEF,KAAK,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/E,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvF,KAAK,uBAAuB,GAAG,KAAK,CAAC,mBAAmB,CACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EACpB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CACzB,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,cAAc,GACf,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,eAAe,CAAC;QAEpB,KAAK,IAAI,GAAG;YACV,GAAG,EAAE,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,GAAG,KAAK,CAAC,QAAQ,GAChB,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,YAAY,CAAC;QAErB,KAAK,UAAU,GAAG;YAChB,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa,CAAC;YACxD,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;SACnB,CAAC;QAEF,KAAK,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/E,KAAK,uBAAuB,GAAG,KAAK,CAAC,mBAAmB,CACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EACpB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CACzB,CAAC;KACH;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMembers.d.ts","sourceRoot":"","sources":["../../../../src/channelRepsitory/channelMembership/observers/getMembers.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,4BAA4B,YAChC,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,WAC1D,MAAM,oBAAoB,eAkJpC,CAAC"}
1
+ {"version":3,"file":"getMembers.d.ts","sourceRoot":"","sources":["../../../../src/channelRepsitory/channelMembership/observers/getMembers.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,4BAA4B,YAChC,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,WAC1D,MAAM,oBAAoB,eA2IpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,WACR,MAAM,mBAAmB,kBACjB,MAAM,cAAc,WAC3B,MAAM,mBAAmB,KACjC,QAAQ,OAAO,CAoHjB,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/client/api/login.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,WACR,MAAM,mBAAmB,kBACjB,MAAM,cAAc,WAC3B,MAAM,mBAAmB,KACjC,QAAQ,OAAO,CA2GjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const subscribeGlobalTopic: () => () => void;
2
+ //# sourceMappingURL=subscribeGlobalTopic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeGlobalTopic.d.ts","sourceRoot":"","sources":["../../../src/client/utils/subscribeGlobalTopic.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB,kBAYhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMembers.d.ts","sourceRoot":"","sources":["../../../../src/communityRepository/communityMembership/observers/getMembers.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,6BAA6B,YACjC,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,WAC5D,MAAM,oBAAoB,eAkIpC,CAAC"}
1
+ {"version":3,"file":"getMembers.d.ts","sourceRoot":"","sources":["../../../../src/communityRepository/communityMembership/observers/getMembers.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,6BAA6B,YACjC,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,WAC5D,MAAM,oBAAoB,eA8HpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AActF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAiBjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBAuGtD,CAAC"}
1
+ {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAetF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAiBjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBAyGtD,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -96,8 +96,8 @@ const PostContentType = Object.freeze({
96
96
 
97
97
  function getVersion() {
98
98
  try {
99
- // the string ''v6.3.1-cjs'' should be replaced by actual value by @rollup/plugin-replace
100
- return 'v6.3.1-cjs';
99
+ // the string ''v6.3.2-cjs'' should be replaced by actual value by @rollup/plugin-replace
100
+ return 'v6.3.2-cjs';
101
101
  }
102
102
  catch (error) {
103
103
  return '__dev__';
@@ -20413,6 +20413,18 @@ var mqtt$1 = {exports: {}};
20413
20413
 
20414
20414
  var mqtt = /*@__PURE__*/getDefaultExportFromCjs(mqtt$1.exports);
20415
20415
 
20416
+ const subscribeGlobalTopic = () => {
20417
+ const disposers = [
20418
+ subscribeTopic(getNetworkTopic()),
20419
+ subscribeTopic(getSmartFeedChannelTopic()),
20420
+ subscribeTopic(getSmartFeedSubChannelTopic()),
20421
+ subscribeTopic(getSmartFeedMessageTopic()),
20422
+ // subscribing to user topic is necessary to handle ban event
20423
+ subscribeTopic(getUserTopic(getActiveUser())),
20424
+ ];
20425
+ return () => disposers.forEach(fn => fn());
20426
+ };
20427
+
20416
20428
  /* eslint-disable no-console */
20417
20429
  const QOS_FAILURE_CODE = 128;
20418
20430
  const RETRY_BASE_TIMEOUT = 1000;
@@ -20420,11 +20432,11 @@ const RETRY_MAX_TIMEOUT = 8000;
20420
20432
  var MqttError;
20421
20433
  (function (MqttError) {
20422
20434
  MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
20423
- MqttError[MqttError["BAD_USERNAME_OR_PASSWORD"] = 134] = "BAD_USERNAME_OR_PASSWORD";
20424
- MqttError[MqttError["NOT_AUTHORIZED"] = 135] = "NOT_AUTHORIZED";
20435
+ MqttError[MqttError["BAD_USERNAME_OR_PASSWORD"] = 4] = "BAD_USERNAME_OR_PASSWORD";
20436
+ MqttError[MqttError["NOT_AUTHORIZED"] = 5] = "NOT_AUTHORIZED";
20425
20437
  })(MqttError || (MqttError = {}));
20426
20438
  function getMqttOptions(params) {
20427
- return Object.assign({ clean: false, clientId: `mqttjs_ + ${Math.random().toString(16).substring(2, 10)}`, protocolId: 'MQTT', protocolVersion: 5, reconnectPeriod: RETRY_BASE_TIMEOUT, will: {
20439
+ return Object.assign({ clean: false, clientId: `mqttjs_ + ${Math.random().toString(16).substring(2, 10)}`, protocolId: 'MQTT', protocolVersion: 4, reconnectPeriod: RETRY_BASE_TIMEOUT, will: {
20428
20440
  topic: 'WillMsg',
20429
20441
  payload: 'Connection Closed abnormally..!',
20430
20442
  qos: 0,
@@ -20450,13 +20462,14 @@ const createMqttTransport = (endpoint) => {
20450
20462
  mqttClient = mqtt.connect(endpoint, getMqttOptions({ username: params.userId, password: params.accessToken }));
20451
20463
  mqttClient.on('connect', () => {
20452
20464
  mqttClient.options.reconnectPeriod = RETRY_BASE_TIMEOUT;
20465
+ subscribeGlobalTopic();
20453
20466
  });
20454
20467
  mqttClient.on('error', (error) => {
20455
20468
  // eslint-disable-next-line default-case
20456
20469
  switch (error.code) {
20457
20470
  case 2 /* MqttError.IDENTIFIER_REJECTED */:
20458
- case 134 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
20459
- case 135 /* MqttError.NOT_AUTHORIZED */:
20471
+ case 4 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
20472
+ case 5 /* MqttError.NOT_AUTHORIZED */:
20460
20473
  mqttClient.end();
20461
20474
  }
20462
20475
  });
@@ -21400,14 +21413,6 @@ const login = async (params, sessionHandler, config) => {
21400
21413
  // pass error down tree so the calling function handle it
21401
21414
  throw error;
21402
21415
  }
21403
- if ((config === null || config === void 0 ? void 0 : config.disableRTE) !== true) {
21404
- subscribeTopic(getNetworkTopic());
21405
- subscribeTopic(getSmartFeedChannelTopic());
21406
- subscribeTopic(getSmartFeedSubChannelTopic());
21407
- subscribeTopic(getSmartFeedMessageTopic());
21408
- // subscribing to user topic is necessary to handle ban event
21409
- subscribeTopic(getUserTopic(getActiveUser()));
21410
- }
21411
21416
  subscriptions.push(
21412
21417
  // GLOBAL_BAN
21413
21418
  onClientBanned((_) => {
@@ -24468,7 +24473,7 @@ queryUsers.locally = (query = {}) => {
24468
24473
  };
24469
24474
 
24470
24475
  /* begin_public_function
24471
- id: user.query
24476
+ id: user.query, user.search
24472
24477
  */
24473
24478
  /**
24474
24479
  * ```js
@@ -24498,8 +24503,13 @@ const getUsers = (params, callback, config) => {
24498
24503
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
24499
24504
  const disposers = [];
24500
24505
  const cacheKey = ['user', 'collection', {}];
24501
- const applyFilter = (data) => {
24502
- let users = filterByPropEquality(data, 'displayName', params.displayName);
24506
+ const responder = (data) => {
24507
+ var _a, _b;
24508
+ let users = (_a = data.data
24509
+ .map(userId => pullFromCache(['user', 'get', userId]))
24510
+ .filter(Boolean)
24511
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
24512
+ users = filterByPropEquality(users, 'displayName', params.displayName);
24503
24513
  switch (params.sortBy) {
24504
24514
  case 'firstCreated':
24505
24515
  users = users.sort(sortByFirstCreated);
@@ -24514,20 +24524,9 @@ const getUsers = (params, callback, config) => {
24514
24524
  // @ts-ignore
24515
24525
  .sort(sortByDisplayName);
24516
24526
  }
24517
- return users;
24518
- };
24519
- const responder = (data, isEventModel = false) => {
24520
- var _a, _b;
24521
- const users = (_a = data.data
24522
- .map(userId => pullFromCache(['user', 'get', userId]))
24523
- .filter(Boolean)
24524
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
24525
24527
  callback({
24526
24528
  onNextPage: onFetch,
24527
- /*
24528
- * Only apply filter to RTE Model
24529
- */
24530
- data: isEventModel ? applyFilter(users) : users,
24529
+ data: users,
24531
24530
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
24532
24531
  loading: data.loading,
24533
24532
  error: data.error,
@@ -24540,7 +24539,7 @@ const getUsers = (params, callback, config) => {
24540
24539
  return;
24541
24540
  collection.data = [...new Set([user.userId, ...collection.data])];
24542
24541
  pushToCache(cacheKey, collection);
24543
- responder(collection, true);
24542
+ responder(collection);
24544
24543
  };
24545
24544
  const onFetch = (initial = false) => {
24546
24545
  var _a, _b, _c;
@@ -24612,31 +24611,6 @@ const observeUser = (userId, callback) => {
24612
24611
  };
24613
24612
  };
24614
24613
 
24615
- /* begin_public_function
24616
- id: user.search
24617
- */
24618
- /**
24619
- * ```js
24620
- * import { UserRepository } from '@amityco/ts-sdk'
24621
- *
24622
- * let users = []
24623
- * const unsub = UserRepository.searchUserByDisplayName({}, response => merge(users, response.data))
24624
- * ```
24625
- *
24626
- * Observe all mutations on a list of {@link Amity.User}s
24627
- *
24628
- * @param params for searching users
24629
- * @param callback the function to call when new data are available
24630
- * @param config the configuration for the live collection
24631
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the users
24632
- *
24633
- * @category Category Live Collection
24634
- */
24635
- const searchUserByDisplayName = (params, callback, config) => {
24636
- return getUsers(Object.assign(Object.assign({}, params), { filter: 'all' }), callback, config);
24637
- };
24638
- /* end_public_function */
24639
-
24640
24614
  var index$g = /*#__PURE__*/Object.freeze({
24641
24615
  __proto__: null,
24642
24616
  Relationship: index$h,
@@ -24653,8 +24627,7 @@ var index$g = /*#__PURE__*/Object.freeze({
24653
24627
  getUser: getUser,
24654
24628
  getUsers: getUsers,
24655
24629
  observeUser: observeUser,
24656
- getBlockedUsers: getBlockedUsers$1,
24657
- searchUserByDisplayName: searchUserByDisplayName
24630
+ getBlockedUsers: getBlockedUsers$1
24658
24631
  });
24659
24632
 
24660
24633
  /* begin_public_function
@@ -27585,8 +27558,13 @@ const getMembers$1 = (params, callback, config) => {
27585
27558
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
27586
27559
  const disposers = [];
27587
27560
  const cacheKey = ['channelUsers', 'collection', { channelId: params.channelId }];
27588
- const applyFilter = (data) => {
27589
- let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
27561
+ const responder = (data) => {
27562
+ var _a, _b;
27563
+ let channelMembers = (_a = data.data
27564
+ .map(id => pullFromCache(['channelUsers', 'get', id]))
27565
+ .filter(Boolean)
27566
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
27567
+ channelMembers = filterByPropIntersection(channelMembers, 'roles', params.roles);
27590
27568
  if (params.memberships) {
27591
27569
  /*
27592
27570
  * even though membership includes muted as a possible value
@@ -27609,20 +27587,9 @@ const getMembers$1 = (params, callback, config) => {
27609
27587
  // sort, 'lastCreated' is the default sort order
27610
27588
  const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
27611
27589
  channelMembers = channelMembers.sort(sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated);
27612
- return channelMembers;
27613
- };
27614
- const responder = (data, isEventModel = false) => {
27615
- var _a, _b;
27616
- const channelMembers = (_a = data.data
27617
- .map(id => pullFromCache(['channelUsers', 'get', id]))
27618
- .filter(Boolean)
27619
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
27620
27590
  callback({
27621
27591
  onNextPage: onFetch,
27622
- /*
27623
- * Only apply filter to RTE Model
27624
- */
27625
- data: isEventModel ? applyFilter(channelMembers) : channelMembers,
27592
+ data: channelMembers,
27626
27593
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
27627
27594
  loading: data.loading,
27628
27595
  error: data.error,
@@ -27647,7 +27614,7 @@ const getMembers$1 = (params, callback, config) => {
27647
27614
  collection.data = [channelMemberCacheId, ...collection.data];
27648
27615
  }
27649
27616
  pushToCache(cacheKey, collection);
27650
- responder(collection, true);
27617
+ responder(collection);
27651
27618
  };
27652
27619
  const onFetch = (initial = false) => {
27653
27620
  var _a, _b, _c;
@@ -28686,7 +28653,7 @@ const getMessages = (params, callback, config) => {
28686
28653
  const limit = queryLimit !== null && queryLimit !== void 0 ? queryLimit : COLLECTION_DEFAULT_PAGINATION_LIMIT;
28687
28654
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
28688
28655
  const disposers = [];
28689
- const cacheKey = ['message', 'collection', params];
28656
+ const cacheKey = ['message', 'collection', { subChannelId: params.subChannelId }];
28690
28657
  const responder = (data) => {
28691
28658
  var _a, _b;
28692
28659
  let messages = (_a = data.data
@@ -30640,8 +30607,13 @@ const getMembers = (params, callback, config) => {
30640
30607
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
30641
30608
  const disposers = [];
30642
30609
  const cacheKey = ['communityUsers', 'collection', { communityId: params.communityId }];
30643
- const applyFilter = (data) => {
30644
- let communityMembers = filterByPropIntersection(data, 'roles', params.roles);
30610
+ const responder = (data) => {
30611
+ var _a, _b;
30612
+ let communityMembers = (_a = data.data
30613
+ .map(id => pullFromCache(['communityUsers', 'get', id]))
30614
+ .filter(Boolean)
30615
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
30616
+ communityMembers = filterByPropIntersection(communityMembers, 'roles', params.roles);
30645
30617
  if (params.membership) {
30646
30618
  communityMembers = communityMembers.filter(({ communityMembership }) =>
30647
30619
  // @ts-ignore
@@ -30652,17 +30624,9 @@ const getMembers = (params, callback, config) => {
30652
30624
  }
30653
30625
  const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
30654
30626
  communityMembers = communityMembers.sort(sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated);
30655
- return communityMembers;
30656
- };
30657
- const responder = (data, isEventModel = false) => {
30658
- var _a, _b;
30659
- const communityMembers = (_a = data.data
30660
- .map(id => pullFromCache(['communityUsers', 'get', id]))
30661
- .filter(Boolean)
30662
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
30663
30627
  callback({
30664
30628
  onNextPage: onFetch,
30665
- data: isEventModel ? applyFilter(communityMembers) : communityMembers,
30629
+ data: communityMembers,
30666
30630
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
30667
30631
  loading: data.loading,
30668
30632
  error: data.error,
@@ -30682,7 +30646,7 @@ const getMembers = (params, callback, config) => {
30682
30646
  });
30683
30647
  collection.data = [...new Set([communityMemberCacheId, ...collection.data])];
30684
30648
  pushToCache(cacheKey, collection);
30685
- responder(collection, true);
30649
+ responder(collection);
30686
30650
  };
30687
30651
  const onFetch = (initial = false) => {
30688
30652
  var _a, _b, _c;
package/dist/index.esm.js CHANGED
@@ -82,8 +82,8 @@ const PostContentType = Object.freeze({
82
82
 
83
83
  function getVersion() {
84
84
  try {
85
- // the string ''v6.3.1-esm'' should be replaced by actual value by @rollup/plugin-replace
86
- return 'v6.3.1-esm';
85
+ // the string ''v6.3.2-esm'' should be replaced by actual value by @rollup/plugin-replace
86
+ return 'v6.3.2-esm';
87
87
  }
88
88
  catch (error) {
89
89
  return '__dev__';
@@ -20399,6 +20399,18 @@ var mqtt$1 = {exports: {}};
20399
20399
 
20400
20400
  var mqtt = /*@__PURE__*/getDefaultExportFromCjs(mqtt$1.exports);
20401
20401
 
20402
+ const subscribeGlobalTopic = () => {
20403
+ const disposers = [
20404
+ subscribeTopic(getNetworkTopic()),
20405
+ subscribeTopic(getSmartFeedChannelTopic()),
20406
+ subscribeTopic(getSmartFeedSubChannelTopic()),
20407
+ subscribeTopic(getSmartFeedMessageTopic()),
20408
+ // subscribing to user topic is necessary to handle ban event
20409
+ subscribeTopic(getUserTopic(getActiveUser())),
20410
+ ];
20411
+ return () => disposers.forEach(fn => fn());
20412
+ };
20413
+
20402
20414
  /* eslint-disable no-console */
20403
20415
  const QOS_FAILURE_CODE = 128;
20404
20416
  const RETRY_BASE_TIMEOUT = 1000;
@@ -20406,11 +20418,11 @@ const RETRY_MAX_TIMEOUT = 8000;
20406
20418
  var MqttError;
20407
20419
  (function (MqttError) {
20408
20420
  MqttError[MqttError["IDENTIFIER_REJECTED"] = 2] = "IDENTIFIER_REJECTED";
20409
- MqttError[MqttError["BAD_USERNAME_OR_PASSWORD"] = 134] = "BAD_USERNAME_OR_PASSWORD";
20410
- MqttError[MqttError["NOT_AUTHORIZED"] = 135] = "NOT_AUTHORIZED";
20421
+ MqttError[MqttError["BAD_USERNAME_OR_PASSWORD"] = 4] = "BAD_USERNAME_OR_PASSWORD";
20422
+ MqttError[MqttError["NOT_AUTHORIZED"] = 5] = "NOT_AUTHORIZED";
20411
20423
  })(MqttError || (MqttError = {}));
20412
20424
  function getMqttOptions(params) {
20413
- return Object.assign({ clean: false, clientId: `mqttjs_ + ${Math.random().toString(16).substring(2, 10)}`, protocolId: 'MQTT', protocolVersion: 5, reconnectPeriod: RETRY_BASE_TIMEOUT, will: {
20425
+ return Object.assign({ clean: false, clientId: `mqttjs_ + ${Math.random().toString(16).substring(2, 10)}`, protocolId: 'MQTT', protocolVersion: 4, reconnectPeriod: RETRY_BASE_TIMEOUT, will: {
20414
20426
  topic: 'WillMsg',
20415
20427
  payload: 'Connection Closed abnormally..!',
20416
20428
  qos: 0,
@@ -20436,13 +20448,14 @@ const createMqttTransport = (endpoint) => {
20436
20448
  mqttClient = mqtt.connect(endpoint, getMqttOptions({ username: params.userId, password: params.accessToken }));
20437
20449
  mqttClient.on('connect', () => {
20438
20450
  mqttClient.options.reconnectPeriod = RETRY_BASE_TIMEOUT;
20451
+ subscribeGlobalTopic();
20439
20452
  });
20440
20453
  mqttClient.on('error', (error) => {
20441
20454
  // eslint-disable-next-line default-case
20442
20455
  switch (error.code) {
20443
20456
  case 2 /* MqttError.IDENTIFIER_REJECTED */:
20444
- case 134 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
20445
- case 135 /* MqttError.NOT_AUTHORIZED */:
20457
+ case 4 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
20458
+ case 5 /* MqttError.NOT_AUTHORIZED */:
20446
20459
  mqttClient.end();
20447
20460
  }
20448
20461
  });
@@ -21386,14 +21399,6 @@ const login = async (params, sessionHandler, config) => {
21386
21399
  // pass error down tree so the calling function handle it
21387
21400
  throw error;
21388
21401
  }
21389
- if ((config === null || config === void 0 ? void 0 : config.disableRTE) !== true) {
21390
- subscribeTopic(getNetworkTopic());
21391
- subscribeTopic(getSmartFeedChannelTopic());
21392
- subscribeTopic(getSmartFeedSubChannelTopic());
21393
- subscribeTopic(getSmartFeedMessageTopic());
21394
- // subscribing to user topic is necessary to handle ban event
21395
- subscribeTopic(getUserTopic(getActiveUser()));
21396
- }
21397
21402
  subscriptions.push(
21398
21403
  // GLOBAL_BAN
21399
21404
  onClientBanned((_) => {
@@ -24454,7 +24459,7 @@ queryUsers.locally = (query = {}) => {
24454
24459
  };
24455
24460
 
24456
24461
  /* begin_public_function
24457
- id: user.query
24462
+ id: user.query, user.search
24458
24463
  */
24459
24464
  /**
24460
24465
  * ```js
@@ -24484,8 +24489,13 @@ const getUsers = (params, callback, config) => {
24484
24489
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
24485
24490
  const disposers = [];
24486
24491
  const cacheKey = ['user', 'collection', {}];
24487
- const applyFilter = (data) => {
24488
- let users = filterByPropEquality(data, 'displayName', params.displayName);
24492
+ const responder = (data) => {
24493
+ var _a, _b;
24494
+ let users = (_a = data.data
24495
+ .map(userId => pullFromCache(['user', 'get', userId]))
24496
+ .filter(Boolean)
24497
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
24498
+ users = filterByPropEquality(users, 'displayName', params.displayName);
24489
24499
  switch (params.sortBy) {
24490
24500
  case 'firstCreated':
24491
24501
  users = users.sort(sortByFirstCreated);
@@ -24500,20 +24510,9 @@ const getUsers = (params, callback, config) => {
24500
24510
  // @ts-ignore
24501
24511
  .sort(sortByDisplayName);
24502
24512
  }
24503
- return users;
24504
- };
24505
- const responder = (data, isEventModel = false) => {
24506
- var _a, _b;
24507
- const users = (_a = data.data
24508
- .map(userId => pullFromCache(['user', 'get', userId]))
24509
- .filter(Boolean)
24510
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
24511
24513
  callback({
24512
24514
  onNextPage: onFetch,
24513
- /*
24514
- * Only apply filter to RTE Model
24515
- */
24516
- data: isEventModel ? applyFilter(users) : users,
24515
+ data: users,
24517
24516
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
24518
24517
  loading: data.loading,
24519
24518
  error: data.error,
@@ -24526,7 +24525,7 @@ const getUsers = (params, callback, config) => {
24526
24525
  return;
24527
24526
  collection.data = [...new Set([user.userId, ...collection.data])];
24528
24527
  pushToCache(cacheKey, collection);
24529
- responder(collection, true);
24528
+ responder(collection);
24530
24529
  };
24531
24530
  const onFetch = (initial = false) => {
24532
24531
  var _a, _b, _c;
@@ -24598,31 +24597,6 @@ const observeUser = (userId, callback) => {
24598
24597
  };
24599
24598
  };
24600
24599
 
24601
- /* begin_public_function
24602
- id: user.search
24603
- */
24604
- /**
24605
- * ```js
24606
- * import { UserRepository } from '@amityco/ts-sdk'
24607
- *
24608
- * let users = []
24609
- * const unsub = UserRepository.searchUserByDisplayName({}, response => merge(users, response.data))
24610
- * ```
24611
- *
24612
- * Observe all mutations on a list of {@link Amity.User}s
24613
- *
24614
- * @param params for searching users
24615
- * @param callback the function to call when new data are available
24616
- * @param config the configuration for the live collection
24617
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the users
24618
- *
24619
- * @category Category Live Collection
24620
- */
24621
- const searchUserByDisplayName = (params, callback, config) => {
24622
- return getUsers(Object.assign(Object.assign({}, params), { filter: 'all' }), callback, config);
24623
- };
24624
- /* end_public_function */
24625
-
24626
24600
  var index$g = /*#__PURE__*/Object.freeze({
24627
24601
  __proto__: null,
24628
24602
  Relationship: index$h,
@@ -24639,8 +24613,7 @@ var index$g = /*#__PURE__*/Object.freeze({
24639
24613
  getUser: getUser,
24640
24614
  getUsers: getUsers,
24641
24615
  observeUser: observeUser,
24642
- getBlockedUsers: getBlockedUsers$1,
24643
- searchUserByDisplayName: searchUserByDisplayName
24616
+ getBlockedUsers: getBlockedUsers$1
24644
24617
  });
24645
24618
 
24646
24619
  /* begin_public_function
@@ -27571,8 +27544,13 @@ const getMembers$1 = (params, callback, config) => {
27571
27544
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
27572
27545
  const disposers = [];
27573
27546
  const cacheKey = ['channelUsers', 'collection', { channelId: params.channelId }];
27574
- const applyFilter = (data) => {
27575
- let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
27547
+ const responder = (data) => {
27548
+ var _a, _b;
27549
+ let channelMembers = (_a = data.data
27550
+ .map(id => pullFromCache(['channelUsers', 'get', id]))
27551
+ .filter(Boolean)
27552
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
27553
+ channelMembers = filterByPropIntersection(channelMembers, 'roles', params.roles);
27576
27554
  if (params.memberships) {
27577
27555
  /*
27578
27556
  * even though membership includes muted as a possible value
@@ -27595,20 +27573,9 @@ const getMembers$1 = (params, callback, config) => {
27595
27573
  // sort, 'lastCreated' is the default sort order
27596
27574
  const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
27597
27575
  channelMembers = channelMembers.sort(sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated);
27598
- return channelMembers;
27599
- };
27600
- const responder = (data, isEventModel = false) => {
27601
- var _a, _b;
27602
- const channelMembers = (_a = data.data
27603
- .map(id => pullFromCache(['channelUsers', 'get', id]))
27604
- .filter(Boolean)
27605
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
27606
27576
  callback({
27607
27577
  onNextPage: onFetch,
27608
- /*
27609
- * Only apply filter to RTE Model
27610
- */
27611
- data: isEventModel ? applyFilter(channelMembers) : channelMembers,
27578
+ data: channelMembers,
27612
27579
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
27613
27580
  loading: data.loading,
27614
27581
  error: data.error,
@@ -27633,7 +27600,7 @@ const getMembers$1 = (params, callback, config) => {
27633
27600
  collection.data = [channelMemberCacheId, ...collection.data];
27634
27601
  }
27635
27602
  pushToCache(cacheKey, collection);
27636
- responder(collection, true);
27603
+ responder(collection);
27637
27604
  };
27638
27605
  const onFetch = (initial = false) => {
27639
27606
  var _a, _b, _c;
@@ -28672,7 +28639,7 @@ const getMessages = (params, callback, config) => {
28672
28639
  const limit = queryLimit !== null && queryLimit !== void 0 ? queryLimit : COLLECTION_DEFAULT_PAGINATION_LIMIT;
28673
28640
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
28674
28641
  const disposers = [];
28675
- const cacheKey = ['message', 'collection', params];
28642
+ const cacheKey = ['message', 'collection', { subChannelId: params.subChannelId }];
28676
28643
  const responder = (data) => {
28677
28644
  var _a, _b;
28678
28645
  let messages = (_a = data.data
@@ -30626,8 +30593,13 @@ const getMembers = (params, callback, config) => {
30626
30593
  const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
30627
30594
  const disposers = [];
30628
30595
  const cacheKey = ['communityUsers', 'collection', { communityId: params.communityId }];
30629
- const applyFilter = (data) => {
30630
- let communityMembers = filterByPropIntersection(data, 'roles', params.roles);
30596
+ const responder = (data) => {
30597
+ var _a, _b;
30598
+ let communityMembers = (_a = data.data
30599
+ .map(id => pullFromCache(['communityUsers', 'get', id]))
30600
+ .filter(Boolean)
30601
+ .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
30602
+ communityMembers = filterByPropIntersection(communityMembers, 'roles', params.roles);
30631
30603
  if (params.membership) {
30632
30604
  communityMembers = communityMembers.filter(({ communityMembership }) =>
30633
30605
  // @ts-ignore
@@ -30638,17 +30610,9 @@ const getMembers = (params, callback, config) => {
30638
30610
  }
30639
30611
  const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
30640
30612
  communityMembers = communityMembers.sort(sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated);
30641
- return communityMembers;
30642
- };
30643
- const responder = (data, isEventModel = false) => {
30644
- var _a, _b;
30645
- const communityMembers = (_a = data.data
30646
- .map(id => pullFromCache(['communityUsers', 'get', id]))
30647
- .filter(Boolean)
30648
- .map(({ data }) => data)) !== null && _a !== void 0 ? _a : [];
30649
30613
  callback({
30650
30614
  onNextPage: onFetch,
30651
- data: isEventModel ? applyFilter(communityMembers) : communityMembers,
30615
+ data: communityMembers,
30652
30616
  hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
30653
30617
  loading: data.loading,
30654
30618
  error: data.error,
@@ -30668,7 +30632,7 @@ const getMembers = (params, callback, config) => {
30668
30632
  });
30669
30633
  collection.data = [...new Set([communityMemberCacheId, ...collection.data])];
30670
30634
  pushToCache(cacheKey, collection);
30671
- responder(collection, true);
30635
+ responder(collection);
30672
30636
  };
30673
30637
  const onFetch = (initial = false) => {
30674
30638
  var _a, _b, _c;