support for GetDnsSettings in sqlite store

Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
Dmitri Dolguikh
2026-08-10 14:07:52 +02:00
parent 5e4d6a5e44
commit a03635680b
3 changed files with 45 additions and 7 deletions

View File

@@ -6,15 +6,11 @@ import (
"context"
"testing"
"github.com/netbirdio/netbird/management/server/types"
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
"github.com/stretchr/testify/assert"
)
func TestGetDnsSettings(t *testing.T) {
if engine == string(types.SqliteStoreEngine) {
t.Skip()
}
ctx := context.TODO()
settings, err := conn(t, ctx).GetDnsSettings(ctx, "account-1")

View File

@@ -0,0 +1,42 @@
package networkmap_sqlite
import (
"context"
"encoding/json"
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
)
const (
GetDnsSettingsQuery = `
select dns_settings_disabled_management_groups
from accounts
where id=$1
`
)
func (sc *SqliteStoreConn) GetDnsSettings(ctx context.Context, accountId string) (nmdata.DNSSettings, error) {
rows, err := sc.Conn.QueryContext(ctx, GetDnsSettingsQuery, accountId)
if err != nil {
return nmdata.DNSSettings{}, err
}
defer rows.Close()
var value nmdata.DNSSettings
var settings []byte
rows.Next()
if err := rows.Scan(&settings); err != nil {
return value, err
}
if settings == nil {
return nmdata.DNSSettings{}, nil
}
if err := json.Unmarshal(settings, &value.DisabledManagementGroups); err != nil {
return value, err
}
return value, nil
}

View File

@@ -2,6 +2,7 @@ package networkmap_sqlite
import (
"context"
"errors"
"net/url"
"path/filepath"
"runtime"
@@ -14,6 +15,8 @@ import (
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
)
var ErrNoRows = errors.New("no rows in result set")
type SqliteStore struct {
Db *sql.DB
}
@@ -116,9 +119,6 @@ func (s *SqliteStoreConn) GetPostureChecks(ctx context.Context, accountId string
func (s *SqliteStoreConn) GetAllowedUsers(ctx context.Context, accountId string) (map[string]struct{}, map[string][]string, error) {
return nil, nil, nil
}
func (s *SqliteStoreConn) GetDnsSettings(ctx context.Context, accountId string) (nmdata.DNSSettings, error) {
return nmdata.DNSSettings{}, nil
}
func (s *SqliteStoreConn) GetNetworkXIDToPublicIdMap(ctx context.Context, accountId string) (map[string]string, error) {
return nil, nil
}