@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.esm.js
CHANGED
|
@@ -89,8 +89,8 @@ const PostContentType = Object.freeze({
|
|
|
89
89
|
|
|
90
90
|
function getVersion() {
|
|
91
91
|
try {
|
|
92
|
-
// the string ''v6.32.
|
|
93
|
-
return 'v6.32.
|
|
92
|
+
// the string ''v6.32.3-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
93
|
+
return 'v6.32.3-esm';
|
|
94
94
|
}
|
|
95
95
|
catch (error) {
|
|
96
96
|
return '__dev__';
|
|
@@ -21720,6 +21720,7 @@ const reCalculateChannelUnreadInfo = (channelId) => {
|
|
|
21720
21720
|
var _a;
|
|
21721
21721
|
const cacheKeyChannelUnread = ['channelUnreadInfo', 'get', channelId];
|
|
21722
21722
|
const cacheChannelUnreadInfo = (_a = pullFromCache(cacheKeyChannelUnread)) === null || _a === void 0 ? void 0 : _a.data;
|
|
21723
|
+
console.log('[reCalculateChannelUnreadInfo] cacheChannelUnreadInfo => ', cacheChannelUnreadInfo);
|
|
21723
21724
|
const cacheKeySubChannelUnread = ['subChannelUnreadInfo', 'get'];
|
|
21724
21725
|
const cachedSubChannelUnreadInfo = queryCache(cacheKeySubChannelUnread);
|
|
21725
21726
|
let channelUnreads = 0;
|
|
@@ -21728,9 +21729,11 @@ const reCalculateChannelUnreadInfo = (channelId) => {
|
|
|
21728
21729
|
const subChannelUnreadsInfo = cachedSubChannelUnreadInfo === null || cachedSubChannelUnreadInfo === void 0 ? void 0 : cachedSubChannelUnreadInfo.filter(({ data }) => {
|
|
21729
21730
|
return data.channelId === channelId && !data.isDeleted;
|
|
21730
21731
|
});
|
|
21732
|
+
console.log('[reCalculateChannelUnreadInfo] subChannelUnreadsInfo => ', subChannelUnreadsInfo);
|
|
21731
21733
|
channelUnreads = subChannelUnreadsInfo
|
|
21732
21734
|
.map(({ data }) => data.unreadCount)
|
|
21733
21735
|
.reduce((acc, cur) => acc + cur, 0);
|
|
21736
|
+
console.log('[reCalculateChannelUnreadInfo] channelUnreads => ', channelUnreads);
|
|
21734
21737
|
isMentioned = subChannelUnreadsInfo.some(({ data }) => data.isMentioned);
|
|
21735
21738
|
}
|
|
21736
21739
|
const channelUnreadInfo = Object.assign(Object.assign({}, (cacheChannelUnreadInfo !== null && cacheChannelUnreadInfo !== void 0 ? cacheChannelUnreadInfo : {
|
|
@@ -22016,8 +22019,28 @@ const markAsRead = async (channelId) => {
|
|
|
22016
22019
|
return true;
|
|
22017
22020
|
};
|
|
22018
22021
|
|
|
22022
|
+
/**
|
|
22023
|
+
* ```js
|
|
22024
|
+
* import { shallowClone } from '~/utils/shallowClone'
|
|
22025
|
+
* const newObj = shallowClone(obj)
|
|
22026
|
+
* ```
|
|
22027
|
+
*
|
|
22028
|
+
* Clone an object with same prototype and properties
|
|
22029
|
+
*
|
|
22030
|
+
* @param obj the object to clone
|
|
22031
|
+
* @returns new object with same prototype and properties
|
|
22032
|
+
*
|
|
22033
|
+
* @category utility
|
|
22034
|
+
* @private
|
|
22035
|
+
*/
|
|
22036
|
+
function shallowClone(source, target) {
|
|
22037
|
+
return Object.create(Object.getPrototypeOf(source), Object.assign(Object.assign({}, Object.getOwnPropertyDescriptors(source)), Object.getOwnPropertyDescriptors(target)));
|
|
22038
|
+
}
|
|
22039
|
+
|
|
22019
22040
|
const channelLinkedObject = (channel) => {
|
|
22020
|
-
return
|
|
22041
|
+
return shallowClone(channel, {
|
|
22042
|
+
markAsRead: () => markAsRead(channel.channelInternalId),
|
|
22043
|
+
});
|
|
22021
22044
|
};
|
|
22022
22045
|
|
|
22023
22046
|
const adLinkedObject = (ad) => {
|
|
@@ -22188,31 +22211,10 @@ const updateSubChannelMessagePreviewCache = (rawPayload) => {
|
|
|
22188
22211
|
ingestInCache(newData);
|
|
22189
22212
|
};
|
|
22190
22213
|
|
|
22191
|
-
/**
|
|
22192
|
-
* ```js
|
|
22193
|
-
* import { shallowClone } from '~/utils/shallowClone'
|
|
22194
|
-
* const newObj = shallowClone(obj)
|
|
22195
|
-
* ```
|
|
22196
|
-
*
|
|
22197
|
-
* Clone an object with same prototype and properties
|
|
22198
|
-
*
|
|
22199
|
-
* @param obj the object to clone
|
|
22200
|
-
* @returns new object with same prototype and properties
|
|
22201
|
-
*
|
|
22202
|
-
* @category utility
|
|
22203
|
-
* @private
|
|
22204
|
-
*/
|
|
22205
|
-
function shallowClone(obj) {
|
|
22206
|
-
const clone = Object.create(Object.getPrototypeOf(obj));
|
|
22207
|
-
const descriptors = Object.getOwnPropertyDescriptors(obj);
|
|
22208
|
-
Object.defineProperties(clone, descriptors);
|
|
22209
|
-
return clone;
|
|
22210
|
-
}
|
|
22211
|
-
|
|
22212
22214
|
function updateSubChannelCache(subChannelId, subChannel, params) {
|
|
22213
22215
|
pushToCache(['subChannel', 'get', subChannelId],
|
|
22214
22216
|
// eslint-disable-next-line prefer-object-spread
|
|
22215
|
-
|
|
22217
|
+
shallowClone(subChannel, params));
|
|
22216
22218
|
}
|
|
22217
22219
|
|
|
22218
22220
|
const handleMessageCreated = async (message) => {
|
|
@@ -22391,81 +22393,6 @@ const handleSubChannelUpdated = async (subChannel) => {
|
|
|
22391
22393
|
}
|
|
22392
22394
|
};
|
|
22393
22395
|
|
|
22394
|
-
const getCachedMarker$1 = (entityId) => {
|
|
22395
|
-
var _a;
|
|
22396
|
-
const key = {
|
|
22397
|
-
entityId,
|
|
22398
|
-
userId: getActiveUser()._id,
|
|
22399
|
-
};
|
|
22400
|
-
return (_a = pullFromCache([
|
|
22401
|
-
'channelMarker',
|
|
22402
|
-
'get',
|
|
22403
|
-
getResolver('channelMarker')(key),
|
|
22404
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22405
|
-
};
|
|
22406
|
-
const getUnreadInfoCached$1 = (channelId) => {
|
|
22407
|
-
var _a;
|
|
22408
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22409
|
-
};
|
|
22410
|
-
/**
|
|
22411
|
-
* The function use to get value of unreadCount field.
|
|
22412
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22413
|
-
*
|
|
22414
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22415
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
22416
|
-
* If not found in the both cache, use `0` as defaul value.
|
|
22417
|
-
*/
|
|
22418
|
-
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
22419
|
-
var _a, _b, _c, _d, _e;
|
|
22420
|
-
const client = getActiveClient();
|
|
22421
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22422
|
-
// Marker service API uses channelInternalId as channelId
|
|
22423
|
-
return (_b = (_a = getUnreadInfoCached$1(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
22424
|
-
}
|
|
22425
|
-
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
22426
|
-
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
22427
|
-
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
22428
|
-
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
22429
|
-
return 0;
|
|
22430
|
-
}
|
|
22431
|
-
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;
|
|
22432
|
-
};
|
|
22433
|
-
|
|
22434
|
-
const getCachedMarker = (entityId) => {
|
|
22435
|
-
var _a;
|
|
22436
|
-
const key = {
|
|
22437
|
-
entityId,
|
|
22438
|
-
userId: getActiveUser()._id,
|
|
22439
|
-
};
|
|
22440
|
-
return (_a = pullFromCache([
|
|
22441
|
-
'channelMarker',
|
|
22442
|
-
'get',
|
|
22443
|
-
getResolver('channelMarker')(key),
|
|
22444
|
-
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22445
|
-
};
|
|
22446
|
-
const getUnreadInfoCached = (channelId) => {
|
|
22447
|
-
var _a;
|
|
22448
|
-
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22449
|
-
};
|
|
22450
|
-
/**
|
|
22451
|
-
* The function use to get value of hasMentioned or isMentioned field.
|
|
22452
|
-
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22453
|
-
*
|
|
22454
|
-
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22455
|
-
* If not, the function will return the value from the channelMarker cache.
|
|
22456
|
-
* If not found in the both cache, use `false` as defaul value.
|
|
22457
|
-
*/
|
|
22458
|
-
const getChannelIsMentioned = (channel, marker) => {
|
|
22459
|
-
var _a, _b, _c, _d;
|
|
22460
|
-
const client = getActiveClient();
|
|
22461
|
-
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22462
|
-
return (_b = (_a = getUnreadInfoCached(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
22463
|
-
}
|
|
22464
|
-
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
22465
|
-
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
22466
|
-
: (_d = (_c = getCachedMarker(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
22467
|
-
};
|
|
22468
|
-
|
|
22469
22396
|
function convertRawUserToInternalUser(rawUser) {
|
|
22470
22397
|
return Object.assign(Object.assign({}, rawUser), { isGlobalBanned: (rawUser === null || rawUser === void 0 ? void 0 : rawUser.isGlobalBan) || false });
|
|
22471
22398
|
}
|
|
@@ -22483,18 +22410,7 @@ function convertFromRaw$2(channel, options = { isMessagePreviewUpdated: true })
|
|
|
22483
22410
|
if ((messagePreviewChannelCache === null || messagePreviewChannelCache === void 0 ? void 0 : messagePreviewChannelCache.messagePreviewId) && !options.isMessagePreviewUpdated) {
|
|
22484
22411
|
messagePreviewId = messagePreviewChannelCache.messagePreviewId;
|
|
22485
22412
|
}
|
|
22486
|
-
return Object.assign(Object.assign({
|
|
22487
|
-
return getSubChannelsUnreadCount(channel);
|
|
22488
|
-
},
|
|
22489
|
-
get hasMentioned() {
|
|
22490
|
-
return getChannelIsMentioned(channel);
|
|
22491
|
-
},
|
|
22492
|
-
get isMentioned() {
|
|
22493
|
-
return getChannelIsMentioned(channel);
|
|
22494
|
-
},
|
|
22495
|
-
get subChannelsUnreadCount() {
|
|
22496
|
-
return getSubChannelsUnreadCount(channel);
|
|
22497
|
-
} }, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
22413
|
+
return Object.assign(Object.assign({}, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
|
|
22498
22414
|
}
|
|
22499
22415
|
const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated: true }) => {
|
|
22500
22416
|
ingestInCache({
|
|
@@ -22616,6 +22532,98 @@ const prepareUnreadCountInfo = async (rawPayload) => {
|
|
|
22616
22532
|
client.log('channel/prepareUnreadCountInfo', rawPayload.channels);
|
|
22617
22533
|
};
|
|
22618
22534
|
|
|
22535
|
+
const getCachedMarker$1 = (entityId) => {
|
|
22536
|
+
var _a;
|
|
22537
|
+
const key = {
|
|
22538
|
+
entityId,
|
|
22539
|
+
userId: getActiveUser()._id,
|
|
22540
|
+
};
|
|
22541
|
+
return (_a = pullFromCache([
|
|
22542
|
+
'channelMarker',
|
|
22543
|
+
'get',
|
|
22544
|
+
getResolver('channelMarker')(key),
|
|
22545
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22546
|
+
};
|
|
22547
|
+
const getUnreadInfoCached$1 = (channelId) => {
|
|
22548
|
+
var _a;
|
|
22549
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22550
|
+
};
|
|
22551
|
+
/**
|
|
22552
|
+
* The function use to get value of hasMentioned or isMentioned field.
|
|
22553
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22554
|
+
*
|
|
22555
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22556
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
22557
|
+
* If not found in the both cache, use `false` as defaul value.
|
|
22558
|
+
*/
|
|
22559
|
+
const getChannelIsMentioned = (channel, marker) => {
|
|
22560
|
+
var _a, _b, _c, _d;
|
|
22561
|
+
const client = getActiveClient();
|
|
22562
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22563
|
+
return (_b = (_a = getUnreadInfoCached$1(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
|
|
22564
|
+
}
|
|
22565
|
+
return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
|
|
22566
|
+
? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
|
|
22567
|
+
: (_d = (_c = getCachedMarker$1(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
|
|
22568
|
+
};
|
|
22569
|
+
|
|
22570
|
+
const getCachedMarker = (entityId) => {
|
|
22571
|
+
var _a;
|
|
22572
|
+
const key = {
|
|
22573
|
+
entityId,
|
|
22574
|
+
userId: getActiveUser()._id,
|
|
22575
|
+
};
|
|
22576
|
+
return (_a = pullFromCache([
|
|
22577
|
+
'channelMarker',
|
|
22578
|
+
'get',
|
|
22579
|
+
getResolver('channelMarker')(key),
|
|
22580
|
+
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22581
|
+
};
|
|
22582
|
+
const getUnreadInfoCached = (channelId) => {
|
|
22583
|
+
var _a;
|
|
22584
|
+
return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
22585
|
+
};
|
|
22586
|
+
/**
|
|
22587
|
+
* The function use to get value of unreadCount field.
|
|
22588
|
+
* function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
|
|
22589
|
+
*
|
|
22590
|
+
* If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
|
|
22591
|
+
* If not, the function will return the value from the channelMarker cache.
|
|
22592
|
+
* If not found in the both cache, use `0` as defaul value.
|
|
22593
|
+
*/
|
|
22594
|
+
const getSubChannelsUnreadCount = (channel, marker) => {
|
|
22595
|
+
var _a, _b, _c, _d, _e;
|
|
22596
|
+
const client = getActiveClient();
|
|
22597
|
+
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
22598
|
+
// Marker service API uses channelInternalId as channelId
|
|
22599
|
+
return (_b = (_a = getUnreadInfoCached(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
|
|
22600
|
+
}
|
|
22601
|
+
if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
|
|
22602
|
+
// NOTE: This is a temporary solution to handle the channel marker when the user is forced to
|
|
22603
|
+
// leave the channel because currently backend can't handle this, so every time a user is banned
|
|
22604
|
+
// from a channel or the channel is deleted the channel's unread count will reset to zero
|
|
22605
|
+
return 0;
|
|
22606
|
+
}
|
|
22607
|
+
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;
|
|
22608
|
+
};
|
|
22609
|
+
|
|
22610
|
+
const constructChannelDynamicValue = (channel) => {
|
|
22611
|
+
return shallowClone(channel, {
|
|
22612
|
+
get unreadCount() {
|
|
22613
|
+
return getSubChannelsUnreadCount(channel);
|
|
22614
|
+
},
|
|
22615
|
+
get hasMentioned() {
|
|
22616
|
+
return getChannelIsMentioned(channel);
|
|
22617
|
+
},
|
|
22618
|
+
get isMentioned() {
|
|
22619
|
+
return getChannelIsMentioned(channel);
|
|
22620
|
+
},
|
|
22621
|
+
get subChannelsUnreadCount() {
|
|
22622
|
+
return getSubChannelsUnreadCount(channel);
|
|
22623
|
+
},
|
|
22624
|
+
});
|
|
22625
|
+
};
|
|
22626
|
+
|
|
22619
22627
|
/**
|
|
22620
22628
|
* ```js
|
|
22621
22629
|
* import { getChannelByIds } from '@amityco/ts-sdk-react-native'
|
|
@@ -22660,7 +22668,7 @@ const getChannelByIds = async (channelIds) => {
|
|
|
22660
22668
|
ingestInCache(data, { cachedAt });
|
|
22661
22669
|
fireEvent('local.channel.fetched', data.channels);
|
|
22662
22670
|
return {
|
|
22663
|
-
data: data.channels.map(channel => LinkedObject.channel(channel)),
|
|
22671
|
+
data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
|
|
22664
22672
|
cachedAt,
|
|
22665
22673
|
};
|
|
22666
22674
|
};
|
|
@@ -24750,12 +24758,14 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
24750
24758
|
const client = getActiveClient();
|
|
24751
24759
|
const cacheKeyUnreadCount = ['subChannelUnreadInfo', 'get', message.messageFeedId];
|
|
24752
24760
|
const cachedUnreadCount = (_a = pullFromCache(cacheKeyUnreadCount)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24761
|
+
console.log('[updateSubChannelUnreadFromMessage] cachedUnreadCount => ', cachedUnreadCount);
|
|
24753
24762
|
if (!cachedUnreadCount)
|
|
24754
24763
|
return;
|
|
24755
24764
|
const lastSegment = cachedUnreadCount.lastSegment < message.segment
|
|
24756
24765
|
? message.segment
|
|
24757
24766
|
: cachedUnreadCount.lastSegment;
|
|
24758
24767
|
const unreadCount = lastSegment - cachedUnreadCount.readToSegment;
|
|
24768
|
+
console.log('[updateSubChannelUnreadFromMessage] unreadCount => ', unreadCount);
|
|
24759
24769
|
let { lastMentionSegment } = cachedUnreadCount;
|
|
24760
24770
|
if (message.mentionedUsers && message.mentionedUsers.length > 0) {
|
|
24761
24771
|
message.mentionedUsers.forEach(mention => {
|
|
@@ -24767,6 +24777,7 @@ const updateSubChannelUnreadFromMessage = (message) => {
|
|
|
24767
24777
|
}
|
|
24768
24778
|
const updatedCachedUnreadCount = Object.assign(Object.assign({}, cachedUnreadCount), { lastMentionSegment,
|
|
24769
24779
|
lastSegment, isMentioned: !(cachedUnreadCount.readToSegment >= lastMentionSegment), unreadCount: Math.max(unreadCount, 0) });
|
|
24780
|
+
console.log('[updateSubChannelUnreadFromMessage] updatedCachedUnreadCount => key', cacheKeyUnreadCount, 'value =>', updatedCachedUnreadCount);
|
|
24770
24781
|
pushToCache(cacheKeyUnreadCount, updatedCachedUnreadCount);
|
|
24771
24782
|
};
|
|
24772
24783
|
|
|
@@ -24827,6 +24838,7 @@ const onMessageCreatedMqtt = (callback) => {
|
|
|
24827
24838
|
const user = getActiveUser();
|
|
24828
24839
|
const filter = async (rawPayload) => {
|
|
24829
24840
|
const payload = await prepareMessagePayload(rawPayload);
|
|
24841
|
+
console.log('onMessageCreatedMqtt', payload);
|
|
24830
24842
|
// update unreadCountInfo in cache
|
|
24831
24843
|
if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
|
|
24832
24844
|
rawPayload.messages.forEach(message => {
|
|
@@ -29426,16 +29438,19 @@ function isCurrentUserPartOfCommunity(c, m) {
|
|
|
29426
29438
|
}
|
|
29427
29439
|
/*
|
|
29428
29440
|
* For mqtt events server will not send user specific data as it's broadcasted
|
|
29429
|
-
* to multiple users
|
|
29430
|
-
*
|
|
29441
|
+
* to multiple users and it also does not include communityUser
|
|
29442
|
+
*
|
|
29443
|
+
* Client SDK needs to check for the existing isJoined field in cache data before calculating.
|
|
29444
|
+
* Althought this can be calculated, it's not scalable.
|
|
29431
29445
|
*/
|
|
29432
29446
|
function updateMembershipStatus(communities, communityUsers) {
|
|
29433
29447
|
return communities.map(c => {
|
|
29434
|
-
|
|
29435
|
-
|
|
29436
|
-
return Object.assign(Object.assign({},
|
|
29448
|
+
const cachedCommunity = pullFromCache(['community', 'get', c.communityId]);
|
|
29449
|
+
if ((cachedCommunity === null || cachedCommunity === void 0 ? void 0 : cachedCommunity.data) && (cachedCommunity === null || cachedCommunity === void 0 ? void 0 : cachedCommunity.data.hasOwnProperty('isJoined'))) {
|
|
29450
|
+
return Object.assign(Object.assign({}, cachedCommunity.data), c);
|
|
29437
29451
|
}
|
|
29438
|
-
|
|
29452
|
+
const isJoined = communityUsers.some(m => isCurrentUserPartOfCommunity(c, m) && isMember(m.communityMembership));
|
|
29453
|
+
return Object.assign(Object.assign({}, c), { isJoined });
|
|
29439
29454
|
});
|
|
29440
29455
|
}
|
|
29441
29456
|
|
|
@@ -30929,7 +30944,7 @@ const createChannel = async (bundle) => {
|
|
|
30929
30944
|
ingestInCache(data, { cachedAt });
|
|
30930
30945
|
const { channels } = data;
|
|
30931
30946
|
return {
|
|
30932
|
-
data: channels[0],
|
|
30947
|
+
data: constructChannelDynamicValue(channels[0]),
|
|
30933
30948
|
cachedAt,
|
|
30934
30949
|
};
|
|
30935
30950
|
};
|
|
@@ -30963,7 +30978,7 @@ const updateChannel = async (channelId, patch) => {
|
|
|
30963
30978
|
ingestInCache(data, { cachedAt });
|
|
30964
30979
|
const { channels } = data;
|
|
30965
30980
|
return {
|
|
30966
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
30981
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
30967
30982
|
cachedAt,
|
|
30968
30983
|
};
|
|
30969
30984
|
};
|
|
@@ -31007,7 +31022,7 @@ const getChannel$1 = async (channelId) => {
|
|
|
31007
31022
|
ingestInCache(data, { cachedAt });
|
|
31008
31023
|
const { channels } = data;
|
|
31009
31024
|
return {
|
|
31010
|
-
data: channels.find(channel => channel.channelId === channelId),
|
|
31025
|
+
data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
|
|
31011
31026
|
cachedAt,
|
|
31012
31027
|
};
|
|
31013
31028
|
};
|
|
@@ -31037,7 +31052,7 @@ getChannel$1.locally = (channelId) => {
|
|
|
31037
31052
|
if (!cached || (cached === null || cached === void 0 ? void 0 : cached.length) === 0)
|
|
31038
31053
|
return;
|
|
31039
31054
|
return {
|
|
31040
|
-
data: cached[0].data,
|
|
31055
|
+
data: constructChannelDynamicValue(cached[0].data),
|
|
31041
31056
|
cachedAt: cached[0].cachedAt,
|
|
31042
31057
|
};
|
|
31043
31058
|
};
|
|
@@ -31235,10 +31250,10 @@ const observeChannel = (channelId, callback) => {
|
|
|
31235
31250
|
if (((_a = result.data) === null || _a === void 0 ? void 0 : _a.channelId) !== channelId)
|
|
31236
31251
|
return;
|
|
31237
31252
|
if (callback instanceof Function)
|
|
31238
|
-
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31253
|
+
return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31239
31254
|
if (action !== 'onFetch')
|
|
31240
|
-
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31241
|
-
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
|
|
31255
|
+
(_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31256
|
+
(_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
|
|
31242
31257
|
};
|
|
31243
31258
|
const disposers = [];
|
|
31244
31259
|
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 */)));
|
|
@@ -31272,9 +31287,9 @@ const observeChannels = (callback) => {
|
|
|
31272
31287
|
const router = (channel, action) => {
|
|
31273
31288
|
var _a, _b;
|
|
31274
31289
|
if (callback instanceof Function)
|
|
31275
|
-
return callback(LinkedObject.channel(channel));
|
|
31276
|
-
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(channel));
|
|
31277
|
-
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(channel));
|
|
31290
|
+
return callback(LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31291
|
+
(_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31292
|
+
(_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(constructChannelDynamicValue(channel)));
|
|
31278
31293
|
};
|
|
31279
31294
|
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 */)));
|
|
31280
31295
|
return () => {
|
|
@@ -31379,7 +31394,7 @@ const onSubChannelUpdated = (callback) => {
|
|
|
31379
31394
|
function updateChannelCache(channel, params) {
|
|
31380
31395
|
pushToCache(['channel', 'get', channel.channelId],
|
|
31381
31396
|
// eslint-disable-next-line prefer-object-spread
|
|
31382
|
-
|
|
31397
|
+
shallowClone(channel, params));
|
|
31383
31398
|
}
|
|
31384
31399
|
|
|
31385
31400
|
/**
|
|
@@ -33861,6 +33876,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
33861
33876
|
.filter(Boolean)
|
|
33862
33877
|
.map(({ data }) => data)
|
|
33863
33878
|
.map(getChannelMessagePreviewWithUser)
|
|
33879
|
+
.map(constructChannelDynamicValue)
|
|
33864
33880
|
.map(LinkedObject.channel)) !== null && _b !== void 0 ? _b : [];
|
|
33865
33881
|
if (this.paginationController instanceof ChannelPaginationController) {
|
|
33866
33882
|
data = this.applyFilter(data);
|
|
@@ -33951,6 +33967,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
|
|
|
33951
33967
|
'get',
|
|
33952
33968
|
message.channelId,
|
|
33953
33969
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
33970
|
+
console.log('channel cache data => ', cacheData);
|
|
33954
33971
|
if (!cacheData) {
|
|
33955
33972
|
const objectResolverEngine = ObjectResolverEngine$1.getInstance();
|
|
33956
33973
|
// channelId from message event payload is channelInternalId
|
|
@@ -34403,7 +34420,11 @@ const onUserDeleted$1 = (channelId) => (callback) => {
|
|
|
34403
34420
|
channelUserCacheKey,
|
|
34404
34421
|
])) === null || _a === void 0 ? void 0 : _a.data;
|
|
34405
34422
|
upsertInCache(['channelUsers', 'get', channelUserCacheKey], Object.assign(Object.assign({}, cacheData), { user }));
|
|
34406
|
-
const channel = (_b = pullFromCache([
|
|
34423
|
+
const channel = (_b = pullFromCache([
|
|
34424
|
+
'channel',
|
|
34425
|
+
'get',
|
|
34426
|
+
channelId,
|
|
34427
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
34407
34428
|
if (!channel)
|
|
34408
34429
|
return;
|
|
34409
34430
|
callback(channel, cacheData);
|
|
@@ -35341,7 +35362,8 @@ const createCommunityMemberEventSubscriber = (event, callback) => {
|
|
|
35341
35362
|
callback(preparedPayload.communities[0], getEventRelatedMember(event, preparedPayload));
|
|
35342
35363
|
}
|
|
35343
35364
|
else {
|
|
35344
|
-
|
|
35365
|
+
// NOTE: The event payload should be merge with existing cache data
|
|
35366
|
+
ingestInCache(preparedPayload, undefined, false);
|
|
35345
35367
|
const community = pullFromCache([
|
|
35346
35368
|
'community',
|
|
35347
35369
|
'get',
|
|
@@ -35378,7 +35400,8 @@ const createLocalCommunityMemberEventSubscriber = (event, callback) => {
|
|
|
35378
35400
|
callback(preparedPayload.communities[0], getEventRelatedMember(event, preparedPayload));
|
|
35379
35401
|
}
|
|
35380
35402
|
else {
|
|
35381
|
-
|
|
35403
|
+
// NOTE: The event payload should be merge with existing cache data
|
|
35404
|
+
ingestInCache(preparedPayload, undefined, false);
|
|
35382
35405
|
const community = pullFromCache([
|
|
35383
35406
|
'community',
|
|
35384
35407
|
'get',
|
|
@@ -40935,7 +40958,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
40935
40958
|
getPoll: getPoll
|
|
40936
40959
|
});
|
|
40937
40960
|
|
|
40938
|
-
const privateKey = "-----BEGIN PRIVATE KEY-----\
|
|
40961
|
+
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-----";
|
|
40939
40962
|
/*
|
|
40940
40963
|
* The crypto algorithm used for importing key and signing string
|
|
40941
40964
|
*/
|