graph

package
v0.0.0-...-684bd7b Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2025 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 {
	CustomZeekIntel struct {
		ExtraField func(childComplexity int) int
		ID         func(childComplexity int) int
		Name       func(childComplexity int) int
	}

	Indicator struct {
		ID            func(childComplexity int) int
		Indicator     func(childComplexity int) int
		IndicatorType func(childComplexity int) int
		MetaSource    func(childComplexity int) int
	}

	Mutation struct {
		AddIndicator func(childComplexity int, input model.IndicatorInput) int
		CreateTodo   func(childComplexity int, input model.NewTodo) int
	}

	Query struct {
		GetYaSome func(childComplexity int, input *model.CustomInput) int
		Tezz      func(childComplexity int) int
		Todos     func(childComplexity int) int
	}

	Test struct {
		ID func(childComplexity int) int
	}

	Todo struct {
		Done func(childComplexity int) int
		ID   func(childComplexity int) int
		Text func(childComplexity int) int
		User func(childComplexity int) int
	}

	User struct {
		ID   func(childComplexity int) int
		Name func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type ExternalQueryResolver

type ExternalQueryResolver interface {
	// Example query resolver
	Tezz(ctx context.Context) (*model.Test, error)
	// Example query resolver with args
	GetYaSome(context.Context, *model.CustomInput) ([]*model.CustomZeekIntel, error)

	// Example mutation resolver with args
	AddIndicator(context.Context, model.IndicatorInput) (*model.Indicator, error)
}

Define an interface for each resolver method

type MutationResolver

type MutationResolver interface {
	CreateTodo(ctx context.Context, input model.NewTodo) (*model.Todo, error)
	AddIndicator(ctx context.Context, input model.IndicatorInput) (*model.Indicator, error)
}

type QueryResolver

type QueryResolver interface {
	Todos(ctx context.Context) ([]*model.Todo, error)
	Tezz(ctx context.Context) (*model.Test, error)
	GetYaSome(ctx context.Context, input *model.CustomInput) ([]*model.CustomZeekIntel, error)
}

type Resolver

type Resolver struct {
	ExternalQueryResolver
}

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	Query() QueryResolver
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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