gql

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2021 License: Apache-2.0 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 {
	CurrentUserProfile struct {
		DisplayName  func(childComplexity int) int
		Email        func(childComplexity int) int
		ID           func(childComplexity int) int
		ScreenImgURL func(childComplexity int) int
	}

	FourChoicesQuiz struct {
		Choices  func(childComplexity int) int
		ID       func(childComplexity int) int
		Question func(childComplexity int) int
		QuizType func(childComplexity int) int
	}

	FourChoicesQuizAnswer struct {
		AnsweredPlayerID func(childComplexity int) int
		CorrectChoiceID  func(childComplexity int) int
		Quiz             func(childComplexity int) int
	}

	Mutation struct {
		CancelWaitingMatch                func(childComplexity int) int
		CreateAnswer                      func(childComplexity int, roomID string, quizID string, answer string) int
		UpdateCurrentPlayerQuizRoomStatus func(childComplexity int, roomID string) int
		UpdatePlayerID                    func(childComplexity int, input model.UpdatePlayerIDInput) int
	}

	Player struct {
		ID          func(childComplexity int) int
		UserID      func(childComplexity int) int
		UserProfile func(childComplexity int) int
	}

	Query struct {
		CurrentPlayer      func(childComplexity int) int
		CurrentUserProfile func(childComplexity int) int
		Node               func(childComplexity int, id string) int
		Nodes              func(childComplexity int, ids []string) int
	}

	QuizChoice struct {
		Choice func(childComplexity int) int
		ID     func(childComplexity int) int
	}

	QuizRoom struct {
		ID      func(childComplexity int) int
		Players func(childComplexity int) int
	}

	Subscription struct {
		QuizAnswered           func(childComplexity int, roomID string) int
		QuizPosted             func(childComplexity int, roomID string) int
		RandomMatchRoomDecided func(childComplexity int) int
	}

	UserProfile struct {
		DisplayName  func(childComplexity int) int
		ID           func(childComplexity int) int
		ScreenImgURL func(childComplexity int) 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)
}

type MutationResolver

type MutationResolver interface {
	UpdatePlayerID(ctx context.Context, input model.UpdatePlayerIDInput) (*model.Player, error)
	CancelWaitingMatch(ctx context.Context) (bool, error)
	UpdateCurrentPlayerQuizRoomStatus(ctx context.Context, roomID string) (*bool, error)
	CreateAnswer(ctx context.Context, roomID string, quizID string, answer string) (*bool, error)
}

type PlayerResolver

type PlayerResolver interface {
	UserProfile(ctx context.Context, obj *model.Player) (*model.UserProfile, error)
}

type QueryResolver

type QueryResolver interface {
	Node(ctx context.Context, id string) (model.Node, error)
	Nodes(ctx context.Context, ids []string) ([]model.Node, error)
	CurrentUserProfile(ctx context.Context) (*model.CurrentUserProfile, error)
	CurrentPlayer(ctx context.Context) (*model.Player, error)
}

type ResolverRoot

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

type SubscriptionResolver

type SubscriptionResolver interface {
	RandomMatchRoomDecided(ctx context.Context) (<-chan *model.QuizRoom, error)
	QuizPosted(ctx context.Context, roomID string) (<-chan model.Quiz, error)
	QuizAnswered(ctx context.Context, roomID string) (<-chan model.QuizAnswer, error)
}

Jump to

Keyboard shortcuts

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