Cleanup, added transient id/zone ifnromation to dns records
This commit is contained in:
parent
6d7cd990b7
commit
c970fc7888
@ -22,6 +22,8 @@ import dorkbox.api.core.*
|
|||||||
import dorkbox.api.dns.CreateDnsRecord
|
import dorkbox.api.dns.CreateDnsRecord
|
||||||
import dorkbox.api.dns.DeleteDnsRecord
|
import dorkbox.api.dns.DeleteDnsRecord
|
||||||
import dorkbox.api.dns.DnsRecord
|
import dorkbox.api.dns.DnsRecord
|
||||||
|
import dorkbox.api.dns.UpdateDnsRecord
|
||||||
|
import dorkbox.api.firewall.AccessRule
|
||||||
import dorkbox.api.user.BillingHistory
|
import dorkbox.api.user.BillingHistory
|
||||||
import dorkbox.api.user.BillingProfile
|
import dorkbox.api.user.BillingProfile
|
||||||
import dorkbox.api.user.User
|
import dorkbox.api.user.User
|
||||||
@ -93,8 +95,8 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun getUser(): User {
|
fun getUserDetails(): User {
|
||||||
return wrap(cloudflare.getUser(xAuthEmail, xAuthKey))
|
return wrap(cloudflare.getUserDetails(xAuthEmail, xAuthKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getUserBillingProfile(): BillingProfile {
|
fun getUserBillingProfile(): BillingProfile {
|
||||||
@ -118,19 +120,29 @@ class Kloudflare(private val xAuthEmail: String, private val xAuthKey: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun listDnsRecords(zone: Zone): List<DnsRecord> {
|
fun listDnsRecords(zone: Zone): List<DnsRecord> {
|
||||||
return wrap(cloudflare.listDnsRecords(xAuthEmail, xAuthKey, zone.id))
|
val wrap = wrap(cloudflare.listDnsRecords(xAuthEmail, xAuthKey, zone.id))
|
||||||
|
wrap.forEach {
|
||||||
|
it.zone = zone
|
||||||
|
}
|
||||||
|
return wrap
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createDnsRecord(zone: Zone, dnsRecord: CreateDnsRecord): DnsRecord {
|
fun createDnsRecord(dnsRecord: CreateDnsRecord): DnsRecord {
|
||||||
return wrap(cloudflare.createDnsRecord(xAuthEmail, xAuthKey, zone.id, dnsRecord))
|
val wrap = wrap(cloudflare.createDnsRecord(xAuthEmail, xAuthKey, dnsRecord.zone.id, dnsRecord))
|
||||||
|
wrap.zone = dnsRecord.zone
|
||||||
|
return wrap
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDnsRecord(zone: Zone, newDnsRecord: CreateDnsRecord): Any {
|
fun updateDnsRecord(updatedDnsRecord: UpdateDnsRecord): Any {
|
||||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
return wrap(cloudflare.updateDnsRecord(xAuthEmail, xAuthKey, updatedDnsRecord.zone.id, updatedDnsRecord.id, updatedDnsRecord))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteDnsRecord(zone: Zone, dnsRecord: DnsRecord): DeleteDnsRecord {
|
fun deleteDnsRecord(dnsRecord: DnsRecord): DeleteDnsRecord {
|
||||||
return wrap(cloudflare.deleteDnsRecord(xAuthEmail, xAuthKey, zone.id, dnsRecord.id))
|
return wrap(cloudflare.deleteDnsRecord(xAuthEmail, xAuthKey, dnsRecord.zone.id, dnsRecord.id))
|
||||||
|
}
|
||||||
|
|
||||||
|
fun listAccessRules(): List<AccessRule> {
|
||||||
|
return wrap(cloudflare.listAccessRules(xAuthEmail, xAuthKey))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ interface CloudflareActions {
|
|||||||
*/
|
*/
|
||||||
@Headers("Content-Type: application/json")
|
@Headers("Content-Type: application/json")
|
||||||
@GET("user")
|
@GET("user")
|
||||||
fun getUser(
|
fun getUserDetails(
|
||||||
@Header("X-Auth-Email") email: String,
|
@Header("X-Auth-Email") email: String,
|
||||||
@Header("X-Auth-Key") key: String
|
@Header("X-Auth-Key") key: String
|
||||||
): Call<CfResponse<User>>
|
): Call<CfResponse<User>>
|
||||||
|
@ -20,7 +20,14 @@ import com.squareup.moshi.Json
|
|||||||
/**
|
/**
|
||||||
* https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record
|
* https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record
|
||||||
*/
|
*/
|
||||||
open class CreateDnsRecord {
|
open class CreateDnsRecord(dnsRecord: DnsRecord) {
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
var id = dnsRecord.id
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
var zone = dnsRecord.zone
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Record type
|
* Record type
|
||||||
* A, AAAA, CNAME, TXT, SRV, LOC, MX, NS, SPF, CERT, DNSKEY, DS, NAPTR, SMIMEA, SSHFP, TLSA, URI
|
* A, AAAA, CNAME, TXT, SRV, LOC, MX, NS, SPF, CERT, DNSKEY, DS, NAPTR, SMIMEA, SSHFP, TLSA, URI
|
||||||
|
@ -17,12 +17,20 @@ package dorkbox.api.dns
|
|||||||
|
|
||||||
import com.squareup.moshi.Json
|
import com.squareup.moshi.Json
|
||||||
import dorkbox.api.core.ISO8601
|
import dorkbox.api.core.ISO8601
|
||||||
|
import dorkbox.api.zone.Zone
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://api.cloudflare.com/#dns-records-for-a-zone-properties
|
* https://api.cloudflare.com/#dns-records-for-a-zone-properties
|
||||||
*/
|
*/
|
||||||
open class DnsRecord {
|
open class DnsRecord {
|
||||||
|
/**
|
||||||
|
* Which zone this DNS record belongs to
|
||||||
|
*/
|
||||||
|
@Transient
|
||||||
|
lateinit var zone: Zone
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DNS record identifier tag
|
* DNS record identifier tag
|
||||||
*/
|
*/
|
||||||
|
@ -5,4 +5,4 @@ package dorkbox.api.dns
|
|||||||
*
|
*
|
||||||
* This is the "same" object as creating a new record. This is a different type in order to prevent confusion and simplify naming conventions
|
* This is the "same" object as creating a new record. This is a different type in order to prevent confusion and simplify naming conventions
|
||||||
*/
|
*/
|
||||||
class UpdateDnsRecord : CreateDnsRecord()
|
class UpdateDnsRecord(dnsRecord: DnsRecord) : CreateDnsRecord(dnsRecord)
|
||||||
|
Loading…
Reference in New Issue
Block a user