import 'package:selfprivacy/logic/api_maps/api_generic_result.dart'; import 'package:selfprivacy/logic/api_maps/rest_maps/api_map.dart'; import 'package:selfprivacy/logic/models/hive/server_domain.dart'; import 'package:selfprivacy/logic/models/json/dns_records.dart'; import 'package:selfprivacy/utils/network_utils.dart'; export 'package:selfprivacy/logic/api_maps/api_generic_result.dart'; class DomainNotFoundException implements Exception { DomainNotFoundException(this.message); final String message; } abstract class DnsProviderApi extends ApiMap { Future> getDnsRecords({ required final ServerDomain domain, }); Future> removeSimilarRecords({ required final ServerDomain domain, final String? ip4, }); Future> createMultipleDnsRecords({ required final ServerDomain domain, final String? ip4, }); Future setDnsRecord( final DnsRecord record, final ServerDomain domain, ); Future>> validateDnsRecords( final ServerDomain domain, final String ip4, final String dkimPublicKey, ); List getDesiredDnsRecords( final String? domainName, final String? ip4, final String? dkimPublicKey, ); Future getZoneId(final String domain); Future> domainList(); Future> isApiTokenValid(final String token); RegExp getApiTokenValidation(); }