From 506d62e5f0112256cb6bac6f2db2e28dd2b53943 Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Fri, 7 Jun 2024 14:12:47 +0900 Subject: [PATCH] fix pdns api clients (retry 18x) fix controllers. --- .../dnsapi/controller/DomainController.kt | 43 ++++++++++-------- .../dnsapi/controller/RecordController.kt | 45 ++++++++++++------- 2 files changed, 55 insertions(+), 33 deletions(-) diff --git a/src/main/kotlin/space/mori/dnsapi/controller/DomainController.kt b/src/main/kotlin/space/mori/dnsapi/controller/DomainController.kt index 0545b11..3018d49 100644 --- a/src/main/kotlin/space/mori/dnsapi/controller/DomainController.kt +++ b/src/main/kotlin/space/mori/dnsapi/controller/DomainController.kt @@ -32,11 +32,14 @@ class DomainController( try { return ApiResponseDTO(result = domainService.getAllDomains().map { it.toDTO() }) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -54,11 +57,14 @@ class DomainController( try { return ApiResponseDTO(result = domainService.getDomainById(cfid!!).toDTO()) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -74,11 +80,14 @@ class DomainController( try { return ApiResponseDTO(result = domainService.createDomain(domain).toDTO()) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -96,16 +105,14 @@ class DomainController( return ApiResponseDTO(result = DeleteResponseWithId(domain_id)) } catch (e: PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 - throw ResponseStatusException( - HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO( - false, - errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, - result = listOf(null) - ).toString() + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } diff --git a/src/main/kotlin/space/mori/dnsapi/controller/RecordController.kt b/src/main/kotlin/space/mori/dnsapi/controller/RecordController.kt index 69e7c19..7e0d5f0 100644 --- a/src/main/kotlin/space/mori/dnsapi/controller/RecordController.kt +++ b/src/main/kotlin/space/mori/dnsapi/controller/RecordController.kt @@ -30,11 +30,14 @@ class RecordController( try { return ApiResponseDTO(result = recordService.getRecordsByDomain(zone_id)?.map{ it } ?: listOf()) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -50,11 +53,14 @@ class RecordController( try { return ApiResponseDTO(result = recordService.getRecord(zone_id, dns_record_id)) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -70,11 +76,14 @@ class RecordController( try { return ApiResponseDTO(result = recordService.createRecord(zone_id, record)) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -91,11 +100,14 @@ class RecordController( val record_id = recordService.deleteRecord(zone_id, dns_record_id) return ApiResponseDTO(result = DeleteResponseWithId(record_id)) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } } @@ -111,11 +123,14 @@ class RecordController( try { return ApiResponseDTO(result = recordService.updateRecord(zone_id, dns_record_id, record)) } catch(e : PowerDNSAPIException) { - val errors = mutableListOf(e.message) - errors.addAll(e.errors) var idx = 0 + val errors = mutableListOf(ErrorOrMessage(idx, e.message ?: "")) + e.errors.forEach{ + errors.add(ErrorOrMessage(idx++, it)) + } + throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED, - ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(idx++, it ?: "") }, result = listOf(null)).toString() + ApiResponseDTO(false, errors = errors, result = listOf(null)).toString() ) } }