graphql

package
v0.0.0-...-4bbda85 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 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 {
	Message struct {
		User    func(childComplexity int) int
		Message func(childComplexity int) int
	}

	Mutation struct {
		PostMessage func(childComplexity int, user string, message string) int
		CreateUser  func(childComplexity int, user string) int
	}

	Query struct {
		Users func(childComplexity int) int
	}

	Subscription struct {
		MessagePosted func(childComplexity int, user string) int
		UserJoined    func(childComplexity int, user string) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

func NewGraphQLConfig

func NewGraphQLConfig(redisClient *redis.Client) Config

NewGraphQLConfig returns Config and start subscribing redis pubsub.

type DirectiveRoot

type DirectiveRoot struct {
}

type Message

type Message struct {
	User    string `json:"user"`
	Message string `json:"message"`
}

type MutationResolver

type MutationResolver interface {
	PostMessage(ctx context.Context, user string, message string) (*Message, error)
	CreateUser(ctx context.Context, user string) (string, error)
}

type QueryResolver

type QueryResolver interface {
	Users(ctx context.Context) ([]string, error)
}

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver implements ResolverRoot interface.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns a resolver for mutation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns a resolver for query.

func (*Resolver) Subscription

func (r *Resolver) Subscription() SubscriptionResolver

Subscription returns a resolver for subsctiption.

type ResolverRoot

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

type SubscriptionResolver

type SubscriptionResolver interface {
	MessagePosted(ctx context.Context, user string) (<-chan Message, error)
	UserJoined(ctx context.Context, user string) (<-chan string, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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