@amityco/ts-sdk-react-native 6.27.1-f6a08a6.0 → 6.28.1-09c5133.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.
Files changed (49) hide show
  1. package/dist/@types/domains/file.d.ts +6 -0
  2. package/dist/@types/domains/file.d.ts.map +1 -1
  3. package/dist/@types/domains/post.d.ts +3 -3
  4. package/dist/@types/domains/post.d.ts.map +1 -1
  5. package/dist/client/api/getToken.d.ts +10 -5
  6. package/dist/client/api/getToken.d.ts.map +1 -1
  7. package/dist/client/api/index.d.ts +1 -0
  8. package/dist/client/api/index.d.ts.map +1 -1
  9. package/dist/client/api/login.d.ts.map +1 -1
  10. package/dist/client/api/logout.d.ts.map +1 -1
  11. package/dist/client/api/renewal.d.ts.map +1 -1
  12. package/dist/client/api/setUploadedFileAccessType.d.ts +2 -0
  13. package/dist/client/api/setUploadedFileAccessType.d.ts.map +1 -0
  14. package/dist/client/utils/GlobalFileAccessType.d.ts +10 -0
  15. package/dist/client/utils/GlobalFileAccessType.d.ts.map +1 -0
  16. package/dist/fileRepository/api/createFile.d.ts.map +1 -1
  17. package/dist/fileRepository/api/createImage.d.ts.map +1 -1
  18. package/dist/fileRepository/api/createVideo.d.ts.map +1 -1
  19. package/dist/fileRepository/api/uploadFile.d.ts.map +1 -1
  20. package/dist/fileRepository/api/uploadImage.d.ts.map +1 -1
  21. package/dist/fileRepository/api/uploadVideo.d.ts.map +1 -1
  22. package/dist/index.cjs.js +106 -75
  23. package/dist/index.esm.js +109 -76
  24. package/dist/index.umd.js +3 -3
  25. package/dist/postRepository/api/editPost.d.ts +1 -1
  26. package/dist/postRepository/api/editPost.d.ts.map +1 -1
  27. package/dist/postRepository/api/updatePost.d.ts +1 -1
  28. package/dist/postRepository/api/updatePost.d.ts.map +1 -1
  29. package/dist/utils/linkedObject/categoryLinkedObject.d.ts.map +1 -1
  30. package/dist/utils/linkedObject/userLinkedObject.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/@types/domains/file.ts +8 -0
  33. package/src/@types/domains/post.ts +3 -4
  34. package/src/client/api/getToken.ts +15 -7
  35. package/src/client/api/index.ts +1 -0
  36. package/src/client/api/login.ts +11 -7
  37. package/src/client/api/logout.ts +4 -0
  38. package/src/client/api/renewal.ts +6 -1
  39. package/src/client/api/setUploadedFileAccessType.ts +5 -0
  40. package/src/client/api/tests/getToken.test.ts +3 -3
  41. package/src/client/utils/GlobalFileAccessType.ts +23 -0
  42. package/src/fileRepository/api/createFile.ts +4 -0
  43. package/src/fileRepository/api/createImage.ts +4 -0
  44. package/src/fileRepository/api/createVideo.ts +4 -0
  45. package/src/fileRepository/api/uploadFile.ts +4 -0
  46. package/src/fileRepository/api/uploadImage.ts +4 -0
  47. package/src/fileRepository/api/uploadVideo.ts +4 -0
  48. package/src/utils/linkedObject/categoryLinkedObject.ts +6 -28
  49. package/src/utils/linkedObject/userLinkedObject.ts +8 -27
package/dist/index.esm.js CHANGED
@@ -34,7 +34,12 @@ const VideoSize = Object.freeze({
34
34
  MEDIUM: 'medium',
35
35
  HIGH: 'high',
36
36
  ORIGINAL: 'original',
37
- });
37
+ });
38
+ var FileAccessTypeEnum;
39
+ (function (FileAccessTypeEnum) {
40
+ FileAccessTypeEnum["PUBLIC"] = "public";
41
+ FileAccessTypeEnum["NETWORK"] = "network";
42
+ })(FileAccessTypeEnum || (FileAccessTypeEnum = {}));
38
43
 
