zego-zim-react-native
Version:
Zego ZIM SDK for React Native
790 lines (789 loc) • 30.7 kB
JavaScript
import { ZIMConversationType, } from './ZIMDefines';
import { ZIMManager } from './impl/ZIMManager';
import { NotInitError } from './impl/ZIMParamValid';
export default class ZIM {
engine;
static _instatance = null;
constructor(engine) {
if (!engine)
throw new Error('Can not be use new.');
this.engine = engine;
}
static setLogConfig(config) {
ZIMManager.getInstance().setLogConfig(config);
}
static setCacheConfig(config) {
ZIMManager.getInstance().setCacheConfig(config);
}
static setAdvancedConfig(key, value) {
ZIMManager.getInstance().setAdvancedConfig(key, value);
}
static setGeofencingConfig(areaList, type) {
return ZIMManager.getInstance().setGeofencingConfig(areaList, type);
}
/**
* Gets the SDK's version number.
*
* When the SDK is running, the developer finds that it does not match the expected situation and submits the problem and related logs to the ZEGO technical staff for locating. The ZEGO technical staff may need the information of the engine version to assist in locating the problem.
* Developers can also collect this information as the version information of the engine used by the app, so that the SDK corresponding to each version of the app on the line.
* @return {string} - SDK version
*/
static getVersion() {
return ZIMManager.getInstance().getVersion();
}
static create(appConfig) {
const appID = typeof appConfig == 'object' ? appConfig.appID : appConfig;
const appSign = typeof appConfig == 'object' ? appConfig.appSign : '';
const engine = ZIMManager.getInstance().createEngine(appID, appSign);
if (engine) {
ZIM._instatance = new ZIM(engine);
return ZIM._instatance;
}
return null;
}
static getInstance() {
return ZIM._instatance;
}
destroy() {
ZIMManager.getInstance().destroyEngine(this.engine);
// @ts-ignore
this.engine = null;
ZIM._instatance = null;
}
on(type, listener) {
this.engine && this.engine.on(type, listener);
}
off(type) {
this.engine && this.engine.off(type);
}
uploadLog() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.uploadLog();
}
// MARK: - Main
login(userID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.login(
// @ts-ignore
typeof userID == 'object' ? userID.userID : userID, typeof config == 'object'
? config
: {
// @ts-ignore
userName: typeof userID == 'object' ? userID.userName : '',
customStatus: '',
token: config,
isOfflineLogin: false,
});
}
logout() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.logout();
}
renewToken(token) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.renewToken(token);
}
updateUserName(userName) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateUserName(userName);
}
updateUserAvatarUrl(userAvatarUrl) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateUserAvatarUrl(userAvatarUrl);
}
updateUserExtendedData(extendedData) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateUserExtendedData(extendedData);
}
updateUserCustomStatus(customStatus) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateUserCustomStatus(customStatus);
}
updateUserOfflinePushRule(offlinePushRule) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateUserOfflinePushRule(offlinePushRule);
}
queryUsersInfo(userIDs, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryUsersInfo(userIDs, config);
}
querySelfUserInfo() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.querySelfUserInfo();
}
queryLocalFileCache(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryLocalFileCache(config);
}
clearLocalFileCache(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.clearLocalFileCache(config);
}
subscribeUsersStatus(userIDs, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.subscribeUsersStatus(true, userIDs, config);
}
unsubscribeUsersStatus(userIDs) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.subscribeUsersStatus(false, userIDs);
}
queryUsersStatus(userIDs) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryUsersStatus(userIDs);
}
querySubscribedUserStatusList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.querySubscribedUsersStatus(config);
}
// MARK: - Conversation
queryConversation(conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryConversation(conversationID, conversationType);
}
queryConversationList(config, option) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryConversationList(config, option);
}
queryConversationPinnedList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryConversationPinnedList(config);
}
queryConversationTotalUnreadMessageCount(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryConversationTotalUnreadMessageCount(config);
}
deleteConversation(conversationID, conversationType, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteConversation(conversationID, conversationType, config);
}
deleteAllConversations(config) {
return this.engine.deleteAllConversations(config);
}
updateConversationPinnedState(isPinned, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateConversationPinnedState(isPinned, conversationID, conversationType);
}
setConversationNotificationStatus(status, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setConversationNotificationStatus(status, conversationID, conversationType);
}
setConversationDraft(draft, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setConversationDraft(draft, conversationID, conversationType);
}
setConversationMark(markType, enable, conversationInfos) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setConversationMark(markType, enable, conversationInfos);
}
clearConversationUnreadMessageCount(conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.clearConversationUnreadMessageCount(conversationID, conversationType);
}
clearConversationTotalUnreadMessageCount() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.clearConversationTotalUnreadMessageCount();
}
deleteAllConversationMessages(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteAllConversationMessages(config);
}
/**
* @deprecated
* Deprecated since 2.4.0, please use [sendMessage].
*/
sendPeerMessage(message, toUserID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessage(message, toUserID, ZIMConversationType.Peer, config);
}
/**
* @deprecated
* Deprecated since 2.4.0, please use [sendMessage].
*/
sendGroupMessage(message, toGroupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessage(message, toGroupID, ZIMConversationType.Group, config);
}
/**
* @deprecated
* Deprecated since 2.4.0, please use [sendMessage].
*/
sendRoomMessage(message, toRoomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessage(message, toRoomID, ZIMConversationType.Room, config);
}
/**
* @deprecated
* Deprecated since 2.19.0, please use [sendMessage].
*/
sendMediaMessage(message, toConversationID, conversationType, config, notification) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessage(message, toConversationID, conversationType, config, notification);
}
sendMessage(message, toConversationID, conversationType, config, notification) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessage(message, toConversationID, conversationType, config, notification);
}
editMessage(message, config, notification) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.editMessage(message, notification);
}
deleteMessages(messageList, conversationID, conversationType, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteMessages(messageList, conversationID, conversationType, config);
}
deleteAllMessage(conversationID, conversationType, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteAllMessage(conversationID, conversationType, config);
}
queryHistoryMessage(conversationID, conversationType, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryHistoryMessage(conversationID, conversationType, config);
}
downloadMediaFile(message, fileType, config, progress) {
if (!this.engine)
return Promise.reject(NotInitError);
const _config = typeof config == 'function' ? { messageInfoIndex: 0 } : config;
const _progress = typeof config == 'function' ? config : progress;
return this.engine.downloadMediaFile(message, fileType, _config, _progress);
}
importLocalMessages(folderPath, config, progress) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.importLocalMessages(folderPath, config, progress);
}
exportLocalMessages(folderPath, config, progress) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.exportLocalMessages(folderPath, config, progress);
}
insertMessageToLocalDB(message, conversationID, conversationType, senderUserID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.insertMessageToLocalDB(message, conversationID, conversationType, senderUserID);
}
updateMessageLocalExtendedData(localExtendedData, message) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateMessageLocalExtendedData(localExtendedData, message);
}
revokeMessage(message, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.revokeMessage(message, config);
}
queryCombineMessageDetail(message) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryCombineMessageDetail(message);
}
// MARK: - Message receipt
sendConversationMessageReceiptRead(conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendConversationMessageReceiptRead(conversationID, conversationType);
}
sendMessageReceiptsRead(messageList, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendMessageReceiptsRead(messageList, conversationID, conversationType);
}
queryMessageReceiptsInfo(messageList, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryMessageReceiptsInfo(messageList, conversationID, conversationType);
}
queryGroupMessageReceiptReadMemberList(message, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMessageReceiptMemberList(message, groupID, config, true);
}
queryGroupMessageReceiptUnreadMemberList(message, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMessageReceiptMemberList(message, groupID, config, false);
}
// MARK: - Message reaction
addMessageReaction(reactionType, message) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.addMessageReaction(reactionType, message);
}
deleteMessageReaction(reactionType, message) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteMessageReaction(reactionType, message);
}
queryMessageReactionUserList(message, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryMessageReactionUserList(message, config);
}
// MARK: - Message reply
replyMessage(message, toOriginalMessage, config, notification) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.replyMessage(message, toOriginalMessage, config, notification);
}
queryMessageRepliedList(message, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryMessageRepliedList(message, config);
}
queryMessages(messageSeqs, conversationID, conversationType) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryMessages(messageSeqs, conversationID, conversationType);
}
// MARK: - Room
createRoom(roomInfo, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.createRoom(roomInfo, config);
}
enterRoom(roomInfo, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.enterRoom(roomInfo, config);
}
joinRoom(roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.joinRoom(roomID);
}
switchRoom(fromRoomID, toRoomInfo, isCreateWhenRoomNotExisted, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.switchRoom(fromRoomID, toRoomInfo, isCreateWhenRoomNotExisted, config);
}
leaveRoom(roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.leaveRoom(roomID);
}
leaveAllRoom() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.leaveAllRoom();
}
queryRoomMemberList(roomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomMemberList(roomID, config);
}
queryRoomMembers(userIDs, roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomMembers(userIDs, roomID);
}
queryRoomOnlineMemberCount(roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomOnlineMemberCount(roomID);
}
queryRoomAllAttributes(roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomAllAttributes(roomID);
}
setRoomAttributes(roomAttributes, roomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setRoomAttributes(roomAttributes, roomID, config);
}
deleteRoomAttributes(keys, roomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteRoomAttributes(keys, roomID, config);
}
beginRoomAttributesBatchOperation(roomID, config) {
this.engine && this.engine.beginRoomAttributesBatchOperation(roomID, config);
}
endRoomAttributesBatchOperation(roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.endRoomAttributesBatchOperation(roomID);
}
setRoomMembersAttributes(attributes, userIDs, roomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setRoomMembersAttributes(attributes, userIDs, roomID, config);
}
queryRoomMembersAttributes(userIDs, roomID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomMembersAttributes(userIDs, roomID);
}
queryRoomMemberAttributesList(roomID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryRoomMemberAttributesList(roomID, config);
}
// MARK: - Group
createGroup(groupInfo, userIDs, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.createGroup(groupInfo, userIDs, config);
}
joinGroup(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.joinGroup(true, groupID);
}
leaveGroup(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.leaveGroup(groupID);
}
dismissGroup(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.dismissGroup(groupID);
}
queryGroupList() {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupList();
}
updateGroupName(groupName, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupName(groupName, groupID);
}
updateGroupNotice(groupNotice, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupNotice(groupNotice, groupID);
}
updateGroupAvatarUrl(groupAvatarUrl, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupAvatarUrl(groupAvatarUrl, groupID);
}
muteGroup(isMute, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.muteGroup(isMute, groupID, config);
}
queryGroupInfo(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupInfo(groupID);
}
setGroupAttributes(groupAttributes, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setGroupAttributes(groupAttributes, groupID);
}
deleteGroupAttributes(keys, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteGroupAttributes(keys, groupID);
}
queryGroupAttributes(keys, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupAttributes(keys, groupID);
}
queryGroupAllAttributes(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupAllAttributes(groupID);
}
updateGroupAlias(groupAlias, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupAlias(groupAlias, groupID);
}
setGroupMemberNickname(nickname, forUserID, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setGroupMemberNickname(nickname, forUserID, groupID);
}
setGroupMemberRole(role, forUserID, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.setGroupMemberRole(role, forUserID, groupID);
}
transferGroupOwner(toUserID, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.transferGroupOwner(toUserID, groupID);
}
queryGroupMemberInfo(userID, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMemberInfo(userID, groupID);
}
inviteUsersIntoGroup(userIDs, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.inviteUsersIntoGroup(false, userIDs, groupID);
}
kickGroupMembers(userIDs, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.kickGroupMembers(userIDs, groupID);
}
queryGroupMemberList(groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMemberList(groupID, config);
}
queryGroupMemberCount(groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMemberCount(groupID);
}
muteGroupMembers(isMute, userIDs, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.muteGroupMembers(isMute, userIDs, groupID, config);
}
queryGroupMemberMutedList(groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupMemberMutedList(groupID, config);
}
updateGroupJoinMode(mode, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupVerifyMode(mode, groupID, 0);
}
updateGroupInviteMode(mode, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupVerifyMode(mode, groupID, 1);
}
updateGroupBeInviteMode(mode, groupID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateGroupVerifyMode(mode, groupID, 2);
}
sendGroupJoinApplication(groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.joinGroup(false, groupID, config);
}
acceptGroupJoinApplication(userID, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.acceptGroupApply(true, userID, groupID, config);
}
rejectGroupJoinApplication(userID, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.rejectGroupApply(true, userID, groupID, config);
}
sendGroupInviteApplications(userIDs, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.inviteUsersIntoGroup(true, userIDs, groupID, config);
}
acceptGroupInviteApplication(inviterUserID, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.acceptGroupApply(false, inviterUserID, groupID, config);
}
rejectGroupInviteApplication(inviterUserID, groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.rejectGroupApply(false, inviterUserID, groupID, config);
}
queryGroupApplicationList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryGroupApplyList(config);
}
// MARK: - Call
callInvite(invitees, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callInvite(invitees, config);
}
callCancel(invitees, callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callCancel(invitees, callID, config);
}
callAccept(callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callAccept(callID, config);
}
callReject(callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callReject(callID, config);
}
callQuit(callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callQuit(callID, config);
}
callEnd(callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callEnd(callID, config);
}
callJoin(callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callJoin(callID, config);
}
callingInvite(invitees, callID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.callingInvite(invitees, callID, config);
}
queryCallInvitationList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryCallInvitationList(config);
}
// MARK: - DB Search
searchLocalConversations(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchConversations(config);
}
searchGlobalLocalMessages(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchGlobalMessages(config);
}
searchLocalMessages(conversationID, conversationType, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchMessages(conversationID, conversationType, config);
}
searchLocalGroups(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchGroups(config);
}
searchLocalGroupMembers(groupID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchGroupMembers(groupID, config);
}
searchLocalFriends(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.searchFriends(config);
}
// MARK: - Friend
addFriend(userID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.addFriend(userID, config);
}
sendFriendApplication(userID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.sendFriendApplication(userID, config);
}
deleteFriends(userIDs, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.deleteFriends(userIDs, config);
}
checkFriendsRelation(userIDs, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.checkFriendsRelation(userIDs, config);
}
updateFriendAlias(friendAlias, userID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateFriendAlias(friendAlias, userID);
}
updateFriendAttributes(friendAttributes, userID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.updateFriendAttributes(friendAttributes, userID);
}
acceptFriendApplication(userID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.acceptFriendApplication(userID, config);
}
rejectFriendApplication(userID, config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.rejectFriendApplication(userID, config);
}
queryFriendsInfo(userIDs) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryFriendsInfo(userIDs);
}
queryFriendList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryFriendList(config);
}
queryFriendApplicationList(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryFriendApplicationList(config);
}
// MARK: - Blacklist
addUsersToBlacklist(userIDs) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.addUsersToBlacklist(userIDs);
}
removeUsersFromBlacklist(userIDs) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.removeUsersFromBlacklist(userIDs);
}
checkUserIsInBlacklist(userID) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.checkUserIsInBlacklist(userID);
}
queryBlacklist(config) {
if (!this.engine)
return Promise.reject(NotInitError);
return this.engine.queryBlacklist(config);
}
}