server

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2022 License: MPL-2.0 Imports: 12 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 {
	AuthResponse struct {
		Token    func(childComplexity int) int
		UserID   func(childComplexity int) int
		Username func(childComplexity int) int
	}

	Coffee struct {
		Collection  func(childComplexity int) int
		Color       func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Image       func(childComplexity int) int
		Ingredients func(childComplexity int) int
		Name        func(childComplexity int) int
		Origin      func(childComplexity int) int
		Price       func(childComplexity int, currency *models.Currency) int
		Teaser      func(childComplexity int) int
	}

	Ingredient struct {
		ID       func(childComplexity int) int
		Name     func(childComplexity int) int
		Quantity func(childComplexity int) int
		Unit     func(childComplexity int) int
	}

	Mutation struct {
		Login   func(childComplexity int, auth models.UserAuth) int
		Order   func(childComplexity int, items []*models.OrderItemInput) int
		Pay     func(childComplexity int, details *models.PaymentDetails) int
		SignOut func(childComplexity int) int
		SignUp  func(childComplexity int, auth models.UserAuth) int
	}

	Order struct {
		ID    func(childComplexity int) int
		Items func(childComplexity int) int
	}

	OrderItem struct {
		Coffee   func(childComplexity int) int
		Quantity func(childComplexity int) int
	}

	PaymentResponse struct {
		CardCiphertext func(childComplexity int) int
		CardPlaintext  func(childComplexity int) int
		ID             func(childComplexity int) int
		Message        func(childComplexity int) int
	}

	Query struct {
		Coffee            func(childComplexity int, id string) int
		CoffeeIngredients func(childComplexity int, coffeeID string) int
		Coffees           func(childComplexity int) int
		Order             func(childComplexity int, id string) int
		Orders            func(childComplexity int) int
		Version           func(childComplexity int) int
	}

	User struct {
		ID   func(childComplexity int) int
		Name 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 models.Role) (res interface{}, err error)
	IsAuthenticated func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
}

type MutationResolver

type MutationResolver interface {
	SignUp(ctx context.Context, auth models.UserAuth) (*models.AuthResponse, error)
	Login(ctx context.Context, auth models.UserAuth) (*models.AuthResponse, error)
	SignOut(ctx context.Context) (bool, error)
	Order(ctx context.Context, items []*models.OrderItemInput) (*models.Order, error)
	Pay(ctx context.Context, details *models.PaymentDetails) (*models.PaymentResponse, error)
}

type QueryResolver

type QueryResolver interface {
	Version(ctx context.Context) (string, error)
	Coffee(ctx context.Context, id string) (*models.Coffee, error)
	Coffees(ctx context.Context) ([]*models.Coffee, error)
	CoffeeIngredients(ctx context.Context, coffeeID string) ([]*models.Ingredient, error)
	Orders(ctx context.Context) ([]*models.Order, error)
	Order(ctx context.Context, id string) (*models.Order, error)
}

type ResolverRoot

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

Jump to

Keyboard shortcuts

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