From fad568fdb04c0c2430848ebe793c835ae0313110 Mon Sep 17 00:00:00 2001 From: Dmitri Dolguikh Date: Tue, 11 Aug 2026 10:51:34 +0200 Subject: [PATCH] support for GetNetworkXIDToPublicIdMap in sqlite Signed-off-by: Dmitri Dolguikh --- .../network_map_db/pgsql/networks.go | 14 ++------ .../internals/network_map_db/shared_types.go | 5 +++ .../network_map_db/sqlite/networks.go | 35 +++++++++++++++++++ .../network_map_db/sqlite/sqlite_store.go | 3 -- 4 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 management/internals/network_map_db/sqlite/networks.go diff --git a/management/internals/network_map_db/pgsql/networks.go b/management/internals/network_map_db/pgsql/networks.go index 501b74d81..306356972 100644 --- a/management/internals/network_map_db/pgsql/networks.go +++ b/management/internals/network_map_db/pgsql/networks.go @@ -2,9 +2,9 @@ package networkmap_pgsql import ( "context" - "database/sql" "github.com/jackc/pgx/v5" + networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db" ) const ( @@ -14,16 +14,13 @@ const ( ` ) -func (pgc *PgStoreConn) GetNetworks(ctx context.Context, accountId string) ([]network, error) { +func (pgc *PgStoreConn) GetNetworkXIDToPublicIdMap(ctx context.Context, accountId string) (map[string]string, error) { rows, err := pgc.Conn.Query(ctx, GetNetworksQuery, accountId) if err != nil { return nil, err } - return pgx.CollectRows(rows, pgx.RowToStructByName[network]) -} -func (pgc *PgStoreConn) GetNetworkXIDToPublicIdMap(ctx context.Context, accountId string) (map[string]string, error) { - networks, err := pgc.GetNetworks(ctx, accountId) + networks, err := pgx.CollectRows(rows, pgx.RowToStructByName[networkmapdb.Network]) if err != nil { return nil, err } @@ -37,8 +34,3 @@ func (pgc *PgStoreConn) GetNetworkXIDToPublicIdMap(ctx context.Context, accountI return toret, nil } - -type network struct { - ID string - PublicID sql.NullString -} diff --git a/management/internals/network_map_db/shared_types.go b/management/internals/network_map_db/shared_types.go index 2bb9f12cf..c2b6d78f2 100644 --- a/management/internals/network_map_db/shared_types.go +++ b/management/internals/network_map_db/shared_types.go @@ -87,6 +87,11 @@ type AccountNetwork struct { Serial sql.NullInt64 } +type Network struct { + ID string + PublicID sql.NullString +} + func RecordTypeAndRdata(t, rdata string) (int, string, error) { switch t { case "A": diff --git a/management/internals/network_map_db/sqlite/networks.go b/management/internals/network_map_db/sqlite/networks.go new file mode 100644 index 000000000..e19336846 --- /dev/null +++ b/management/internals/network_map_db/sqlite/networks.go @@ -0,0 +1,35 @@ +package networkmap_sqlite + +import ( + "context" + + networkmapdb "github.com/netbirdio/netbird/management/internals/network_map_db" +) + +const ( + GetNetworksQuery = ` + select id, public_id + from networks where account_id=? + ` +) + +func (sc *SqliteStoreConn) GetNetworkXIDToPublicIdMap(ctx context.Context, accountId string) (map[string]string, error) { + rows, err := sc.Conn.QueryContext(ctx, GetNetworksQuery, accountId) + if err != nil { + return nil, err + } + + networks, err := CollectRowsForSqlite[networkmapdb.Network](rows) + if err != nil { + return nil, err + } + + toret := make(map[string]string) + for _, n := range networks { + if n.PublicID.Valid { + toret[n.ID] = n.PublicID.String + } + } + + return toret, nil +} diff --git a/management/internals/network_map_db/sqlite/sqlite_store.go b/management/internals/network_map_db/sqlite/sqlite_store.go index f0618af3c..82d9e3692 100644 --- a/management/internals/network_map_db/sqlite/sqlite_store.go +++ b/management/internals/network_map_db/sqlite/sqlite_store.go @@ -135,9 +135,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) GetNetworkXIDToPublicIdMap(ctx context.Context, accountId string) (map[string]string, error) { - return nil, nil -} func (s *SqliteStoreConn) GetPrivateServices(ctx context.Context, accountId string) ([]networkmapdb.Service, error) { return nil, nil }