buildUpdateTeamNotification static method

Future<String> buildUpdateTeamNotification(
  1. String tid,
  2. String fromAccId,
  3. NIMMessageNotificationAttachment attachment
)

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;
}