HOSTINGDE: Implement subaccount filtering feature (fixes #1974) (#2025)

Co-authored-by: Yannik Sembritzki <yannik@sembritzki.org>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
This commit is contained in:
Yannik Sembritzki 2023-02-01 00:03:29 +08:00 committed by GitHub
parent 83299e178e
commit 7f16c9ca6d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 9 deletions

View file

@ -14,10 +14,11 @@ import (
const endpoint = "%s/api/%s/v1/json/%s"
type hostingdeProvider struct {
authToken string
ownerAccountID string
baseURL string
nameservers []string
authToken string
ownerAccountID string
filterAccountId string
baseURL string
nameservers []string
}
func (hp *hostingdeProvider) getDomainConfig(domain string) (*domainConfig, error) {
@ -285,6 +286,12 @@ func (hp *hostingdeProvider) getAllZoneConfigs() ([]*zoneConfig, error) {
params := request{
Limit: 10000,
}
if hp.filterAccountId != "" {
params.Filter = &filter{
Field: "accountId",
Value: hp.filterAccountId,
}
}
resp, err := hp.get("dns", "zoneConfigsFind", params)
if err != nil {

View file

@ -46,7 +46,7 @@ type providerMeta struct {
}
func newHostingde(m map[string]string, providermeta json.RawMessage) (*hostingdeProvider, error) {
authToken, ownerAccountID, baseURL := m["authToken"], m["ownerAccountId"], m["baseURL"]
authToken, ownerAccountID, filterAccountId, baseURL := m["authToken"], m["ownerAccountId"], m["filterAccountId"], m["baseURL"]
if authToken == "" {
return nil, fmt.Errorf("hosting.de: authtoken must be provided")
@ -58,10 +58,11 @@ func newHostingde(m map[string]string, providermeta json.RawMessage) (*hostingde
baseURL = strings.TrimSuffix(baseURL, "/")
hp := &hostingdeProvider{
authToken: authToken,
ownerAccountID: ownerAccountID,
baseURL: baseURL,
nameservers: defaultNameservers,
authToken: authToken,
ownerAccountID: ownerAccountID,
filterAccountId: filterAccountId,
baseURL: baseURL,
nameservers: defaultNameservers,
}
if len(providermeta) > 0 {