support for GetAppliedZoneCandidates in sqlite

Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
Dmitri Dolguikh
2026-08-10 14:59:03 +02:00
parent 166b3d7739
commit e530c25812
7 changed files with 112 additions and 79 deletions
@@ -36,7 +36,7 @@ func (sc *SqliteStoreConn) GetAccountSettings(ctx context.Context, accountId str
rows.Next()
a := account{}
err = rows.Scan(networkmapdb.StructFields(reflect.ValueOf(&a))...)
err = rows.Scan(networkmapdb.StructFields(&a)...)
if err != nil {
return nmdata.AccountSettingsInfo{}, err
}
@@ -0,0 +1,38 @@
package networkmap_sqlite
import (
"context"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
"github.com/netbirdio/netbird/shared/management/networkmap"
)
const (
GetAccountZonesQuery = `
select zones.id as id, domain, not enable_search_domain as search_domain_disabled, distribution_groups,
r.name as record_name, r.type as record_type, 'IN' record_class, r.ttl as record_ttl, r.content as record_rdata
from zones
left join records as r on r.zone_id = zones.id
where zones.account_id=$1
`
)
func (sc *SqliteStoreConn) GetAppliedZoneCandidates(ctx context.Context, accountId string) ([]networkmap.AppliedZoneCandidate, error) {
rows, err := sc.Conn.QueryContext(ctx, GetAccountZonesQuery, accountId)
if err != nil {
return nil, err
}
defer rows.Close()
zones := make([]networkmapdb.Zone, 0)
for rows.Next() {
z := networkmapdb.Zone{}
err := rows.Scan(networkmapdb.StructFields(&z)...)
if err != nil {
return nil, err
}
zones = append(zones, z)
}
return networkmapdb.ZonesToAppliedZoneCandidates(zones)
}
@@ -11,7 +11,6 @@ import (
"database/sql"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
"github.com/netbirdio/netbird/shared/management/networkmap"
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
)
@@ -110,9 +109,6 @@ func (s *SqliteStoreConn) GetNetworkRouters(ctx context.Context, accountId strin
func (s *SqliteStoreConn) GetNetwork(ctx context.Context, accountId string) (nmdata.Network, error) {
return nmdata.Network{}, nil
}
func (s *SqliteStoreConn) GetAppliedZoneCandidates(ctx context.Context, accountId string) ([]networkmap.AppliedZoneCandidate, error) {
return nil, nil
}
func (s *SqliteStoreConn) GetPostureChecks(ctx context.Context, accountId string) ([]nmdata.PostureChecks, map[string]string, error) {
return nil, nil, nil
}