refactor: update api and client to reference humanIds

This commit is contained in:
talksik
2026-03-24 19:08:51 -07:00
parent 3bf3f16be7
commit 57a1cbc696
24 changed files with 666 additions and 416 deletions
+18 -3
View File
@@ -11,7 +11,10 @@ import (
type contextKey string
const emailContextKey contextKey = "email"
const (
emailContextKey contextKey = "email"
humanIdContextKey contextKey = "humanId"
)
// WithEmail adds the email to the context
func WithEmail(ctx context.Context, email string) context.Context {
@@ -24,6 +27,17 @@ func EmailFromContext(ctx context.Context) (string, bool) {
return email, ok
}
// WithHumanId adds the humanId to the context
func WithHumanId(ctx context.Context, humanId string) context.Context {
return context.WithValue(ctx, humanIdContextKey, humanId)
}
// HumanIdFromContext extracts the id from the context
func HumanIdFromContext(ctx context.Context) (string, bool) {
humanId, ok := ctx.Value(humanIdContextKey).(string)
return humanId, ok
}
// Auth returns a middleware that validates the session token and adds the email to the context
func Auth(authSvc auth.AuthService) func(http.Handler) http.Handler {
return func(next http.Handler) http.Handler {
@@ -34,7 +48,7 @@ func Auth(authSvc auth.AuthService) func(http.Handler) http.Handler {
return
}
email, err := authSvc.GetSession(r.Context(), token)
session, err := authSvc.GetSession(r.Context(), token)
if err != nil {
http.Error(w, "unauthorized", http.StatusUnauthorized)
return
@@ -45,7 +59,8 @@ func Auth(authSvc auth.AuthService) func(http.Handler) http.Handler {
slog.Warn("failed to extend session", "error", err)
}
ctx := WithEmail(r.Context(), email)
ctx := WithEmail(r.Context(), session.Email)
ctx = WithHumanId(ctx, session.HumanId)
next.ServeHTTP(w, r.WithContext(ctx))
})
}