From 389b452acc2e75ab23a5fe5c35831f14be42fb2d Mon Sep 17 00:00:00 2001 From: Ralph Caraveo Date: Mon, 15 Jan 2024 14:58:45 -0800 Subject: [PATCH] finally got around to fixing the SelfView fake info --- cmd/utility_test.go | 2 +- pkg/processors.go | 14 ++++++++++---- pkg/renderers.go | 6 +++--- pkg/renderers_test.go | 4 ++-- pkg/views.go | 2 +- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/cmd/utility_test.go b/cmd/utility_test.go index 8510322..a4ca21d 100644 --- a/cmd/utility_test.go +++ b/cmd/utility_test.go @@ -41,7 +41,7 @@ func TestGetHosts(t *testing.T) { tv := &pkg.GeneralTableView{ ContextView: pkg.ContextView{}, TailnetView: pkg.TailnetView{}, - SelfView: pkg.SelfView{}, + Self: &pkg.SelfView{}, Headers: []pkg.Header{}, Rows: [][]string{ {"a", "a1", "a2", "a3", "a4", "a5"}, diff --git a/pkg/processors.go b/pkg/processors.go index 11dfc59..863f105 100644 --- a/pkg/processors.go +++ b/pkg/processors.go @@ -100,10 +100,10 @@ func ProcessDevicesTable(ctx context.Context, devList []*WrappedDevice) (*Genera // This should represent the size of the entire result-set. TotalMachines: len(devList), }, - SelfView: SelfView{ - Index: 0, - DNSName: "foo.bar.3234.dns.name.", - }, + //SelfView: SelfView{ + // Index: 0, + // DNSName: "foo.bar.3234.dns.name.", + //}, Headers: hdrs, } @@ -111,6 +111,12 @@ func ProcessDevicesTable(ctx context.Context, devList []*WrappedDevice) (*Genera tbl.Rows = make([][]string, 0, len(slicedDevList)) for idx, dev := range slicedDevList { + if dev.EnrichedInfo != nil && dev.EnrichedInfo.IsSelf { + tbl.Self = &SelfView{ + Index: idx, + DNSName: dev.Name, + } + } tbl.Rows = append(tbl.Rows, getRow(ctx, idx, hdrs, dev)) } diff --git a/pkg/renderers.go b/pkg/renderers.go index 27dfba7..6b22e35 100644 --- a/pkg/renderers.go +++ b/pkg/renderers.go @@ -158,9 +158,9 @@ func renderTableProlog(ctx context.Context, tableView *GeneralTableView, w io.Wr fmt.Fprint(w, ui.Styles.Faint.Render("Query: ")) fmt.Fprintln(w, ui.Styles.Bold.Render(tableView.Query)) - if len(tableView.DNSName) > 0 { - fmt.Fprint(w, ui.Styles.Faint.Render(fmt.Sprintf("Self (%d): ", tableView.SelfView.Index))) - fmt.Fprintln(w, ui.Styles.Bold.Render(tableView.SelfView.DNSName)) + if tableView.Self != nil && len(tableView.Self.DNSName) > 0 { + fmt.Fprint(w, ui.Styles.Faint.Render(fmt.Sprintf("Self (%d): ", tableView.Self.Index))) + fmt.Fprintln(w, ui.Styles.Bold.Render(tableView.Self.DNSName)) } return nil diff --git a/pkg/renderers_test.go b/pkg/renderers_test.go index dada42c..23f9022 100644 --- a/pkg/renderers_test.go +++ b/pkg/renderers_test.go @@ -35,7 +35,7 @@ func TestRenderIPs(t *testing.T) { tv := &GeneralTableView{ ContextView: ContextView{}, TailnetView: TailnetView{}, - SelfView: SelfView{}, + Self: &SelfView{}, Rows: [][]string{ {"foo", "bar", "127.0.0.1"}, {"coo", "car", "127.0.0.2"}, @@ -58,7 +58,7 @@ func TestRenderJson(t *testing.T) { tv := &GeneralTableView{ ContextView: ContextView{}, TailnetView: TailnetView{}, - SelfView: SelfView{}, + Self: &SelfView{}, Headers: []Header{ HdrNo, HdrMachine, HdrIpv4, }, diff --git a/pkg/views.go b/pkg/views.go index 18c3f37..fad9226 100644 --- a/pkg/views.go +++ b/pkg/views.go @@ -56,7 +56,7 @@ type DevicesTable struct { type GeneralTableView struct { ContextView TailnetView - SelfView + Self *SelfView Headers []Header Rows [][]string }