support for GetDomains in sqlite

Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
Dmitri Dolguikh
2026-08-10 15:55:24 +02:00
parent e530c25812
commit 763b8f6933
6 changed files with 68 additions and 24 deletions
@@ -32,14 +32,8 @@ func (sc *SqliteStoreConn) GetAccountSettings(ctx context.Context, accountId str
if err != nil {
return nmdata.AccountSettingsInfo{}, err
}
defer rows.Close()
rows.Next()
a := account{}
err = rows.Scan(networkmapdb.StructFields(&a)...)
if err != nil {
return nmdata.AccountSettingsInfo{}, err
}
a, err := networkmapdb.CollectOneRowForSqlite[account](rows)
settingsInfo := nmdata.AccountSettingsInfo{}
err = networkmapdb.FromSqlTypesToSharedTypes(reflect.ValueOf(&a), reflect.ValueOf(&settingsInfo))
@@ -22,16 +22,10 @@ func (sc *SqliteStoreConn) GetAppliedZoneCandidates(ctx context.Context, account
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)
zones, err := networkmapdb.CollectRowsForSqlite[networkmapdb.Zone](rows)
if err != nil {
return nil, err
}
return networkmapdb.ZonesToAppliedZoneCandidates(zones)
@@ -0,0 +1,24 @@
package networkmap_sqlite
import (
"context"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
)
const (
GetDomainsQuery = `
select domain, target_cluster
from domains
where account_id=$1 and domain<>'' and target_cluster<>''
`
)
func (sc *SqliteStoreConn) GetDomains(ctx context.Context, accountId string) ([]networkmapdb.Domain, error) {
rows, err := sc.Conn.QueryContext(ctx, GetDomainsQuery, accountId)
if err != nil {
return nil, err
}
return networkmapdb.CollectRowsForSqlite[networkmapdb.Domain](rows)
}
@@ -85,9 +85,6 @@ func (s *SqliteStore) UsingConn() *SqliteStoreConn {
func (s *SqliteStoreConn) GetGroups(ctx context.Context, accountId string) ([]nmdata.Group, map[string]map[string]any, error) {
return nil, nil, nil
}
func (s *SqliteStoreConn) GetDomains(ctx context.Context, accountId string) ([]networkmapdb.Domain, error) {
return nil, nil
}
func (s *SqliteStoreConn) GetPeers(ctx context.Context, accountId string) ([]nmdata.Peer, map[string][]*nmdata.Peer, error) {
return nil, nil, nil
}