graph

package
v0.0.0-...-6af7d9d Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2023 License: MIT Imports: 14 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 {
	Mutation struct {
		CreatePost func(childComplexity int, authorID string, title string, content string) int
		CreateUser func(childComplexity int, username string, password string) int
		DeletePost func(childComplexity int, id string) int
		DeleteUser func(childComplexity int, id string) int
		UpdatePost func(childComplexity int, id string, title *string, content *string) int
		UpdateUser func(childComplexity int, id string, username string, password string) int
	}

	Post struct {
		Author    func(childComplexity int) int
		Content   func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Title     func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
	}

	Query struct {
		Post  func(childComplexity int, id string) int
		Posts func(childComplexity int) int
		User  func(childComplexity int, id string) int
		Users func(childComplexity int) int
	}

	User struct {
		ID       func(childComplexity int) int
		Password func(childComplexity int) int
		Username func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	CreateUser(ctx context.Context, username string, password string) (*model.User, error)
	UpdateUser(ctx context.Context, id string, username string, password string) (*model.User, error)
	DeleteUser(ctx context.Context, id string) (string, error)
	CreatePost(ctx context.Context, authorID string, title string, content string) (*model.Post, error)
	UpdatePost(ctx context.Context, id string, title *string, content *string) (*model.Post, error)
	DeletePost(ctx context.Context, id string) (string, error)
}

type QueryResolver

type QueryResolver interface {
	Users(ctx context.Context) ([]*model.User, error)
	User(ctx context.Context, id string) (*model.User, error)
	Posts(ctx context.Context) ([]*model.Post, error)
	Post(ctx context.Context, id string) (*model.Post, error)
}

type Resolver

type Resolver struct {
	UserService service.IUserService
	PostService service.IPostService
}

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

type ResolverRoot

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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