repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

commit
442c4a1
parent
5a8cfee
author
Eric Bower
date
2025-03-19 14:47:22 -0400 EDT
chore(tui.tuns): godmode for admins
1 files changed,  +9, -3
M pkg/tui/tuns.go
+9, -3
 1@@ -91,6 +91,7 @@ type TunsPage struct {
 2 	logList   list.Dynamic
 3 	ctx       context.Context
 4 	done      context.CancelFunc
 5+	isAdmin   bool
 6 }
 7 
 8 func NewTunsPage(shrd *SharedModel) *TunsPage {
 9@@ -101,6 +102,10 @@ func NewTunsPage(shrd *SharedModel) *TunsPage {
10 	}
11 	m.leftPane = list.Dynamic{DrawCursor: true, Builder: m.getLeftWidget}
12 	m.logList = list.Dynamic{DrawCursor: true, Builder: m.getLogWidget}
13+	ff, _ := shrd.Dbpool.FindFeatureForUser(m.shared.User.ID, "admin")
14+	if ff != nil {
15+		m.isAdmin = true
16+	}
17 	return m
18 }
19 
20@@ -163,7 +168,8 @@ func (m *TunsPage) connectToLogs() error {
21 
22 		user := parsedData.User
23 		userId := parsedData.UserId
24-		if user == m.shared.User.Name || userId == m.shared.User.ID {
25+		isUser := user == m.shared.User.Name || userId == m.shared.User.ID
26+		if m.isAdmin || isUser {
27 			m.shared.App.PostEvent(ResultLogLineLoaded{parsedData})
28 		}
29 	}
30@@ -376,7 +382,7 @@ func (m *TunsPage) fetchTuns() {
31 
32 	ls := []TunsClientSimple{}
33 	for _, val := range tMap {
34-		if val.User != m.shared.User.Name {
35+		if !m.isAdmin && val.User != m.shared.User.Name {
36 			continue
37 		}
38 
39@@ -412,7 +418,7 @@ func (m *TunsPage) fetchTuns() {
40 	}
41 
42 	for _, val := range nMap {
43-		if val.User != m.shared.User.Name {
44+		if !m.isAdmin && val.User != m.shared.User.Name {
45 			continue
46 		}
47