rano/pkg/auth/ctx.go
2024-11-10 14:52:33 +05:30

29 lines
544 B
Go

package auth
import (
"context"
"gitserver.in/patialtech/rano/config"
)
type SessionUser struct {
ID int64
Email string
DisplayName string
RoleID int
}
func CtxWithUser(ctx context.Context, u *AuthUser) context.Context {
return context.WithValue(ctx, config.AuthUserCtxKey, &SessionUser{
ID: u.ID,
Email: u.Email,
DisplayName: u.DisplayName,
RoleID: u.RoleID,
})
}
func CtxUser(ctx context.Context) *SessionUser {
u, _ := ctx.Value(config.AuthUserCtxKey).(*SessionUser)
return u
}