generated

package
v1.59.0 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2022 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownType  = errors.New("unknown type")
	ErrTypeNotFound = errors.New("type not found")
)

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ComplexityRoot

type ComplexityRoot struct {
	Entity struct {
		FindProductByUpc func(childComplexity int, upc string) int
		FindUserByID     func(childComplexity int, id string) int
	}

	Mutation struct {
		AddReview func(childComplexity int, authorID string, upc string, review string) int
	}

	Product struct {
		Reviews func(childComplexity int) int
		Upc     func(childComplexity int) int
	}

	Query struct {
		// contains filtered or unexported fields
	}

	Review struct {
		Author  func(childComplexity int) int
		Body    func(childComplexity int) int
		Product func(childComplexity int) int
	}

	User struct {
		ID       func(childComplexity int) int
		Reviews  func(childComplexity int) int
		Username func(childComplexity int) int
	}
	// contains filtered or unexported fields
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type EntityResolver

type EntityResolver interface {
	FindProductByUpc(ctx context.Context, upc string) (*model.Product, error)
	FindUserByID(ctx context.Context, id string) (*model.User, error)
}

type MutationResolver

type MutationResolver interface {
	AddReview(ctx context.Context, authorID string, upc string, review string) (*model.Review, error)
}

type ProductResolver

type ProductResolver interface {
	Reviews(ctx context.Context, obj *model.Product) ([]*model.Review, error)
}

type ResolverRoot

type ResolverRoot interface {
	Entity() EntityResolver
	Mutation() MutationResolver
	Product() ProductResolver
	User() UserResolver
}

type UserResolver

type UserResolver interface {
	Username(ctx context.Context, obj *model.User) (string, error)
	Reviews(ctx context.Context, obj *model.User) ([]*model.Review, error)
}

Jump to

Keyboard shortcuts

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