~bigbes/core-go

0ad8eb8e120e58dcf61e8962b6821c84c6cb4094 — Drew DeVault 1 year, 7 months ago 1731520
server: add @admin directive implementation

This will be used at least by meta.sr.ht in the near future.
1 files changed, 10 insertions(+), 0 deletions(-)

M server/directives.go
M server/directives.go => server/directives.go +10 -0
@@ 9,6 9,16 @@ import (
	"git.sr.ht/~sircmpwn/core-go/auth"
)

func Admin(ctx context.Context, obj interface{},
	next graphql.Resolver) (interface{}, error) {

	if auth.ForContext(ctx).UserType != auth.USER_TYPE_ADMIN {
		return nil, fmt.Errorf("Access denied")
	}

	return next(ctx)
}

func AnonInternal(ctx context.Context, obj interface{},
	next graphql.Resolver) (interface{}, error) {