diff --git a/src/main/kotlin/space/mori/dnsapi/PowerDNSAPIClient.kt b/src/main/kotlin/space/mori/dnsapi/PowerDNSAPIClient.kt index 2282f55..d982656 100644 --- a/src/main/kotlin/space/mori/dnsapi/PowerDNSAPIClient.kt +++ b/src/main/kotlin/space/mori/dnsapi/PowerDNSAPIClient.kt @@ -26,7 +26,7 @@ class PowerDNSApiClient { } fun createDomain(name: String): ResponseEntity { - val url = "$apiUrl/servers/localhost/zones" + val url = "$apiUrl/api/v1/servers/localhost/zones" val headers = createHeaders() val domainRequest = DomainRequest("$name.", "Master", arrayOf(), arrayOf()) val body = gson.toJson(domainRequest) @@ -35,7 +35,7 @@ class PowerDNSApiClient { } fun createRecord(domainName: String, recordRequest: RecordRequestDTO): ResponseEntity { - val url = "$apiUrl/servers/localhost/zones/$domainName." + val url = "$apiUrl/api/v1/servers/localhost/zones/$domainName." val headers = createHeaders() val record = RecordRequest( name = "${recordRequest.name}.$domainName.", @@ -50,7 +50,7 @@ class PowerDNSApiClient { } fun deleteDomain(name: String): ResponseEntity { - val url = "$apiUrl/servers/localhost/zones/$name." + val url = "$apiUrl/api/v1/servers/localhost/zones/$name." val headers = createHeaders() val entity = HttpEntity(headers) return restTemplate.exchange(url, HttpMethod.DELETE, entity, String::class.java) diff --git a/src/main/kotlin/space/mori/dnsapi/service/DomainService.kt b/src/main/kotlin/space/mori/dnsapi/service/DomainService.kt index 0727f9f..57cd015 100644 --- a/src/main/kotlin/space/mori/dnsapi/service/DomainService.kt +++ b/src/main/kotlin/space/mori/dnsapi/service/DomainService.kt @@ -5,16 +5,12 @@ import org.springframework.stereotype.Service import space.mori.dnsapi.PowerDNSApiClient import space.mori.dnsapi.db.Domain import space.mori.dnsapi.db.DomainRepository -import space.mori.dnsapi.db.UserRepository import space.mori.dnsapi.dto.DomainRequestDTO import space.mori.dnsapi.filter.getCurrentUser -import java.util.* @Service class DomainService( - @Autowired - private val userRepository: UserRepository, @Autowired private val domainRepository: DomainRepository, @Autowired @@ -49,6 +45,11 @@ class DomainService( } fun deleteDomain(domain_id: String): String { + val domain = domainRepository.findByCfid(domain_id).orElseThrow { + throw RuntimeException("Domain with CFID $domain_id not found") + } + + powerDNSApiClient.deleteDomain(domain.name) val count = domainRepository.deleteByCfid(domain_id) if(count > 0) throw RuntimeException("Domain with CFID $domain_id not found")