pico

created pr with 57.1 on 2025-03-28T16:55:01Z · by c8ef7d19
added 57.2 on 2025-04-06T20:54:25Z · by c8ef7d19
1: b47b145 = 1: 461e887 feat(pgs): admins can impersonate
2: 7275c44 = 2: 91dabf9 chore: use `user_id` in log middleware to set the user ctx
cmds
checkout latest patchset:
ssh pr.pico.sh print 57 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print 57.[rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 57
+7 -2 pkg/pssh/logger.go #
......@@ -1,6 +1,7 @@
11 package pssh
22
33 import (
4+ "fmt"
45 "log/slog"
56 "time"
67
......@@ -11,7 +12,7 @@ type ctxLoggerKey struct{}
1112 type ctxUserKey struct{}
1213
1314 type FindUserInterface interface {
14- FindUserByPubkey(string) (*db.User, error)
15+ FindUser(string) (*db.User, error)
1516 }
1617
1718 type GetLoggerInterface interface {
......@@ -29,7 +30,11 @@ func LogMiddleware(getLogger GetLoggerInterface, db FindUserInterface) SSHServer
2930
3031 user := GetUser(s)
3132 if user == nil {
32- user, err := db.FindUserByPubkey(s.Permissions().Extensions["pubkey"])
33+ userID, ok := s.Permissions().Extensions["user_id"]
34+ if !ok {
35+ return fmt.Errorf("`user_id` not set in permissions")
36+ }
37+ user, err := db.FindUser(userID)
3338 if err == nil && user != nil {
3439 logger = logger.With(
3540 "user", user.Name,
Back to top