Files
NexaVPN/backend/internal/requestctx/context.go
nessi 8f73dd3321 refactor: move Claims type from auth to new identity package
Extract Claims struct from auth/types.go into dedicated identity package for better separation of concerns. Update all imports and usages across auth service, token handling, and request context utilities.
2026-03-15 16:39:02 +01:00

31 lines
631 B
Go

package requestctx
import (
"context"
"github.com/google/uuid"
"github.com/nexavpn/nexavpn/backend/internal/identity"
)
type contextKey string
const claimsKey contextKey = "claims"
func WithClaims(ctx context.Context, claims identity.Claims) context.Context {
return context.WithValue(ctx, claimsKey, claims)
}
func ClaimsFromContext(ctx context.Context) (identity.Claims, bool) {
claims, ok := ctx.Value(claimsKey).(identity.Claims)
return claims, ok
}
func MustUserID(ctx context.Context) (uuid.UUID, bool) {
claims, ok := ClaimsFromContext(ctx)
if !ok {
return uuid.Nil, false
}
return claims.UserID, true
}