tmp
All checks were successful
CI / test (pull_request) Successful in 1m2s

This commit is contained in:
2025-01-01 12:44:50 +01:00
parent fff36bf807
commit f1458b005b
3 changed files with 31 additions and 1 deletions

View File

@@ -3,18 +3,29 @@ package ionosDnsProvider
import (
"errors"
"net"
"realdnydns/model/common"
"realdnydns/pkg/dnsProvider"
ionosAPI "realdnydns/pkg/dnsProvider/ionos/api"
redis "github.com/redis/go-redis/v9"
)
type IONOS struct {
API ionosAPI.IonosAPI
API ionosAPI.IonosAPI
Redis *redis.Client
}
type IONOSConfig struct {
APIKey string `yaml:"api_key"`
BaseURL string `yaml:"base_url"`
Redis *IONOSRedisConfig
}
type IONOSRedisConfig struct {
Address string `yaml:"host"`
Password string `yaml:"password"`
DB int `yaml:"db"`
}
func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
@@ -26,8 +37,18 @@ func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
return nil, errors.New("base_url is required")
}
var redisClient *redis.Client = nil
if config.Redis != nil {
redisClient = redis.NewClient(&redis.Options{
Addr: config.Redis.Address,
Password: config.Redis.Password,
DB: config.Redis.DB,
})
}
return &IONOS{
ionosAPI.New(config.APIKey, config.BaseURL),
redisClient,
}, nil
}