28 lines
585 B
Go
28 lines
585 B
Go
package models
|
|
|
|
import "context"
|
|
|
|
type userKeyType struct{}
|
|
type siteKeyType struct{}
|
|
|
|
var userKey = userKeyType{}
|
|
var siteKey = siteKeyType{}
|
|
|
|
func WithUser(ctx context.Context, user User) context.Context {
|
|
return context.WithValue(ctx, userKey, user)
|
|
}
|
|
|
|
func GetUser(ctx context.Context) (User, bool) {
|
|
user, ok := ctx.Value(userKey).(User)
|
|
return user, ok
|
|
}
|
|
|
|
func WithSite(ctx context.Context, site Site) context.Context {
|
|
return context.WithValue(ctx, siteKey, site)
|
|
}
|
|
|
|
func GetSite(ctx context.Context) (Site, bool) {
|
|
site, ok := ctx.Value(siteKey).(Site)
|
|
return site, ok
|
|
}
|