39
44
  const CommunityPostSettings = Object.freeze({
40
45
  ONLY_ADMIN_CAN_POST: 'ONLY_ADMIN_CAN_POST',
@@ -85,8 +90,8 @@ const PostContentType = Object.freeze({
85
90
 
86
91
  function getVersion() {
87
92
  try {
88
- // the string ''v6.27.0-esm'' should be replaced by actual value by @rollup/plugin-replace
89
- return 'v6.27.0-esm';
93
+ // the string ''v6.28.0-esm'' should be replaced by actual value by @rollup/plugin-replace
94
+ return 'v6.28.0-esm';
90
95
  }
91
96
  catch (error) {
92
97
  return '__dev__';
@@ -20765,6 +20770,19 @@ function __rest(s, e) {
20765
20770
  t[p[i]] = s[p[i]];
20766
20771
  }
20767
20772
  return t;
20773
+ }
20774
+
20775
+ function __classPrivateFieldGet(receiver, state, kind, f) {
20776
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
20777
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20778
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20779
+ }
20780
+
20781
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
20782
+ if (kind === "m") throw new TypeError("Private method is not writable");
20783
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
20784
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
20785
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20768
20786
  }
20769
20787
 
20770
20788
  /**
@@ -21169,13 +21187,13 @@ class AnalyticsEngine {
21169
21187
  this._eventCapturer.resetAllBuckets();
21170
21188
  }
21171
21189
  }
21172
- let instance$3;
21190
+ let instance$4;
21173
21191
  var AnalyticsEngine$1 = {
21174
21192
  getInstance: () => {
21175
- if (!instance$3) {
21176
- instance$3 = new AnalyticsEngine();
21193
+ if (!instance$4) {
21194
+ instance$4 = new AnalyticsEngine();
21177
21195
  }
21178
- return instance$3;
21196
+ return instance$4;
21179
21197
  },
21180
21198
  };
21181
21199
 
@@ -21183,30 +21201,12 @@ const userLinkedObject = (user) => {
21183
21201
  return Object.assign(Object.assign({}, user), { get avatar() {
21184
21202
  var _a;
21185
21203
  if (!user.avatarFileId)
21186
- return null;
21187
- let avatar = {
21188
- fileId: ((_a = user.avatarFileId) === null || _a === void 0 ? void 0 : _a.toString()) ? user.avatarFileId.toString() : '',
21189
- type: 'image',
21190
- fileUrl: '',
21191
- createdAt: '',
21192
- attributes: {
21193
- name: '',
21194
- extension: '',
21195
- size: '',
21196
- mimeType: '',
21197
- metadata: {
21198
- exif: {},
21199
- gps: {},
21200
- width: 0,
21201
- height: 0,
21202
- isFull: false,
21203
- },
21204
- },
21205
- };
21206
- const cacheData = pullFromCache(['file', 'get', `${user.avatarFileId}`]);
21207
- if (cacheData === null || cacheData === void 0 ? void 0 : cacheData.data) {
21208
- avatar = cacheData === null || cacheData === void 0 ? void 0 : cacheData.data;
21209
- }
21204
+ return undefined;
21205
+ const avatar = (_a = pullFromCache([
21206
+ 'file',
21207
+ 'get',
21208
+ `${user.avatarFileId}`,
21209
+ ])) === null || _a === void 0 ? void 0 : _a.data;
21210
21210
  return avatar;
21211
21211
  } });
21212
21212
  };
@@ -21421,34 +21421,12 @@ const categoryLinkedObject = (category) => {
21421
21421
  return Object.assign(Object.assign({}, category), { get avatar() {
21422
21422
  var _a;
21423
21423
  if (!category.avatarFileId)
21424
- return null;
21425
- let avatar = {
21426
- fileId: ((_a = category.avatarFileId) === null || _a === void 0 ? void 0 : _a.toString()) ? category.avatarFileId.toString() : '',
21427
- type: 'image',
21428
- fileUrl: '',
21429
- createdAt: '',
21430
- attributes: {
21431
- name: '',
21432
- extension: '',
21433
- size: '',
21434
- mimeType: '',
21435
- metadata: {
21436
- exif: {},
21437
- gps: {},
21438
- width: 0,
21439
- height: 0,
21440
- isFull: false,
21441
- },
21442
- },
21443
- };
21444
- const cacheData = pullFromCache([
21424
+ return undefined;
21425
+ const avatar = (_a = pullFromCache([
21445
21426
  'file',
21446
21427
  'get',
21447
21428
  `${category.avatarFileId}`,
21448
- ]);
21449
- if (cacheData === null || cacheData === void 0 ? void 0 : cacheData.data) {
21450
- avatar = cacheData === null || cacheData === void 0 ? void 0 : cacheData.data;
21451
- }
21429
+ ])) === null || _a === void 0 ? void 0 : _a.data;
21452
21430
  return avatar;
21453
21431
  } });
21454
21432
  };
@@ -21806,12 +21784,12 @@ class MessageReadReceiptSyncEngine {
21806
21784
  }
21807
21785
  }
21808
21786
  }
21809
- let instance$2 = null;
21787
+ let instance$3 = null;
21810
21788
  var ReadReceiptSyncEngine = {
21811
21789
  getInstance: () => {
21812
- if (!instance$2)
21813
- instance$2 = new MessageReadReceiptSyncEngine();
21814
- return instance$2;
21790
+ if (!instance$3)
21791
+ instance$3 = new MessageReadReceiptSyncEngine();
21792
+ return instance$3;
21815
21793
  },
21816
21794
  };
21817
21795
 
@@ -22921,13 +22899,13 @@ class SessionWatcher {
22921
22899
  this._listener.clear();
22922
22900
  }
22923
22901
  }
22924
- let instance$1;
22902
+ let instance$2;
22925
22903
  var SessionWatcher$1 = {
22926
22904
  getInstance: () => {
22927
- if (!instance$1) {
22928
- instance$1 = new SessionWatcher();
22905
+ if (!instance$2) {
22906
+ instance$2 = new SessionWatcher();
22929
22907
  }
22930
- return instance$1;
22908
+ return instance$2;
22931
22909
  },
22932
22910
  };
22933
22911
 
@@ -23654,13 +23632,15 @@ const setSessionState = (state) => {
23654
23632
  * @category Client API
23655
23633
  * @hidden
23656
23634
  */
23657
- const getToken = async (params) => {
23635
+ const getToken = async ({ params, options, }) => {
23658
23636
  const client = getActiveClient();
23659
23637
  client.log('client/api/getToken', params);
23660
23638
  const deviceInfo = getDeviceInfo();
23661
23639
  const { data } = await client.http.post('/api/v5/sessions', Object.assign(Object.assign({}, params), { deviceInfo }), {
23662
- // @ts-ignore
23663
- headers: { 'X-API-Key': client.apiKey },
23640
+ headers: {
23641
+ 'X-API-Key': client.apiKey,
23642
+ 'set-access-token-cookie': (options === null || options === void 0 ? void 0 : options.setAccessTokenCookie) || false,
23643
+ },
23664
23644
  });
23665
23645
  return data;
23666
23646
  };
@@ -23987,12 +23967,12 @@ class ObjectResolverEngine {
23987
23967
  this.stopResolver();
23988
23968
  }
23989
23969
  }
23990
- let instance = null;
23970
+ let instance$1 = null;
23991
23971
  var ObjectResolverEngine$1 = {
23992
23972
  getInstance: () => {
23993
- if (!instance)
23994
- instance = new ObjectResolverEngine();
23995
- return instance;
23973
+ if (!instance$1)
23974
+ instance$1 = new ObjectResolverEngine();
23975
+ return instance$1;
23996
23976
  },
23997
23977
  };
23998
23978
 
@@ -24067,6 +24047,9 @@ const logout = async () => {
24067
24047
  isUserDeleted: false,
24068
24048
  };
24069
24049
  client.ws.io.opts.query = { token: '' };
24050
+ if (typeof document !== 'undefined') {
24051
+ document.cookie = '_ascSession=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
24052
+ }
24070
24053
  /*
24071
24054
  * Cache should be usable if tokenExpired
24072
24055
  * https://ekoapp.atlassian.net/wiki/spaces/UP/pages/2082537485/ASC+Core+-+Session+Management+3.0#SDK-usability-based-on-Session-State
@@ -25016,7 +24999,12 @@ const login = async (params, sessionHandler, config) => {
25016
24999
  // default values
25017
25000
  const defaultDeviceId = await getDeviceId();
25018
25001
  try {
25019
- const { users } = await setClientToken(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 }));
25002
+ const { users } = await setClientToken({
25003
+ 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 }),
25004
+ options: {
25005
+ setAccessTokenCookie: true,
25006
+ },
25007
+ });
25020
25008
  const user = users.find(u => u.userId === params.userId);
25021
25009
  if (user == null) {
25022
25010
  throw new ASCError(`${params.userId} has not been founded`, 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "error" /* Amity.ErrorLevel.ERROR */);
@@ -25047,7 +25035,7 @@ const login = async (params, sessionHandler, config) => {
25047
25035
  * if getting token failed session state reverts to initial state when app
25048
25036
  * is first launched
25049
25037
  */
25050
- setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
25038
+ SessionWatcher$1.getInstance().setSessionState("notLoggedIn" /* Amity.SessionStates.NOT_LOGGED_IN */);
25051
25039
  // pass error down tree so the calling function handle it
25052
25040
  throw error;
25053
25041
  }
@@ -25073,7 +25061,7 @@ const login = async (params, sessionHandler, config) => {
25073
25061
  unsubWatcher();
25074
25062
  }
25075
25063
  }), onTokenExpired(state => {
25076
- setSessionState(state);
25064
+ SessionWatcher$1.getInstance().setSessionState(state);
25077
25065
  logout();
25078
25066
  subscriptions.forEach(fn => fn());
25079
25067
  }),
@@ -25118,7 +25106,12 @@ const renewal = () => {
25118
25106
  }
25119
25107
  else {
25120
25108
  // about to expire
25121
- await setClientToken(params);
25109
+ await setClientToken({
25110
+ params,
25111
+ options: {
25112
+ setAccessTokenCookie: true,
25113
+ },
25114
+ });
25122
25115
  }
25123
25116
  tokenRenewed = true;
25124
25117
  if (renewTimeoutId)
@@ -25380,6 +25373,33 @@ const unregisterPushNotification = async () => {
25380
25373
  return status === 'success';
25381
25374
  };
25382
25375
 
25376
+ var _GlobalFileAccessType_fileAccessType;
25377
+ class GlobalFileAccessType {
25378
+ constructor() {
25379
+ _GlobalFileAccessType_fileAccessType.set(this, FileAccessTypeEnum.PUBLIC);
25380
+ }
25381
+ setFileAccessType(fileAccessType) {
25382
+ __classPrivateFieldSet(this, _GlobalFileAccessType_fileAccessType, fileAccessType, "f");
25383
+ }
25384
+ getFileAccessType() {
25385
+ return __classPrivateFieldGet(this, _GlobalFileAccessType_fileAccessType, "f");
25386
+ }
25387
+ }
25388
+ _GlobalFileAccessType_fileAccessType = new WeakMap();
25389
+ let instance;
25390
+ var GlobalFileAccessType$1 = {
25391
+ getInstance: () => {
25392
+ if (!instance) {
25393
+ instance = new GlobalFileAccessType();
25394
+ }
25395
+ return instance;
25396
+ },
25397
+ };
25398
+
25399
+ function setUploadedFileAccessType(accessType) {
25400
+ GlobalFileAccessType$1.getInstance().setFileAccessType(accessType);
25401
+ }
25402
+
25383
25403
  /**
25384
25404
  * ```js
25385
25405
  * import { onChannelMarkerFetched } from '@amityco/ts-sdk-react-native'
@@ -25912,6 +25932,7 @@ var index$l = /*#__PURE__*/Object.freeze({
25912
25932
  enableUnreadCount: enableUnreadCount,
25913
25933
  registerPushNotification: registerPushNotification,
25914
25934
  unregisterPushNotification: unregisterPushNotification,
25935
+ setUploadedFileAccessType: setUploadedFileAccessType,
25915
25936
  onConnectionError: onConnectionError,
25916
25937
  onClientDisconnected: onClientDisconnected,
25917
25938
  onClientBanned: onClientBanned,
@@ -28064,6 +28085,8 @@ const uploadFile = async (formData, onProgress) => {
28064
28085
  const files = formData.getAll('files');
28065
28086
  if (!files.length)
28066
28087
  throw new Error('The formData object must have a `files` key.');
28088
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28089
+ formData.append('accessType', accessType);
28067
28090
  formData.append('preferredFilename', files[0].name);
28068
28091
  const headers = 'getHeaders' in formData
28069
28092
  ? formData.getHeaders()
@@ -28149,6 +28172,8 @@ const uploadVideo = async (formData, feedType, onProgress) => {
28149
28172
  const files = formData.getAll('files');
28150
28173
  if (!files.length)
28151
28174
  throw new Error('The formData object must have a `files` key.');
28175
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28176
+ formData.append('accessType', accessType);
28152
28177
  formData.append('preferredFilename', files[0].name);
28153
28178
  if (feedType) {
28154
28179
  formData.append('feedType', feedType);
@@ -28198,6 +28223,8 @@ const uploadImage = async (formData, onProgress) => {
28198
28223
  const files = formData.getAll('files');
28199
28224
  if (!files.length)
28200
28225
  throw new Error('The formData object must have a `files` key.');
28226
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28227
+ formData.append('accessType', accessType);
28201
28228
  formData.append('preferredFilename', files[0].name);
28202
28229
  const headers = 'getHeaders' in formData
28203
28230
  ? formData.getHeaders()
@@ -28241,6 +28268,8 @@ const createImage = async (formData, onProgress) => {
28241
28268
  const files = formData.getAll('files');
28242
28269
  if (!files.length)
28243
28270
  throw new Error('The formData object must have a `files` key.');
28271
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28272
+ formData.append('accessType', accessType);
28244
28273
  formData.append('preferredFilename', files[0].name);
28245
28274
  const headers = 'getHeaders' in formData
28246
28275
  ? formData.getHeaders()
@@ -28284,6 +28313,8 @@ const createFile = async (formData, onProgress) => {
28284
28313
  const files = formData.getAll('files');
28285
28314
  if (!files.length)
28286
28315
  throw new Error('The formData object must have a `files` key.');
28316
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28317
+ formData.append('accessType', accessType);
28287
28318
  formData.append('preferredFilename', files[0].name);
28288
28319
  const headers = 'getHeaders' in formData
28289
28320
  ? formData.getHeaders()
@@ -28327,6 +28358,8 @@ const createVideo = async (formData, feedType, onProgress) => {
28327
28358
  const files = formData.getAll('files');
28328
28359
  if (!files.length)
28329
28360
  throw new Error('The formData object must have a `files` key.');
28361
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
28362
+ formData.append('accessType', accessType);
28330
28363
  formData.append('preferredFilename', files[0].name);
28331
28364
  if (feedType) {
28332
28365
  formData.append('feedType', feedType);
@@ -40758,4 +40791,4 @@ const createUserToken = async (apiKey, apiRegion, params) => {
40758
40791
  return { accessToken: data.accessToken };
40759
40792
  };
40760
40793
 
40761
- export { API_REGIONS, index as AdRepository, index$8 as CategoryRepository, index$c as ChannelRepository, index$l as Client, index$6 as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$9 as CommunityRepository, ContentFeedType, DefaultCommunityPostSetting, index$7 as FeedRepository, index$i as FileRepository, FileType, index$2 as LiveStreamPlayer, MessageContentType, index$g as MessageRepository, index$3 as PollRepository, PostContentType, index$5 as PostRepository, index$h as ReactionRepository, index$1 as StoryRepository, index$4 as StreamRepository, index$f as SubChannelRepository, SubscriptionLevels, index$j as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
40794
+ export { API_REGIONS, index as AdRepository, index$8 as CategoryRepository, index$c as ChannelRepository, index$l as Client, index$6 as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$9 as CommunityRepository, ContentFeedType, DefaultCommunityPostSetting, index$7 as FeedRepository, FileAccessTypeEnum, index$i as FileRepository, FileType, index$2 as LiveStreamPlayer, MessageContentType, index$g as MessageRepository, index$3 as PollRepository, PostContentType, index$5 as PostRepository, index$h as ReactionRepository, index$1 as StoryRepository, index$4 as StreamRepository, index$f as SubChannelRepository, SubscriptionLevels, index$j as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };