(self, request: DeleteDnsCredentialRequest)
| 395 | } |
| 396 | |
| 397 | async fn delete_dns_credential(self, request: DeleteDnsCredentialRequest) -> Result<()> { |
| 398 | let kv_store = self.state.kv_store(); |
| 399 | |
| 400 | // Check if this is the default credential |
| 401 | if let Some(default_id) = kv_store.get_default_dns_credential_id() { |
| 402 | if default_id == request.id { |
| 403 | bail!("cannot delete the default DNS credential; set a different default first"); |
| 404 | } |
| 405 | } |
| 406 | |
| 407 | // Check if any ZT-Domain configs reference this credential |
| 408 | let configs = kv_store.list_zt_domain_configs(); |
| 409 | for config in configs { |
| 410 | if config.dns_cred_id.as_deref() == Some(&request.id) { |
| 411 | bail!( |
| 412 | "cannot delete DNS credential: domain {} uses it", |
| 413 | config.domain |
| 414 | ); |
| 415 | } |
| 416 | } |
| 417 | |
| 418 | kv_store.delete_dns_credential(&request.id)?; |
| 419 | info!("Deleted DNS credential: {}", request.id); |
| 420 | Ok(()) |
| 421 | } |
| 422 | |
| 423 | async fn get_default_dns_credential(self) -> Result<GetDefaultDnsCredentialResponse> { |
| 424 | let kv_store = self.state.kv_store(); |
nothing calls this directly
no test coverage detected