agreeTeamActions method

void agreeTeamActions(
  1. ValidationTeamMessageMerged mergeMessage,
  2. BuildContext context
)

Implementation

void agreeTeamActions(
    ValidationTeamMessageMerged mergeMessage, BuildContext context) async {
  if (mergeMessage.lastMsg.actionStatus ==
      NIMTeamJoinActionStatus.joinActionStatusInit) {
    final message = mergeMessage.lastMsg;

    NIMResult<void> result;
    if (message.actionType ==
        NIMTeamJoinActionType.joinActionTypeInvitation) {
      result = await NimCore.instance.teamService.acceptInvitation(message);
    } else {
      result =
          await NimCore.instance.teamService.acceptJoinApplication(message);
    }

    if (result.isSuccess == true) {
      _handTeamActionAgree(mergeMessage, context);
    } else if (result.code == teamMemberNotExist) {
      // 该验证消息已在其他端处理
      Fluttertoast.showToast(msg: S.of(context).verifyMessageHaveBeenHandled);
      _handTeamActionExpired(mergeMessage, context);
    } else if (result.code == teamMemberLimitInvited) {
      Fluttertoast.showToast(msg: S.of(context).teamMemberLimited);
    } else if (result.code == teamInvitationNotExist) {
      Fluttertoast.showToast(msg: S.of(context).verifyMessageHaveBeenHandled);
      _handTeamActionExpired(mergeMessage, context);
    } else if (result.code == alreadyInTeamCode) {
      _handTeamActionExpired(mergeMessage, context);
      Fluttertoast.showToast(msg: S.of(context).teamMemberAlreadyExist);
    } else if (result.code == teamNotExist) {
      _handTeamActionExpired(mergeMessage, context);
      Fluttertoast.showToast(msg: S.of(context).teamNotExist);
    } else if (result.code == noPermission) {
      Fluttertoast.showToast(msg: S.of(context).teamVerifyNoPermission);
    } else {
      Fluttertoast.showToast(
          msg: S.of(context).operationFailed(result.code.toString()));
    }
  }
}