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) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamVerifyUpdateAsNeedVerify(fromName);
} else if (attachment.updatedTeamInfo?.joinMode ==
NIMTeamJoinMode.joinModeInvite) {
return S.of().chatTeamVerifyUpdateAsDisallowAnyoneJoin;
} else {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamVerifyUpdateAsNeedNoVerify(fromName);
}
} 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) {
if (attachment.updatedTeamInfo?.agreeMode ==
NIMTeamAgreeMode.agreeModeAuth) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamInviteUpdateAsNeedVerify(fromName);
} else if (attachment.updatedTeamInfo?.agreeMode ==
NIMTeamAgreeMode.agreeModeNoAuth) {
var fromName = await getTeamMemberDisplayName(tid, fromAccId);
return S.of().chatTeamInviteUpdateAsNeedNoVerify(fromName);
}
} 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;
}