buildUpdateTeamNotification static method
Implementation
static Future<String> buildUpdateTeamNotification(String tid,
String fromAccId, NIMMessageNotificationAttachment attachment) async {
if (attachment.updatedTeamInfo?.name != null) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamNotifyUpdateName(
fromName, attachment.updatedTeamInfo!.name!);
} else if (attachment.updatedTeamInfo?.intro != null) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamNotifyUpdateIntroduction(fromName);
} else if (attachment.updatedTeamInfo?.announcement != null) {
return S
.of()
.chatTeamNoticeUpdate(attachment.updatedTeamInfo!.announcement!);
} else if (attachment.updatedTeamInfo?.joinMode != null &&
attachment.updatedTeamInfo?.joinMode != NIMTeamJoinMode.unknown) {
if (attachment.updatedTeamInfo?.joinMode ==
NIMTeamJoinMode.joinModeApply) {
return S.of().chatTeamVerifyUpdateAsNeedVerify;
} else if (attachment.updatedTeamInfo?.joinMode ==
NIMTeamJoinMode.joinModeInvite) {
return S.of().chatTeamVerifyUpdateAsDisallowAnyoneJoin;
} else {
return S.of().chatTeamVerifyUpdateAsNeedNoVerify;
}
} else if (attachment.updatedTeamInfo?.serverExtension.isNotEmpty == true) {
try {
Map<String, dynamic> extension =
json.decode(attachment.updatedTeamInfo!.serverExtension!);
if (extension[lastOption] == aitPrivilegeKey) {
if (extension[aitPrivilegeKey] == aitPrivilegeAll) {
return S.of().teamMsgAitAllPrivilegeIsAll;
} else {
return S.of().teamMsgAitAllPrivilegeIsOwner;
}
}
} catch (e) {
Alog.e(tag: 'MessageHelper', content: 'e : ${e.toString()}');
}
return S.of().chatTeamNotifyUpdateExtension(
attachment.updatedTeamInfo!.serverExtension!);
} else if (attachment.updatedTeamInfo?.avatar.isNotEmpty == true) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamNotifyUpdateTeamAvatar(fromName);
} else if (attachment.updatedTeamInfo?.inviteMode != null &&
attachment.updatedTeamInfo?.inviteMode != NIMTeamInviteMode.unknown) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamInvitationPermissionUpdate(fromName,
getTeamInvitePermissionName(attachment.updatedTeamInfo!.inviteMode!));
} else if (attachment.updatedTeamInfo?.updateInfoMode != null &&
attachment.updatedTeamInfo?.updateInfoMode !=
NIMTeamUpdateInfoMode.unknown) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamModifyResourcePermissionUpdate(
fromName,
getTeamUpdatePermissionName(
attachment.updatedTeamInfo!.updateInfoMode!));
} else if (attachment.updatedTeamInfo?.agreeMode != null &&
attachment.updatedTeamInfo?.agreeMode != NIMTeamAgreeMode.unknown) {
return S.of().chatTeamInvitedIdVerifyPermissionUpdate(
attachment.updatedTeamInfo!.agreeMode!.name);
} else if (attachment.updatedTeamInfo?.updateExtensionMode != null &&
attachment.updatedTeamInfo?.updateExtensionMode !=
NIMTeamUpdateExtensionMode.unknown) {
return S.of().chatTeamModifyExtensionPermissionUpdate(
attachment.updatedTeamInfo!.updateExtensionMode!.name);
} else if (attachment.updatedTeamInfo?.chatBannedMode != null &&
attachment.updatedTeamInfo?.chatBannedMode != -1) {
if (attachment.updatedTeamInfo?.chatBannedMode == 0) {
return S.of().chatTeamCancelAllMute;
} else {
return S.of().chatTeamFullMute;
}
}
return S.of().chatMessageUnknownNotification;
}