todo

package
v0.0.0-...-c52f24a Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2018 License: MIT Imports: 10 Imported by: 0

README

todo app

This is the simplest example of a graphql server.

to run this server

go run ./example/todo/server/server.go

and open http://localhost:8081 in your browser

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MakeExecutableSchema

func MakeExecutableSchema(resolvers Resolvers) graphql.ExecutableSchema

MakeExecutableSchema creates an ExecutableSchema from the Resolvers interface.

func New

func New() *resolvers

func NewExecutableSchema

func NewExecutableSchema(resolvers ResolverRoot) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type MutationResolver

type MutationResolver resolvers

func (*MutationResolver) CreateTodo

func (r *MutationResolver) CreateTodo(ctx context.Context, todo TodoInput) (Todo, error)

func (*MutationResolver) UpdateTodo

func (r *MutationResolver) UpdateTodo(ctx context.Context, id int, changes map[string]interface{}) (*Todo, error)

type MyMutationResolver

type MyMutationResolver interface {
	CreateTodo(ctx context.Context, todo TodoInput) (Todo, error)
	UpdateTodo(ctx context.Context, id int, changes map[string]interface{}) (*Todo, error)
}

type MyQueryResolver

type MyQueryResolver interface {
	Todo(ctx context.Context, id int) (*Todo, error)
	LastTodo(ctx context.Context) (*Todo, error)
	Todos(ctx context.Context) ([]Todo, error)
}

type QueryResolver

type QueryResolver resolvers

func (*QueryResolver) LastTodo

func (r *QueryResolver) LastTodo(ctx context.Context) (*Todo, error)

func (*QueryResolver) Todo

func (r *QueryResolver) Todo(ctx context.Context, id int) (*Todo, error)

func (*QueryResolver) Todos

func (r *QueryResolver) Todos(ctx context.Context) ([]Todo, error)

type ResolverRoot

type ResolverRoot interface {
	MyMutation() MyMutationResolver
	MyQuery() MyQueryResolver
}

type Resolvers

type Resolvers interface {
	MyMutation_createTodo(ctx context.Context, todo TodoInput) (Todo, error)
	MyMutation_updateTodo(ctx context.Context, id int, changes map[string]interface{}) (*Todo, error)
	MyQuery_todo(ctx context.Context, id int) (*Todo, error)
	MyQuery_lastTodo(ctx context.Context) (*Todo, error)
	MyQuery_todos(ctx context.Context) ([]Todo, error)
}

type Todo

type Todo struct {
	ID   int    `json:"id"`
	Text string `json:"text"`
	Done bool   `json:"done"`
}

type TodoInput

type TodoInput struct {
	Text string `json:"text"`
	Done *bool  `json:"done"`
}

func UnmarshalTodoInput

func UnmarshalTodoInput(v interface{}) (TodoInput, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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