fix pdns api clients (retry 11x)

This commit is contained in:
dalbodeule
2024-06-07 10:54:05 +09:00
parent f0f9bd4760
commit b86f2f9582
3 changed files with 39 additions and 10 deletions

View File

@@ -6,7 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema
import io.swagger.v3.oas.annotations.responses.ApiResponse import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.responses.ApiResponses import io.swagger.v3.oas.annotations.responses.ApiResponses
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.* import org.springframework.web.bind.annotation.*
import org.springframework.web.server.ResponseStatusException
import space.mori.dnsapi.PowerDNSAPIError import space.mori.dnsapi.PowerDNSAPIError
import space.mori.dnsapi.db.Domain import space.mori.dnsapi.db.Domain
import space.mori.dnsapi.dto.* import space.mori.dnsapi.dto.*
@@ -32,7 +34,10 @@ class DomainController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(
HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -51,7 +56,9 @@ class DomainController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -68,7 +75,9 @@ class DomainController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -87,7 +96,9 @@ class DomainController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }

View File

@@ -6,7 +6,9 @@ import io.swagger.v3.oas.annotations.media.Schema
import io.swagger.v3.oas.annotations.responses.ApiResponse import io.swagger.v3.oas.annotations.responses.ApiResponse
import io.swagger.v3.oas.annotations.responses.ApiResponses import io.swagger.v3.oas.annotations.responses.ApiResponses
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.* import org.springframework.web.bind.annotation.*
import org.springframework.web.server.ResponseStatusException
import space.mori.dnsapi.PowerDNSAPIError import space.mori.dnsapi.PowerDNSAPIError
import space.mori.dnsapi.dto.* import space.mori.dnsapi.dto.*
import space.mori.dnsapi.service.RecordService import space.mori.dnsapi.service.RecordService
@@ -30,7 +32,9 @@ class RecordController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -47,7 +51,9 @@ class RecordController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -64,7 +70,9 @@ class RecordController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -82,7 +90,9 @@ class RecordController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
@@ -99,7 +109,9 @@ class RecordController(
} catch(e : PowerDNSAPIError) { } catch(e : PowerDNSAPIError) {
val errors = mutableListOf(e.error) val errors = mutableListOf(e.error)
errors.addAll(e.errors) errors.addAll(e.errors)
return ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }) throw ResponseStatusException(HttpStatus.EXPECTATION_FAILED,
ApiResponseDTO(false, errors = errors.map { ErrorOrMessage(1, it) }, result = listOf(null)).toString()
)
} }
} }
} }

View File

@@ -1,11 +1,17 @@
package space.mori.dnsapi.dto package space.mori.dnsapi.dto
import com.google.gson.GsonBuilder
val gson = GsonBuilder().setPrettyPrinting().create()
data class ApiResponseDTO<T>( data class ApiResponseDTO<T>(
val success: Boolean = true, val success: Boolean = true,
val errors: List<ErrorOrMessage> = listOf(), val errors: List<ErrorOrMessage> = listOf(),
val messages: List<ErrorOrMessage> = listOf(), val messages: List<ErrorOrMessage> = listOf(),
val result: T? = null val result: T? = null
) ) {
override fun toString(): String = gson.toJson(this)
}
data class ErrorOrMessage( data class ErrorOrMessage(
val code: Int, val code: Int,