@amityco/ts-sdk-react-native 6.32.2 → 6.32.3-89ca939.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/.env +26 -26
- package/dist/@types/core/events.d.ts +1 -1
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +1 -1
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +1 -1
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +1 -0
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
- package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
- package/dist/channelRepository/api/updateChannel.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts +2 -2
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelCreated.d.ts +1 -1
- package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -1
- package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelFetched.d.ts +1 -1
- package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelJoined.d.ts +1 -1
- package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelLeft.d.ts +1 -1
- package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelResolved.d.ts +1 -1
- package/dist/channelRepository/events/onChannelResolved.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelUpdated.d.ts +1 -1
- package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
- package/dist/channelRepository/events/onUserDeleted.d.ts +1 -1
- package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +2 -2
- package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
- package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -1
- package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts +2 -0
- package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -0
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -1
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
- package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +1 -1
- package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -1
- package/dist/client/utils/removeChannelMarkerCache.d.ts +1 -1
- package/dist/client/utils/removeChannelMarkerCache.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/events/utils.d.ts.map +1 -1
- package/dist/communityRepository/utils/communityWithMembership.d.ts.map +1 -1
- package/dist/index.cjs.js +157 -134
- package/dist/index.esm.js +157 -134
- package/dist/index.umd.js +3 -3
- package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
- package/dist/marker/utils/reCalculateChannelUnreadInfo.d.ts.map +1 -1
- package/dist/marker/utils/updateSubChannelUnreadFromMessage.d.ts.map +1 -1
- package/dist/messageRepository/events/onMessageCreated.d.ts.map +1 -1
- package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/dist/utils/shallowClone.d.ts +1 -1
- package/dist/utils/shallowClone.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/@types/core/events.ts +1 -1
- package/src/@types/core/model.ts +1 -1
- package/src/@types/core/payload.ts +1 -1
- package/src/@types/domains/channel.ts +5 -0
- package/src/channelRepository/api/createChannel.ts +2 -1
- package/src/channelRepository/api/getChannel.ts +4 -3
- package/src/channelRepository/api/getChannelByIds.ts +2 -1
- package/src/channelRepository/api/updateChannel.ts +2 -1
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.ts +2 -2
- package/src/channelRepository/events/onChannelCreated.ts +2 -2
- package/src/channelRepository/events/onChannelDeleted.ts +2 -2
- package/src/channelRepository/events/onChannelFetched.ts +3 -3
- package/src/channelRepository/events/onChannelJoined.ts +5 -2
- package/src/channelRepository/events/onChannelLeft.ts +5 -2
- package/src/channelRepository/events/onChannelMemberAdded.ts +5 -2
- package/src/channelRepository/events/onChannelMemberBanned.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRemoved.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRoleAdded.ts +5 -2
- package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +5 -2
- package/src/channelRepository/events/onChannelMemberUnbanned.ts +5 -2
- package/src/channelRepository/events/onChannelMuted.ts +3 -2
- package/src/channelRepository/events/onChannelResolved.ts +2 -2
- package/src/channelRepository/events/onChannelUpdated.ts +2 -2
- package/src/channelRepository/events/onUserDeleted.ts +8 -2
- package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -7
- package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +2 -2
- package/src/channelRepository/observers/observeChannel.ts +5 -4
- package/src/channelRepository/observers/observeChannels.ts +6 -4
- package/src/channelRepository/utils/constructChannelDynamicValue.ts +22 -0
- package/src/channelRepository/utils/prepareChannelPayload.ts +1 -13
- package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +2 -2
- package/src/channelRepository/utils/updateChannelCache.ts +1 -1
- package/src/client/utils/removeChannelMarkerCache.ts +1 -1
- package/src/communityRepository/communityMembership/events/utils.ts +4 -2
- package/src/communityRepository/utils/communityWithMembership.ts +15 -8
- package/src/marker/events/onMessageMarked.ts +0 -2
- package/src/marker/utils/reCalculateChannelUnreadInfo.ts +6 -0
- package/src/marker/utils/updateSubChannelUnreadFromMessage.ts +10 -0
- package/src/messageRepository/events/onMessageCreated.ts +2 -0
- package/src/subChannelRepository/utils/updateSubChannelCache.ts +1 -1
- package/src/utils/linkedObject/channelLinkedObject.ts +3 -3
- package/src/utils/shallowClone.ts +8 -5
package/dist/index.cjs.js
CHANGED
|
@@ -123,8 +123,8 @@ const PostContentType = Object.freeze({
|
|
|
123
123
|
|
|
124
124
|
function getVersion() {
|
|
125
125
|
try {
|
|
126
|
-
// the string ''v6.32.
|
|
127
|
-
return 'v6.32.
|
|
126
|
+
// the string ''v6.32.3-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
127
|
+
return 'v6.32.3-cjs';
|
|
128
128
|
}
|
|
129
129
|
catch (error) {
|
|
130
130
|
return '__dev__';
|
|
@@ -5647,6 +5647,7 @@ const reCalculateChannelUnreadInfo = (channelId) => {
|
|
|
5647
5647
|
var _a;
|
|
5648
5648
|
const cacheKeyChannelUnread = ['channelUnreadInfo', 'get', channelId];
|
|
5649
5649
|
const cacheChannelUnreadInfo = (_a = pullFromCache(cacheKeyChannelUnread)) === null || _a === void 0 ? void 0 : _a.data;
|
|
5650
|
+
console.log('[reCalculateChannelUnreadInfo] cacheChannelUnreadInfo => ', cacheChannelUnreadInfo);
|
|
5650
5651
|
const cacheKeySubChannelUnread = ['subChannelUnreadInfo', 'get'];
|
|
5651
5652
|
const cachedSubChannelUnreadInfo = queryCache(cacheKeySubChannelUnread);
|
|
5652
5653
|
let channelUnreads = 0;
|
|
@@ -5655,9 +5656,11 @@ const reCalculateChannelUnreadInfo = (channelId) => {
|
|
|
5655
5656
|
const subChannelUnreadsInfo = cachedSubChannelUnreadInfo === null || cachedSubChannelUnreadInfo === void 0 ? void 0 : cachedSubChannelUnreadInfo.filter(({ data }) => {
|
|
5656
5657
|
return data.channelId === channelId && !data.isDeleted;
|
|
5657
5658
|
});
|
|
5659
|
+
console.log('[reCalculateChannelUnreadInfo] subChannelUnreadsInfo => ', subChannelUnreadsInfo);
|
|
5658
5660
|
channelUnreads = subChannelUnreadsInfo
|
|
5659
5661
|
.map(({ data }) => data.unreadCount)
|
|
5660
5662
|
.reduce((acc, cur) => acc + cur, 0);
|
|
5663
|
+
console.log('[reCalculateChannelUnreadInfo] channelUnreads => ', channelUnreads);
|
|
5661
5664
|
isMentioned = subChannelUnreadsInfo.some(({ data }) => data.isMentioned);
|
|
5662
5665
|
}
|
|
5663
5666
|
const channelUnreadInfo = Object.assign(Object.assign({}, (cacheChannelUnreadInfo !== null && cacheChannelUnreadInfo !== void 0 ? cacheChannelUnreadInfo : {
|
|
@@ -5943,8 +5946,28 @@ const markAsRead = async (channelId) => {
|
|
|
5943
5946
|
return true;
|
|
5944
5947
|
};
|
|
5945
5948
|
|
|
5949
|
+
/**
|
|
5950
|
+
* ```js
|
|
5951
|
+
* import { shallowClone } from '~/utils/shallowClone'
|
|
5952
|
+
* const newObj = shallowClone(obj)
|
|
5953
|
+
* ```
|
|
5954
|
+
*
|
|
5955
|
+
* Clone an object with same prototype and properties
|
|
5956
|
+
*
|
|
5957
|
+
* @param obj the object to clone
|
|
5958
|
+
* @returns new object with same prototype and properties
|
|
5959
|
+
*
|
|
5960
|
+
* @category utility
|
|
5961
|
+
* @private
|
|
5962
|
+
*/
|
|
5963
|
+
function shallowClone(source, target) {
|
|
5964
|
+
return Object.create(Object.getPrototypeOf(source), Object.assign(Object.assign({}, Object.getOwnPropertyDescriptors(source)), Object.getOwnPropertyDescriptors(target)));
|
|
5965
|
+
}
|
|
5966
|
+
|
|
5946
5967
|
const channelLinkedObject = (channel) => {
|
|
5947
|
-
return
|
|
5968
|
+
return shallowClone(channel, {
|
|
5969
|
+
markAsRead: () => markAsRead(channel.channelInternalId),
|
|
5970
|
+
});
|
|
5948
5971
|
};
|
|
5949
5972
|
|
|
5950
5973
|
const adLinkedObject = (ad) => {
|
|
@@ -6115,31 +6138,10 @@ const updateSubChannelMessagePreviewCache = (rawPayload) => {
|
|
|
6115
6138
|
ingestInCache(newData);
|
|
6116
6139
|
};
|
|
6117
6140
|
|
|
6118
|
-
/**
|
|
6119
|
-
* ```js
|
|
6120
|
-
* import { shallowClone } from '~/utils/shallowClone'
|
|
6121
|
-
* const newObj = shallowClone(obj)
|
|
6122
|
-
* ```
|
|
6123
|
-
*
|
|
6124
|
-
* Clone an object with same prototype and properties
|
|
6125
|
-
*
|
|
6126
|
-
* @param obj the object to clone
|
|
6127
|
-
* @returns new object with same prototype and properties
|
|
6128
|
-
*
|
|
6129
|
-
* @category utility
|
|
6130
|
-
* @private
|
|
6131
|
-
*/
|
|
6132
|
-
function shallowClone(obj) {
|
|
6133
|
-
const clone = Object.create(Object.getPrototypeOf(obj));
|
|
6134
|
-
const descriptors = Object.getOwnPropertyDescriptors(obj);
|
|
6135
|
-
Object.defineProperties(clone, descriptors);
|
|
6136
|
-
return clone;
|
|
6137
|
-
}
|
|
6138
|
-
|
|
6139
6141
|
function updateSubChannelCache(subChannelId, subChannel, params) {
|
|
6140
6142
|
pushToCache(['subChannel', 'get', subChannelId],
|
|
6141
6143
|
// eslint-disable-next-line prefer-object-spread
|
|
6142
|
-
|
|
6144
|
+
shallowClone(subChannel, params));
|
|
6143
6145
|
}
|
|
6144
6146
|
|
|
6145
6147
|
const handleMessageCreated = async (message) => {
|
|
@@ -6318,81 +6320,6 @@ const handleSubChannelUpdated = async (subChannel) => {
|
|
|
6318
6320
|
}
|
|
6319
6321
|
};
|
|
6320
6322
|
|
|
6321
|
-
const getCachedMarker$1 = (entityId) => {
|
|
6322
|
-
var _a;
|
|
6323
|
-
const key = {
|
|
6324
|
-
entityId,
|
|
6325
|
-
userId: getActiveUser()._id,
|
|
6326
|
-
};
|
|
6327
|
-
return (_a = pullFromCache([
|
|
6328
|
-
'channelMarker',
|
|
6329
|
-
'get',
|
|
6330
|
-
getResolver('channelMarker')(key),
|
|
6331
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6332
|
-
};
|
|
6333
|
-
const getUnreadInfoCached$1 = (channelId) => {
|
|
6334
|
-
var _a;
|
|
6335
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6336
|
-
};
|
|
6337
|
-
/**
|
|
6338
|
-
* The function use to get value of unreadCount field.
|
|
6339
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
6340
|
-
*
|
|
6341
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
6342
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
6343
|
-
* If not found in the both cache, use `0` as defaul value.
|
|
6344
|
-
*/
|
|
6345
|
-
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
6346
|
-
var _a, _b, _c, _d, _e;
|
|
6347
|
-
const client = getActiveClient();
|
|
6348
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
6349
|
-
// Marker service API uses channelInternalId as channelId
|
|
6350
|
-
return (_b = (_a = getUnreadInfoCached$1(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
6351
|
-
}
|
|
6352
|
-
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
6353
|
-
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
6354
|
-
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
6355
|
-
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
6356
|
-
return 0;
|
|
6357
|
-
}
|
|
6358
|
-
return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker$1(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
|
|
6359
|
-
};
|
|
6360
|
-
|
|
6361
|
-
const getCachedMarker = (entityId) => {
|
|
6362
|
-
var _a;
|
|
6363
|
-
const key = {
|
|
6364
|
-
entityId,
|
|
6365
|
-
userId: getActiveUser()._id,
|
|
6366
|
-
};
|
|
6367
|
-
return (_a = pullFromCache([
|
|
6368
|
-
'channelMarker',
|
|
6369
|
-
'get',
|
|
6370
|
-
getResolver('channelMarker')(key),
|
|
6371
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6372
|
-
};
|
|
6373
|
-
const getUnreadInfoCached = (channelId) => {
|
|
6374
|
-
var _a;
|
|
6375
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6376
|
-
};
|
|
6377
|
-
/**
|
|
6378
|
-
* The function use to get value of hasMentioned or isMentioned field.
|
|
6379
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
6380
|
-
*
|
|
6381
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
6382
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
6383
|
-
* If not found in the both cache, use `false` as defaul value.
|
|
6384
|
-
*/
|
|
6385
|
-
const getChannelIsMentioned = (channel, marker) => {
|
|
6386
|
-
var _a, _b, _c, _d;
|
|
6387
|
-
const client = getActiveClient();
|
|
6388
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
6389
|
-
return (_b = (_a = getUnreadInfoCached(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
6390
|
-
}
|
|
6391
|
-
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
6392
|
-
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
6393
|
-
: (_d = (_c = getCachedMarker(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
6394
|
-
};
|
|
6395
|
-
|
|
6396
6323
|
function convertRawUserToInternalUser(rawUser) {
|
|
6397
6324
|
return Object.assign(Object.assign({}, rawUser), { isGlobalBanned: (rawUser === null || rawUser === void 0 ? void 0 : rawUser.isGlobalBan) || false });
|
|
6398
6325
|
}
|
|
@@ -6410,18 +6337,7 @@ function convertFromRaw$2(channel, options = { isMessagePreviewUpdated: true })
|
|
|
6410
6337
|
if ((messagePreviewChannelCache === null || messagePreviewChannelCache === void 0 ? void 0 : messagePreviewChannelCache.messagePreviewId) && !options.isMessagePreviewUpdated) {
|
|
6411
6338
|
messagePreviewId = messagePreviewChannelCache.messagePreviewId;
|
|
6412
6339
|
}
|
|
6413
|
-
return Object.assign(Object.assign({
|
|
6414
|
-
return getSubChannelsUnreadCount(channel);
|
|
6415
|
-
},
|
|
6416
|
-
get hasMentioned() {
|
|
6417
|
-
return getChannelIsMentioned(channel);
|
|
6418
|
-
},
|
|
6419
|
-
get isMentioned() {
|
|
6420
|
-
return getChannelIsMentioned(channel);
|
|
6421
|
-
},
|
|
6422
|
-
get subChannelsUnreadCount() {
|
|
6423
|
-
return getSubChannelsUnreadCount(channel);
|
|
6424
|
-
} }, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
6340
|
+
return Object.assign(Object.assign({}, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
6425
6341
|
}
|
|
6426
6342
|
const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated: true }) => {
|
|
6427
6343
|
ingestInCache({
|
|
@@ -6543,6 +6459,98 @@ const prepareUnreadCountInfo = async (rawPayload) => {
|
|
|
6543
6459
|
client.log('channel/prepareUnreadCountInfo', rawPayload.channels);
|
|
6544
6460
|
};
|
|
6545
6461
|
|
|
6462
|
+
const getCachedMarker$1 = (entityId) => {
|
|
6463
|
+
var _a;
|
|
6464
|
+
const key = {
|
|
6465
|
+
entityId,
|
|
6466
|
+
userId: getActiveUser()._id,
|
|
6467
|
+
};
|
|
6468
|
+
return (_a = pullFromCache([
|
|
6469
|
+
'channelMarker',
|
|
6470
|
+
'get',
|
|
6471
|
+
getResolver('channelMarker')(key),
|
|
6472
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6473
|
+
};
|
|
6474
|
+
const getUnreadInfoCached$1 = (channelId) => {
|
|
6475
|
+
var _a;
|
|
6476
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6477
|
+
};
|
|
6478
|
+
/**
|
|
6479
|
+
* The function use to get value of hasMentioned or isMentioned field.
|
|
6480
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
6481
|
+
*
|
|
6482
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
6483
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
6484
|
+
* If not found in the both cache, use `false` as defaul value.
|
|
6485
|
+
*/
|
|
6486
|
+
const getChannelIsMentioned = (channel, marker) => {
|
|
6487
|
+
var _a, _b, _c, _d;
|
|
6488
|
+
const client = getActiveClient();
|
|
6489
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
6490
|
+
return (_b = (_a = getUnreadInfoCached$1(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
6491
|
+
}
|
|
6492
|
+
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
6493
|
+
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
6494
|
+
: (_d = (_c = getCachedMarker$1(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
6495
|
+
};
|
|
6496
|
+
|
|
6497
|
+
const getCachedMarker = (entityId) => {
|
|
6498
|
+
var _a;
|
|
6499
|
+
const key = {
|
|
6500
|
+
entityId,
|
|
6501
|
+
userId: getActiveUser()._id,
|
|
6502
|
+
};
|
|
6503
|
+
return (_a = pullFromCache([
|
|
6504
|
+
'channelMarker',
|
|
6505
|
+
'get',
|
|
6506
|
+
getResolver('channelMarker')(key),
|
|
6507
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6508
|
+
};
|
|
6509
|
+
const getUnreadInfoCached = (channelId) => {
|
|
6510
|
+
var _a;
|
|
6511
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
6512
|
+
};
|
|
6513
|
+
/**
|
|
6514
|
+
* The function use to get value of unreadCount field.
|
|
6515
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
6516
|
+
*
|
|
6517
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
6518
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
6519
|
+
* If not found in the both cache, use `0` as defaul value.
|
|
6520
|
+
*/
|
|
6521
|
+
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
6522
|
+
var _a, _b, _c, _d, _e;
|
|
6523
|
+
const client = getActiveClient();
|
|
6524
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
6525
|
+
// Marker service API uses channelInternalId as channelId
|
|
6526
|
+
return (_b = (_a = getUnreadInfoCached(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
6527
|
+
}
|
|
6528
|
+
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
6529
|
+
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
6530
|
+
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
6531
|
+
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
6532
|
+
return 0;
|
|
6533
|
+
}
|
|
6534
|
+
return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
|
|
6535
|
+
};
|
|
6536
|
+
|
|
6537
|
+
const constructChannelDynamicValue = (channel) => {
|
|
6538
|
+
return shallowClone(channel, {
|
|
6539
|
+
get unreadCount() {
|
|
6540
|
+
return getSubChannelsUnreadCount(channel);
|
|
6541
|
+
},
|
|
6542
|
+
get hasMentioned() {
|
|
6543
|
+
return getChannelIsMentioned(channel);
|
|
6544
|
+
},
|
|
6545
|
+
get isMentioned() {
|
|
6546
|
+
return getChannelIsMentioned(channel);
|
|
6547
|
+
},
|
|
6548
|
+
get subChannelsUnreadCount() {
|
|
6549
|
+
return getSubChannelsUnreadCount(channel);
|
|
6550
|
+
},
|
|
6551
|
+
});
|
|
6552
|
+
};
|
|
6553
|
+
|
|
6546
6554
|
/**
|
|
6547
6555
|
* ```js
|
|
6548
6556
|
* import { getChannelByIds } from '@amityco/ts-sdk-react-native'
|
|
@@ -6587,7 +6595,7 @@ const getChannelByIds = async (channelIds) => {
|
|
|
6587
6595
|
ingestInCache(data, { cachedAt });
|
|
6588
6596
|
fireEvent('local.channel.fetched', data.channels);
|
|
6589
6597
|
return {
|
|
6590
|
-
data: data.channels.map(channel => LinkedObject.channel(channel)),
|
|
6598
|
+
data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
|
|
6591
6599
|
cachedAt,
|
|
6592
6600
|
};
|
|
6593
6601
|
};
|
|
@@ -8677,12 +8685,14 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
8677
8685
|
const client = getActiveClient();
|
|
8678
8686
|
const cacheKeyUnreadCount = ['subChannelUnreadInfo', 'get', message.messageFeedId];
|
|
8679
8687
|
const cachedUnreadCount = (_a = pullFromCache(cacheKeyUnreadCount)) === null || _a === void 0 ? void 0 : _a.data;
|
|
8688
|
+
console.log('[updateSubChannelUnreadFromMessage] cachedUnreadCount => ', cachedUnreadCount);
|
|
8680
8689
|
if (!cachedUnreadCount)
|
|
8681
8690
|
return;
|
|
8682
8691
|
const lastSegment = cachedUnreadCount.lastSegment < message.segment
|
|
8683
8692
|
? message.segment
|
|
8684
8693
|
: cachedUnreadCount.lastSegment;
|
|
8685
8694
|
const unreadCount = lastSegment - cachedUnreadCount.readToSegment;
|
|
8695
|
+
console.log('[updateSubChannelUnreadFromMessage] unreadCount => ', unreadCount);
|
|
8686
8696
|
let { lastMentionSegment } = cachedUnreadCount;
|
|
8687
8697
|
if (message.mentionedUsers && message.mentionedUsers.length > 0) {
|
|
8688
8698
|
message.mentionedUsers.forEach(mention => {
|
|
@@ -8694,6 +8704,7 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
8694
8704
|
}
|
|
8695
8705
|
const updatedCachedUnreadCount = Object.assign(Object.assign({}, cachedUnreadCount), { lastMentionSegment,
|
|
8696
8706
|
lastSegment, isMentioned: !(cachedUnreadCount.readToSegment >= lastMentionSegment), unreadCount: Math.max(unreadCount, 0) });
|
|
8707
|
+
console.log('[updateSubChannelUnreadFromMessage] updatedCachedUnreadCount => key', cacheKeyUnreadCount, 'value =>', updatedCachedUnreadCount);
|
|
8697
8708
|
pushToCache(cacheKeyUnreadCount, updatedCachedUnreadCount);
|
|
8698
8709
|
};
|
|
8699
8710
|
|
|
@@ -8754,6 +8765,7 @@ const onMessageCreatedMqtt = (callback) => {
|
|
|
8754
8765
|
const user = getActiveUser();
|
|
8755
8766
|
const filter = async (rawPayload) => {
|
|
8756
8767
|
const payload = await prepareMessagePayload(rawPayload);
|
|
8768
|
+
console.log('onMessageCreatedMqtt', payload);
|
|
8757
8769
|
// update unreadCountInfo in cache
|
|
8758
8770
|
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
8759
8771
|
rawPayload.messages.forEach(message => {
|
|
@@ -13353,16 +13365,19 @@ function isCurrentUserPartOfCommunity(c, m) {
|
|
|
13353
13365
|
}
|
|
13354
13366
|
/*
|
|
13355
13367
|
* For mqtt events server will not send user specific data as it's broadcasted
|
|
13356
|
-
* to multiple users
|
|
13357
|
-
*
|
|
13368
|
+
* to multiple users and it also does not include communityUser
|
|
13369
|
+
*
|
|
13370
|
+
* Client SDK needs to check for the existing isJoined field in cache data before calculating.
|
|
13371
|
+
* Althought this can be calculated, it's not scalable.
|
|
13358
13372
|
*/
|
|
13359
13373
|
function updateMembershipStatus(communities, communityUsers) {
|
|
13360
13374
|
return communities.map(c => {
|
|
13361
|
-
|
|
13362
|
-
|
|
13363
|
-
return Object.assign(Object.assign({},
|
|
13375
|
+
const cachedCommunity = pullFromCache(['community', 'get', c.communityId]);
|
|
13376
|
+
if ((cachedCommunity === null || cachedCommunity === void 0 ? void 0 : cachedCommunity.data) && (cachedCommunity === null || cachedCommunity === void 0 ? void 0 : cachedCommunity.data.hasOwnProperty('isJoined'))) {
|
|
13377
|
+
return Object.assign(Object.assign({}, cachedCommunity.data), c);
|
|
13364
13378
|
}
|
|
13365
|
-
|
|
13379
|
+
const isJoined = communityUsers.some(m => isCurrentUserPartOfCommunity(c, m) && isMember(m.communityMembership));
|
|
13380
|
+
return Object.assign(Object.assign({}, c), { isJoined });
|
|
13366
13381
|
});
|
|
13367
13382
|
}
|
|
13368
13383
|
|
|
@@ -14856,7 +14871,7 @@ const createChannel = async (bundle) => {
|
|
|
14856
14871
|
ingestInCache(data, { cachedAt });
|
|
14857
14872
|
const { channels } = data;
|
|
14858
14873
|
return {
|
|
14859
|
-
data: channels[0],
|
|
14874
|
+
data: constructChannelDynamicValue(channels[0]),
|
|
14860
14875
|
cachedAt,
|
|
14861
14876
|
};
|
|
14862
14877
|
};
|
|
@@ -14890,7 +14905,7 @@ const updateChannel = async (channelId, patch) => {
|
|
|
14890
14905
|
ingestInCache(data, { cachedAt });
|
|
14891
14906
|
const { channels } = data;
|
|
14892
14907
|
return {
|
|
14893
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
14908
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
14894
14909
|
cachedAt,
|
|
14895
14910
|
};
|
|
14896
14911
|
};
|
|
@@ -14934,7 +14949,7 @@ const getChannel$1 = async (channelId) => {
|
|
|
14934
14949
|
ingestInCache(data, { cachedAt });
|
|
14935
14950
|
const { channels } = data;
|
|
14936
14951
|
return {
|
|
14937
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
14952
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
14938
14953
|
cachedAt,
|
|
14939
14954
|
};
|
|
14940
14955
|
};
|
|
@@ -14964,7 +14979,7 @@ getChannel$1.locally = (channelId) => {
|
|
|
14964
14979
|
if (!cached || (cached === null || cached === void 0 ? void 0 : cached.length) === 0)
|
|
14965
14980
|
return;
|
|
14966
14981
|
return {
|
|
14967
|
-
data: cached[0].data,
|
|
14982
|
+
data: constructChannelDynamicValue(cached[0].data),
|
|
14968
14983
|
cachedAt: cached[0].cachedAt,
|
|
14969
14984
|
};
|
|
14970
14985
|
};
|
|
@@ -15162,10 +15177,10 @@ const observeChannel = (channelId, callback) => {
|
|
|
15162
15177
|
if (((_a = result.data) === null || _a === void 0 ? void 0 : _a.channelId) !== channelId)
|
|
15163
15178
|
return;
|
|
15164
15179
|
if (callback instanceof Function)
|
|
15165
|
-
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
15180
|
+
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
15166
15181
|
if (action !== 'onFetch')
|
|
15167
|
-
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
15168
|
-
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
15182
|
+
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
15183
|
+
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
15169
15184
|
};
|
|
15170
15185
|
const disposers = [];
|
|
15171
15186
|
disposers.push(onChannelUpdated(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router({ data, loading: false, origin: 'event' }, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router({ data, loading: false, origin: 'event' }, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router({ data, loading: false, origin: 'event' }, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router({ data, loading: false, origin: 'event' }, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router({ data, loading: false, origin: 'event' }, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router({ data, loading: false, origin: 'event' }, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
|
|
@@ -15199,9 +15214,9 @@ const observeChannels = (callback) => {
|
|
|
15199
15214
|
const router = (channel, action) => {
|
|
15200
15215
|
var _a, _b;
|
|
15201
15216
|
if (callback instanceof Function)
|
|
15202
|
-
return callback(LinkedObject.channel(channel));
|
|
15203
|
-
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(channel));
|
|
15204
|
-
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(channel));
|
|
15217
|
+
return callback(LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
15218
|
+
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
15219
|
+
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
15205
15220
|
};
|
|
15206
15221
|
disposers.push(onChannelCreated(data => router(data, "onCreate" /* Amity.ChannelActionType.OnCreate */)), onChannelUpdated(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router(data, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router(data, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router(data, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router(data, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router(data, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router(data, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
|
|
15207
15222
|
return () => {
|
|
@@ -15306,7 +15321,7 @@ const onSubChannelUpdated = (callback) => {
|
|
|
15306
15321
|
function updateChannelCache(channel, params) {
|
|
15307
15322
|
pushToCache(['channel', 'get', channel.channelId],
|
|
15308
15323
|
// eslint-disable-next-line prefer-object-spread
|
|
15309
|
-
|
|
15324
|
+
shallowClone(channel, params));
|
|
15310
15325
|
}
|
|
15311
15326
|
|
|
15312
15327
|
/**
|
|
@@ -17788,6 +17803,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
17788
17803
|
.filter(Boolean)
|
|
17789
17804
|
.map(({ data }) => data)
|
|
17790
17805
|
.map(getChannelMessagePreviewWithUser)
|
|
17806
|
+
.map(constructChannelDynamicValue)
|
|
17791
17807
|
.map(LinkedObject.channel)) !== null && _b !== void 0 ? _b : [];
|
|
17792
17808
|
if (this.paginationController instanceof ChannelPaginationController) {
|
|
17793
17809
|
data = this.applyFilter(data);
|
|
@@ -17878,6 +17894,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
17878
17894
|
'get',
|
|
17879
17895
|
message.channelId,
|
|
17880
17896
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
17897
|
+
console.log('channel cache data => ', cacheData);
|
|
17881
17898
|
if (!cacheData) {
|
|
17882
17899
|
const objectResolverEngine = ObjectResolverEngine$1.getInstance();
|
|
17883
17900
|
// channelId from message event payload is channelInternalId
|
|
@@ -18330,7 +18347,11 @@ const onUserDeleted$1 = (channelId) => (callback) => {
|
|
|
18330
18347
|
channelUserCacheKey,
|
|
18331
18348
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
18332
18349
|
upsertInCache(['channelUsers', 'get', channelUserCacheKey], Object.assign(Object.assign({}, cacheData), { user }));
|
|
18333
|
-
const channel = (_b = pullFromCache([
|
|
18350
|
+
const channel = (_b = pullFromCache([
|
|
18351
|
+
'channel',
|
|
18352
|
+
'get',
|
|
18353
|
+
channelId,
|
|
18354
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
18334
18355
|
if (!channel)
|
|
18335
18356
|
return;
|
|
18336
18357
|
callback(channel, cacheData);
|
|
@@ -19268,7 +19289,8 @@ const createCommunityMemberEventSubscriber = (event, callback) => {
|
|
|
19268
19289
|
callback(preparedPayload.communities[0], getEventRelatedMember(event, preparedPayload));
|
|
19269
19290
|
}
|
|
19270
19291
|
else {
|
|
19271
|
-
|
|
19292
|
+
// NOTE: The event payload should be merge with existing cache data
|
|
19293
|
+
ingestInCache(preparedPayload, undefined, false);
|
|
19272
19294
|
const community = pullFromCache([
|
|
19273
19295
|
'community',
|
|
19274
19296
|
'get',
|
|
@@ -19305,7 +19327,8 @@ const createLocalCommunityMemberEventSubscriber = (event, callback) => {
|
|
|
19305
19327
|
callback(preparedPayload.communities[0], getEventRelatedMember(event, preparedPayload));
|
|
19306
19328
|
}
|
|
19307
19329
|
else {
|
|
19308
|
-
|
|
19330
|
+
// NOTE: The event payload should be merge with existing cache data
|
|
19331
|
+
ingestInCache(preparedPayload, undefined, false);
|
|
19309
19332
|
const community = pullFromCache([
|
|
19310
19333
|
'community',
|
|
19311
19334
|
'get',
|
|
@@ -24862,7 +24885,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
24862
24885
|
getPoll: getPoll
|
|
24863
24886
|
});
|
|
24864
24887
|
|
|
24865
|
-
const privateKey = "-----BEGIN PRIVATE KEY-----\
|
|
24888
|
+
const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
|
|
24866
24889
|
/*
|
|
24867
24890
|
* The crypto algorithm used for importing key and signing string
|
|
24868
24891
|
*/
|