replaceRecord method

Future<bool> replaceRecord(
  1. DNSRecord record
)

replaceRecord()

  • Replaces a single record in the DNS Table
  • Returns true if successful
  • Returns false if the record does not exist Required : DNSRecord

Implementation

Future<bool> replaceRecord(DNSRecord record) async {
  // Fetch Data
  final data = await refresh();
  final oldRecord = data.records.firstWhere(
    (r) => r.equalsName(r.host),
    orElse: () => DNSRecord.blank(),
  );

  // Remove Old Record
  final hasDeletedOldRecord = await deleteRecords([oldRecord]);
  if (!hasDeletedOldRecord) {
    return false;
  }

  // Perform Add Request
  final hasAddedNewRecord = await addRecords([record]);
  if (!hasAddedNewRecord) {
    return false;
  }
  return true;
}