func NewContext(parent context.Context, v Viewer) context.Context
NewContext returns a copy of parent context with the given Viewer attached with it.
type Role int
Role for viewer actions.
const ( Admin Role View )
List of roles.
type UserViewer struct { Role Role // Attached roles. }
UserViewer describes a user-viewer.
func (v UserViewer) Admin() bool
type Viewer interface { Admin() bool // If viewer is admin. }
Viewer describes the query/mutation viewer-context.
func FromContext(ctx context.Context) Viewer
FromContext returns the Viewer stored in a context.