graphql

package
v0.0.0-...-36c1b01 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2020 License: MIT 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 {
	Config struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	MyMutation struct {
		AddAvailableTodoConfig    func(childComplexity int, key []string) int
		AddAvailableUserConfig    func(childComplexity int, key []string) int
		ChangeMyUserConfigValue   func(childComplexity int, input []*model.ConfigInput) int
		ChangeTextInTodo          func(childComplexity int, id string) int
		ChangeTodoConfigValue     func(childComplexity int, todoConfig model.ChangeTodoConfigValueInput) int
		CheckIDAvailability       func(childComplexity int, id string) int
		CompleteTodo              func(childComplexity int, ids []string) int
		CreateTodo                func(childComplexity int, input *model.CreateTodoInput) int
		CreateUser                func(childComplexity int, input *model.CreateUserInput) int
		DeleteAvailableTodoConfig func(childComplexity int, key []string) int
		DeleteAvailableUserConfig func(childComplexity int, key []string) int
		DeleteTodo                func(childComplexity int, ids []string) int
		Login                     func(childComplexity int, input *model.LoginInput) int
	}

	MyQuery struct {
		AvailableTodoConfig func(childComplexity int) int
		AvailableUserConfig func(childComplexity int) int
		MyUserConfig        func(childComplexity int) int
		MyUserData          func(childComplexity int) int
		TodobyUserID        func(childComplexity int, id string) int
	}

	Todo struct {
		Author      func(childComplexity int) int
		ID          func(childComplexity int) int
		Status      func(childComplexity int) int
		TextContent func(childComplexity int) int
		TodoConfig  func(childComplexity int) int
	}

	TodoAuthorLayout struct {
		Avatar   func(childComplexity int) int
		ID       func(childComplexity int) int
		NickName func(childComplexity int) int
		Special  func(childComplexity int) int
	}

	TodoConfig struct {
		Config func(childComplexity int) int
		TodoID func(childComplexity int) int
	}

	TodoStatus struct {
		Completed func(childComplexity int) int
		Deleted   func(childComplexity int) int
		Readonly  func(childComplexity int) int
	}

	User struct {
		Avatar        func(childComplexity int) int
		Email         func(childComplexity int) int
		EmailVerified func(childComplexity int) int
		ID            func(childComplexity int) int
		NickName      func(childComplexity int) int
		Special       func(childComplexity int) int
		Todos         func(childComplexity int) int
		UserConfig    func(childComplexity int) int
		UserLevel     func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MyMutationResolver

type MyMutationResolver interface {
	Login(ctx context.Context, input *model.LoginInput) (bool, error)
	DeleteTodo(ctx context.Context, ids []string) ([]string, error)
	ChangeTextInTodo(ctx context.Context, id string) (string, error)
	CompleteTodo(ctx context.Context, ids []string) ([]string, error)
	CreateTodo(ctx context.Context, input *model.CreateTodoInput) (*model.Todo, error)
	ChangeTodoConfigValue(ctx context.Context, todoConfig model.ChangeTodoConfigValueInput) ([]*model.TodoConfig, error)
	AddAvailableTodoConfig(ctx context.Context, key []string) ([]string, error)
	DeleteAvailableTodoConfig(ctx context.Context, key []string) ([]string, error)
	CreateUser(ctx context.Context, input *model.CreateUserInput) (*model.User, error)
	CheckIDAvailability(ctx context.Context, id string) (bool, error)
	ChangeMyUserConfigValue(ctx context.Context, input []*model.ConfigInput) ([]*model.Config, error)
	AddAvailableUserConfig(ctx context.Context, key []string) ([]string, error)
	DeleteAvailableUserConfig(ctx context.Context, key []string) ([]string, error)
}

type MyQueryResolver

type MyQueryResolver interface {
	TodobyUserID(ctx context.Context, id string) ([]*model.Todo, error)
	AvailableTodoConfig(ctx context.Context) ([]string, error)
	MyUserData(ctx context.Context) (*model.User, error)
	MyUserConfig(ctx context.Context) ([]*model.Config, error)
	AvailableUserConfig(ctx context.Context) ([]string, error)
}

type ResolverRoot

type ResolverRoot interface {
	MyMutation() MyMutationResolver
	MyQuery() MyQueryResolver
	Todo() TodoResolver
	TodoStatus() TodoStatusResolver
	User() UserResolver
}

type TodoResolver

type TodoResolver interface {
	Status(ctx context.Context, obj *model.Todo) (*model.TodoStatus, error)
	Author(ctx context.Context, obj *model.Todo) (*model.TodoAuthorLayout, error)
	TodoConfig(ctx context.Context, obj *model.Todo) ([]*model.TodoConfig, error)
}

type TodoStatusResolver

type TodoStatusResolver interface {
	Readonly(ctx context.Context, obj *model.TodoStatus) (bool, error)
}

type UserResolver

type UserResolver interface {
	Todos(ctx context.Context, obj *model.User) ([]*model.Todo, error)

	UserConfig(ctx context.Context, obj *model.User) ([]*model.Config, error)
}

Jump to

Keyboard shortcuts

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