repos / pico

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

commit
91dabf9
parent
461e887
author
Eric Bower
date
2025-03-28 12:54:28 -0400 EDT
chore: use `user_id` in log middleware to set the user ctx
1 files changed,  +7, -2
M pkg/pssh/logger.go
+7, -2
 1@@ -1,6 +1,7 @@
 2 package pssh
 3 
 4 import (
 5+	"fmt"
 6 	"log/slog"
 7 	"time"
 8 
 9@@ -11,7 +12,7 @@ type ctxLoggerKey struct{}
10 type ctxUserKey struct{}
11 
12 type FindUserInterface interface {
13-	FindUserByPubkey(string) (*db.User, error)
14+	FindUser(string) (*db.User, error)
15 }
16 
17 type GetLoggerInterface interface {
18@@ -29,7 +30,11 @@ func LogMiddleware(getLogger GetLoggerInterface, db FindUserInterface) SSHServer
19 
20 				user := GetUser(s)
21 				if user == nil {
22-					user, err := db.FindUserByPubkey(s.Permissions().Extensions["pubkey"])
23+					userID, ok := s.Permissions().Extensions["user_id"]
24+					if !ok {
25+						return fmt.Errorf("`user_id` not set in permissions")
26+					}
27+					user, err := db.FindUser(userID)
28 					if err == nil && user != nil {
29 						logger = logger.With(
30 							"user", user.Name,