graph

package
v0.64.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2023 License: Apache-2.0 Imports: 22 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 {
	Advisory struct {
		AdvisoryType   func(childComplexity int) int
		Dependency     func(childComplexity int) int
		Description    func(childComplexity int) int
		EndOfLifeFrom  func(childComplexity int) int
		SupportedUntil func(childComplexity int) int
	}

	Dependency struct {
		CurrentVersion  func(childComplexity int) int
		DepTypes        func(childComplexity int) int
		PackageFilePath func(childComplexity int) int
		PackageManager  func(childComplexity int) int
		PackageName     func(childComplexity int) int
		Version         func(childComplexity int) int
	}

	DependentOnResponse struct {
		Repositories func(childComplexity int) int
	}

	DependentOnUsage struct {
		DepTypes        func(childComplexity int) int
		Organisation    func(childComplexity int) int
		Owner           func(childComplexity int) int
		PackageFilePath func(childComplexity int) int
		Platform        func(childComplexity int) int
		Repo            func(childComplexity int) int
	}

	Metadata struct {
		DMDVersion func(childComplexity int) int
	}

	PolicyViolation struct {
		AdvisoryType func(childComplexity int) int
		Dependency   func(childComplexity int) int
		Description  func(childComplexity int) int
		Level        func(childComplexity int) int
	}

	Query struct {
		DependentOn      func(childComplexity int, packageName string, version *string, currentVersion *string, packageManager string) int
		GetMetadata      func(childComplexity int) int
		RepositoriesIn   func(childComplexity int, keys []model.RepositoryKey) int
		RepositoriesLike func(childComplexity int, platformLike *string, organisationLike *string, repoLike *string) int
		Repository       func(childComplexity int, key *model.RepositoryKey) int
	}

	RepositoriesResponse struct {
		Repositories          func(childComplexity int) int
		TotalAdvisories       func(childComplexity int) int
		TotalDependencies     func(childComplexity int) int
		TotalPolicyViolations func(childComplexity int) int
	}

	Repository struct {
		Advisories            func(childComplexity int) int
		Dependencies          func(childComplexity int) int
		Organisation          func(childComplexity int) int
		Owner                 func(childComplexity int) int
		Platform              func(childComplexity int) int
		PolicyViolations      func(childComplexity int) int
		Repo                  func(childComplexity int) int
		TotalAdvisories       func(childComplexity int) int
		TotalDependencies     func(childComplexity int) int
		TotalPolicyViolations func(childComplexity int) int
	}
}

type Config

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

type DirectiveRoot

type DirectiveRoot struct {
}

type QueryResolver

type QueryResolver interface {
	GetMetadata(ctx context.Context) (*model.Metadata, error)
	DependentOn(ctx context.Context, packageName string, version *string, currentVersion *string, packageManager string) (*model.DependentOnResponse, error)
	Repository(ctx context.Context, key *model.RepositoryKey) (*model.Repository, error)
	RepositoriesLike(ctx context.Context, platformLike *string, organisationLike *string, repoLike *string) (*model.RepositoriesResponse, error)
	RepositoriesIn(ctx context.Context, keys []model.RepositoryKey) (*model.RepositoriesResponse, error)
}

type RepositoryResolver

type RepositoryResolver interface {
	Owner(ctx context.Context, obj *model.Repository) (*string, error)
	TotalDependencies(ctx context.Context, obj *model.Repository) (int, error)
	Dependencies(ctx context.Context, obj *model.Repository) ([]model.Dependency, error)
	TotalAdvisories(ctx context.Context, obj *model.Repository) (int, error)
	Advisories(ctx context.Context, obj *model.Repository) ([]model.Advisory, error)
	TotalPolicyViolations(ctx context.Context, obj *model.Repository) (int, error)
	PolicyViolations(ctx context.Context, obj *model.Repository) ([]model.PolicyViolation, error)
}

type Resolver

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

func NewResolver

func NewResolver(db *sql.DB, logger *slog.Logger) *Resolver

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Repository

func (r *Resolver) Repository() RepositoryResolver

Repository returns RepositoryResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Query() QueryResolver
	Repository() RepositoryResolver
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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