graphql

package
v0.0.0-...-4bc35ca Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2021 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrorPresenter

func ErrorPresenter() graphql.ErrorPresenterFunc

func Handler

func Handler(rep repos, conf *config.Config, validate *validator.Validator, ep graphql.ErrorPresenterFunc) http.Handler

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ArticleResolver

type ArticleResolver interface {
	Author(ctx context.Context, obj *models.Article) (*models.User, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	Article struct {
		Author       func(childComplexity int) int
		Content      func(childComplexity int) int
		ID           func(childComplexity int) int
		ThumbnailURL func(childComplexity int) int
		Title        func(childComplexity int) int
	}

	Image struct {
		ID   func(childComplexity int) int
		MIME func(childComplexity int) int
		Name func(childComplexity int) int
		Slug func(childComplexity int) int
		URL  func(childComplexity int) int
	}

	Mutation struct {
		CreateArticle func(childComplexity int, input models.NewArticle) int
		CreateImage   func(childComplexity int, input models.NewImage) int
		CreateUser    func(childComplexity int, input models.NewUser) int
		DeleteArticle func(childComplexity int, id string) int
		DeleteImage   func(childComplexity int, id string) int
		DeleteUser    func(childComplexity int, id string) int
		Login         func(childComplexity int, input models.LoginInput) int
		UpdateArticle func(childComplexity int, id string, input models.UpdateArticle) int
		UpdateImage   func(childComplexity int, id string, input models.UpdateImage) int
		UpdateUser    func(childComplexity int, id string, input models.UpdateUser) int
	}

	Query struct {
		Articles func(childComplexity int, filter *models.ArticleFilter, first *int, offset *int) int
		Images   func(childComplexity int, filter *models.ImageFilter, first *int, offset *int) int
		Users    func(childComplexity int, filter *models.UserFilter, first *int, offset *int) int
	}

	User struct {
		Articles func(childComplexity int) int
		Email    func(childComplexity int) int
		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 {
}

type ImageResolver

type ImageResolver interface {
	URL(ctx context.Context, obj *models.Image) (*string, error)
}

type MutationResolver

type MutationResolver interface {
	CreateUser(ctx context.Context, input models.NewUser) (*models.User, error)
	UpdateUser(ctx context.Context, id string, input models.UpdateUser) (*models.User, error)
	DeleteUser(ctx context.Context, id string) (bool, error)
	CreateArticle(ctx context.Context, input models.NewArticle) (*models.Article, error)
	UpdateArticle(ctx context.Context, id string, input models.UpdateArticle) (*models.Article, error)
	DeleteArticle(ctx context.Context, id string) (bool, error)
	CreateImage(ctx context.Context, input models.NewImage) (*models.Image, error)
	UpdateImage(ctx context.Context, id string, input models.UpdateImage) (*models.Image, error)
	DeleteImage(ctx context.Context, id string) (bool, error)
	Login(ctx context.Context, input models.LoginInput) (string, error)
}

type QueryResolver

type QueryResolver interface {
	Users(ctx context.Context, filter *models.UserFilter, first *int, offset *int) ([]*models.User, error)
	Articles(ctx context.Context, filter *models.ArticleFilter, first *int, offset *int) ([]*models.Article, error)
	Images(ctx context.Context, filter *models.ImageFilter, first *int, offset *int) ([]*models.Image, error)
}

type Resolver

type Resolver struct {
	Repos     repos
	Config    *config.Config
	Validator *validator.Validator
}

func (*Resolver) Article

func (r *Resolver) Article() ArticleResolver

Article returns ArticleResolver implementation.

func (*Resolver) Image

func (r *Resolver) Image() ImageResolver

Image returns ImageResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Article() ArticleResolver
	Image() ImageResolver
	Mutation() MutationResolver
	Query() QueryResolver
	User() UserResolver
}

type UserResolver

type UserResolver interface {
	Articles(ctx context.Context, obj *models.User) ([]*models.Article, error)
}

Jump to

Keyboard shortcuts

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