added support for GetNetworkResources in sqlite; moved several more internal types into shared_types

Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
Dmitri Dolguikh
2026-08-10 18:07:31 +02:00
parent 3834e67a51
commit 433a4f12bf
9 changed files with 79 additions and 111 deletions

View File

@@ -2,7 +2,6 @@ package networkmap_sqlite
import (
"context"
"database/sql"
"reflect"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
@@ -33,7 +32,7 @@ func (sc *SqliteStoreConn) GetAccountSettings(ctx context.Context, accountId str
return nmdata.AccountSettingsInfo{}, err
}
a, err := networkmapdb.CollectOneRowForSqlite[account](rows)
a, err := networkmapdb.CollectOneRowForSqlite[networkmapdb.Account](rows)
settingsInfo := nmdata.AccountSettingsInfo{}
err = networkmapdb.FromSqlTypesToSharedTypes(reflect.ValueOf(&a), reflect.ValueOf(&settingsInfo))
@@ -43,17 +42,3 @@ func (sc *SqliteStoreConn) GetAccountSettings(ctx context.Context, accountId str
return settingsInfo, nil
}
type account struct {
PeerLoginExpirationEnabled sql.NullBool
PeerLoginExpiration sql.NullInt64
PeerInactivityExpirationEnabled sql.NullBool
PeerInactivityExpiration sql.NullInt64
DNSDomain sql.NullString
IPv6EnabledGroups []byte `nmap:"json"`
RoutingPeerDNSResolutionEnabled sql.NullBool
LazyConnectionEnabled sql.NullBool
AutoUpdateVersion sql.NullString
AutoUpdateAlways sql.NullBool
MetricsPushEnabled sql.NullBool
}

View File

@@ -2,7 +2,6 @@ package networkmap_sqlite
import (
"context"
"database/sql"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
@@ -22,23 +21,10 @@ func (sc *SqliteStoreConn) GetNameServerGroups(ctx context.Context, accountId st
return nil, err
}
nsgroups, err := networkmapdb.CollectRowsForSqlite[nameserverGroup](rows)
nsgroups, err := networkmapdb.CollectRowsForSqlite[networkmapdb.NameserverGroup](rows)
if err != nil {
return nil, err
}
return networkmapdb.ConvertAllToSharedTypes[nameserverGroup, nmdata.NameServerGroup](nsgroups)
}
type nameserverGroup struct {
ID string
PublicID sql.NullString
Name sql.NullString
Description sql.NullString
NameServers []byte `nmap:"json"`
Groups []byte `nmap:"json"`
Primary sql.NullBool
Domains []byte `nmap:"json"`
Enabled sql.NullBool
SearchDomainsEnabled sql.NullBool
return networkmapdb.ConvertAllToSharedTypes[networkmapdb.NameserverGroup, nmdata.NameServerGroup](nsgroups)
}

View File

@@ -0,0 +1,30 @@
package networkmap_sqlite
import (
"context"
networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db"
"github.com/netbirdio/netbird/shared/management/networkmap/nmdata"
)
const (
GetNetworkResourcesQuery = `
select id, network_id, account_id, public_id, name, description, type, domain, prefix, enabled
from network_resources
where account_id=$1
`
)
func (sc *SqliteStoreConn) GetNetworkResources(ctx context.Context, accountId string) ([]nmdata.NetworkResource, error) {
rows, err := sc.Conn.QueryContext(ctx, GetNetworkResourcesQuery, accountId)
if err != nil {
return nil, err
}
netresorces, err := networkmapdb.CollectRowsForSqlite[networkmapdb.Networkresource](rows)
if err != nil {
return nil, err
}
return networkmapdb.ConvertAllToSharedTypes[networkmapdb.Networkresource, nmdata.NetworkResource](netresorces)
}

View File

@@ -91,9 +91,6 @@ func (s *SqliteStoreConn) GetPolicies(ctx context.Context, accountId string) ([]
func (s *SqliteStoreConn) GetRoutes(ctx context.Context, accountId string) ([]nmdata.Route, error) {
return nil, nil
}
func (s *SqliteStoreConn) GetNetworkResources(ctx context.Context, accountId string) ([]nmdata.NetworkResource, error) {
return nil, nil
}
func (s *SqliteStoreConn) GetNetworkRouters(ctx context.Context, accountId string) (map[string]map[string]*nmdata.NetworkRouter, error) {
return nil, nil
}