resolver

package
v0.0.0-...-7b6d726 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2020 License: Apache-2.0 Imports: 11 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 {
	Message struct {
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Text      func(childComplexity int) int
	}

	Mutation struct {
		WriteMessage func(childComplexity int, input models.WriteMessageInput) int
	}

	Query struct {
		GetMessages func(childComplexity int, input models.GetMessagesInput) int
	}

	Subscription struct {
		NewMessagesSubscription func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	WriteMessage(ctx context.Context, input models.WriteMessageInput) (*models.Message, error)
}

type QueryResolver

type QueryResolver interface {
	GetMessages(ctx context.Context, input models.GetMessagesInput) ([]*models.Message, error)
}

type Resolver

type Resolver struct {
	Service          Service
	BroadcastChannel chan *models.Message
}

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Subscription

func (r *Resolver) Subscription() SubscriptionResolver

Subscription returns SubscriptionResolver implementation.

type ResolverRoot

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

type Service

type Service interface {
	WriteMessage(ctx context.Context, input models.WriteMessageInput) (*models.Message, error)
	GetMessages(ctx context.Context, input models.GetMessagesInput) ([]*models.Message, error)
}

Service define functions which service has to implement

type SubscriptionResolver

type SubscriptionResolver interface {
	NewMessagesSubscription(ctx context.Context) (<-chan *models.Message, error)
}

Jump to

Keyboard shortcuts

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