graph

package
v0.0.0-...-f838e45 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Overview

Package graph contains resolvers for GraphQL vertices and edges.

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 {
}

type Config

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

type DirectiveRoot

type DirectiveRoot struct {
}

type QueryResolver

type QueryResolver interface {
	Server(ctx context.Context) (*model.Server, error)
	Agent(ctx context.Context) (*model.Agent, error)
	Ships(ctx context.Context) ([]*model.Ship, error)
	SystemCount(ctx context.Context) (int64, error)
}

type Resolver

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

Resolver is the root resolver, containing all required data sources.

func NewResolver

func NewResolver(api *api.Client, db *query.Queries, fleetCache *cache.FleetCache) *Resolver

NewResolver create and return a new Resolver instance.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) Ship

func (r *Resolver) Ship() ShipResolver

Ship returns ShipResolver implementation.

func (*Resolver) Subscription

func (r *Resolver) Subscription() SubscriptionResolver

Subscription returns SubscriptionResolver implementation.

func (*Resolver) System

func (r *Resolver) System() SystemResolver

System returns SystemResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Query() QueryResolver
	Ship() ShipResolver
	Subscription() SubscriptionResolver
	System() SystemResolver
}

type ShipResolver

type ShipResolver interface {
	System(ctx context.Context, obj *model.Ship) (*model.System, error)
}

type SubscriptionResolver

type SubscriptionResolver interface {
	System(ctx context.Context) (<-chan *model.System, error)
}

type SystemResolver

type SystemResolver interface {
	ConnectedSystems(ctx context.Context, obj *model.System) ([]string, error)
}

Directories

Path Synopsis
Package loaders implements dataloaders for avoiding redundant data queries.
Package loaders implements dataloaders for avoiding redundant data queries.

Jump to

Keyboard shortcuts

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