29 lines
544 B
Go
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
|
|
}
|