executable

package
v0.0.0-...-bae350f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ComplexityRoot

type ComplexityRoot struct {
	Mutation struct {
		DeleteUser     func(childComplexity int) int
		Login          func(childComplexity int, input model.LogInInput) int
		NewTodo        func(childComplexity int, input model.NewTodoInput) int
		NewUser        func(childComplexity int, input model.NewUserInput) int
		UpdatePassword func(childComplexity int, input model.UpdatePasswordInput) int
		UpdateTodo     func(childComplexity int, input model.UpdateTodoInput) int
		UpdateUser     func(childComplexity int, input model.UpdateUserInput) int
	}

	Query struct {
		Me    func(childComplexity int) int
		Todo  func(childComplexity int, id int64) int
		Todos func(childComplexity int, input model.PagingInput) int
		User  func(childComplexity int, id int64) int
		Users func(childComplexity int, input model.PagingInput) int
	}

	Todo struct {
		Author    func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		Id        func(childComplexity int) int
		Text      func(childComplexity int) int
	}

	User struct {
		CreatedAt func(childComplexity int) int
		Id        func(childComplexity int) int
		Mobile    func(childComplexity int) int
		Name      func(childComplexity int) int
		Role      func(childComplexity int) int
		Todos     func(childComplexity int, input model.PagingInput) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
	HasRole   func(ctx context.Context, obj interface{}, next graphql.Resolver, role model.Role) (res interface{}, err error)
	IsAuth    func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	IsNotAuth func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
}

type MutationResolver

type MutationResolver interface {
	Login(ctx context.Context, input model.LogInInput) (string, error)
	NewTodo(ctx context.Context, input model.NewTodoInput) (*model.Todo, error)
	UpdateTodo(ctx context.Context, input model.UpdateTodoInput) (*model.Todo, error)
	NewUser(ctx context.Context, input model.NewUserInput) (*model.User, error)
	UpdateUser(ctx context.Context, input model.UpdateUserInput) (*model.User, error)
	UpdatePassword(ctx context.Context, input model.UpdatePasswordInput) (*model.User, error)
	DeleteUser(ctx context.Context) (*model.User, error)
}

type QueryResolver

type QueryResolver interface {
	Todos(ctx context.Context, input model.PagingInput) ([]*model.Todo, error)
	Todo(ctx context.Context, id int64) (*model.Todo, error)
	User(ctx context.Context, id int64) (*model.User, error)
	Users(ctx context.Context, input model.PagingInput) ([]*model.User, error)
	Me(ctx context.Context) (*model.User, error)
}

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	Query() QueryResolver
	Todo() TodoResolver
	User() UserResolver
}

type TodoResolver

type TodoResolver interface {
	Author(ctx context.Context, obj *model.Todo) (*model.User, error)
}

type UserResolver

type UserResolver interface {
	Todos(ctx context.Context, obj *model.User, input model.PagingInput) ([]*model.Todo, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL