fix(cloudflare): Adapt Cloudflare DNS convertion

pull/392/head
NaiJi ✨ 2024-01-05 07:15:27 +04:00
parent 19e070133c
commit ff9c96a114
3 changed files with 20 additions and 8 deletions

View File

@ -18,12 +18,23 @@ CloudflareDnsRecord _fromDnsRecord(
);
}
DnsRecord _toDnsRecord(final CloudflareDnsRecord cloudflareRecord) => DnsRecord(
content: cloudflareRecord.content,
name: cloudflareRecord.name,
type: cloudflareRecord.type,
ttl: cloudflareRecord.ttl,
);
DnsRecord _toDnsRecord(
final CloudflareDnsRecord cloudflareRecord,
final String domainName,
) {
String? name = cloudflareRecord.name;
if (name != null && name.endsWith('.$domainName')) {
// e.g. 'api.example.com -> [api] [example] [com] -> [api]'
name = name.split('.')[0];
}
return DnsRecord(
content: cloudflareRecord.content,
type: cloudflareRecord.type,
ttl: cloudflareRecord.ttl,
name: name,
);
}
ServerDomain _toServerDomain(final CloudflareZone cloudflareZone) =>
ServerDomain(

View File

@ -93,5 +93,6 @@ class CloudflareDnsRecord {
static CloudflareDnsRecord fromJson(final Map<String, dynamic> json) =>
_$CloudflareDnsRecordFromJson(json);
Map<String, dynamic> toJson() => _$CloudflareDnsRecordToJson(this);
DnsRecord toDnsRecord() => _toDnsRecord(this);
DnsRecord toDnsRecord(final String domainName) =>
_toDnsRecord(this, domainName);
}

View File

@ -154,7 +154,7 @@ class CloudflareDnsProvider extends DnsProvider {
}
for (final rawRecord in result.data) {
records.add(rawRecord.toDnsRecord());
records.add(rawRecord.toDnsRecord(domain.domainName));
}
return GenericResult(