graph

package
v0.0.0-...-2c51fd6 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 18 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 {
	Component struct {
		Annotations func(childComplexity int) int
		Components  func(childComplexity int, page model.PageInput, sort []*model.SortInput, filter *model.ComponentFilter) int
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Lifecycle   func(childComplexity int) int
		Links       func(childComplexity int) int
		Name        func(childComplexity int) int
		Owner       func(childComplexity int) int
		Tags        func(childComplexity int) int
		Tier        func(childComplexity int) int
		Type        func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

	ComponentConnection struct {
		Data  func(childComplexity int) int
		Total func(childComplexity int) int
	}

	Link struct {
		Title func(childComplexity int) int
		Type  func(childComplexity int) int
		URL   func(childComplexity int) int
	}

	Query struct {
		GetComponent    func(childComplexity int, id string) int
		GetTeam         func(childComplexity int, id string) int
		GetUser         func(childComplexity int, id string) int
		QueryComponents func(childComplexity int, page model.PageInput, sort []*model.SortInput, filter *model.ComponentFilter) int
		QueryTeams      func(childComplexity int, page model.PageInput, sort []*model.SortInput) int
		QueryUsers      func(childComplexity int, page model.PageInput, sort []*model.SortInput) int
	}

	Team struct {
		ID      func(childComplexity int) int
		Members func(childComplexity int, page model.PageInput, sort []*model.SortInput) int
		Name    func(childComplexity int) int
	}

	TeamConnection struct {
		Data  func(childComplexity int) int
		Total func(childComplexity int) int
	}

	User struct {
		Avatar      func(childComplexity int) int
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Name        func(childComplexity int) int
	}

	UserConnection struct {
		Data  func(childComplexity int) int
		Total func(childComplexity int) int
	}
}

type ComponentResolver

type ComponentResolver interface {
	Owner(ctx context.Context, obj *model.Component) (*model.Team, error)

	Components(ctx context.Context, obj *model.Component, page model.PageInput, sort []*model.SortInput, filter *model.ComponentFilter) (*model.ComponentConnection, error)
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type QueryResolver

type QueryResolver interface {
	QueryComponents(ctx context.Context, page model.PageInput, sort []*model.SortInput, filter *model.ComponentFilter) (*model.ComponentConnection, error)
	GetComponent(ctx context.Context, id string) (*model.Component, error)
	QueryTeams(ctx context.Context, page model.PageInput, sort []*model.SortInput) (*model.TeamConnection, error)
	GetTeam(ctx context.Context, id string) (*model.Team, error)
	QueryUsers(ctx context.Context, page model.PageInput, sort []*model.SortInput) (*model.UserConnection, error)
	GetUser(ctx context.Context, id string) (*model.User, error)
}

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

func NewResolver

func NewResolver(
	service *service.Service,
	logger *zap.Logger,
	config *config.Server,
	componentRepo service.ComponentRepo,
	userRepo service.UserRepo,
	teamRepo service.TeamRepo,
) *Resolver

func (*Resolver) Component

func (r *Resolver) Component() ComponentResolver

Component returns ComponentResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Team

func (r *Resolver) Team() TeamResolver

Team returns TeamResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Component() ComponentResolver
	Query() QueryResolver
	Team() TeamResolver
}

type TeamResolver

type TeamResolver interface {
	Members(ctx context.Context, obj *model.Team, page model.PageInput, sort []*model.SortInput) (*model.UserConnection, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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