server

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2024 License: Apache-2.0 Imports: 35 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 {
	Asset struct {
		ID func(childComplexity int) int
	}

	Mutation struct {
		CreateAsset           func(childComplexity int, input model.CreateAssetInput) int
		CreateSession         func(childComplexity int, input model.CreateSessionInput) int
		CreateSessionFromJSON func(childComplexity int, input model.CreateSessionJSONInput) int
		TerminateSession      func(childComplexity int, sessionToken string) int
	}

	Query struct {
		SessionStats func(childComplexity int, sessionToken string) int
	}

	Session struct {
		SessionToken func(childComplexity int) int
	}

	SessionStats struct {
		WorkItemsCompleted func(childComplexity int) int
		WorkItemsTotal     func(childComplexity int) int
	}

	Subscription struct {
		LogMessages func(childComplexity int, sessionToken string) int
	}
}

type Config

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

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	CreateSession(ctx context.Context, input model.CreateSessionInput) (*model.Session, error)
	CreateSessionFromJSON(ctx context.Context, input model.CreateSessionJSONInput) (*model.Session, error)
	CreateAsset(ctx context.Context, input model.CreateAssetInput) (*model.Asset, error)
	TerminateSession(ctx context.Context, sessionToken string) (*bool, error)
}

type QueryResolver

type QueryResolver interface {
	SessionStats(ctx context.Context, sessionToken string) (*model.SessionStats, error)
}

type Resolver

type Resolver struct {
	Log        *slog.Logger
	Manager    et.SessionManager
	Dispatcher et.Dispatcher
}

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) Subscription

func (r *Resolver) Subscription() SubscriptionResolver

Subscription returns SubscriptionResolver implementation.

type ResolverRoot

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

type Server

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

func NewServer

func NewServer(logger *slog.Logger, d et.Dispatcher, mgr et.SessionManager) *Server

func (*Server) Shutdown

func (s *Server) Shutdown() error

func (*Server) Start

func (s *Server) Start() error

type SubscriptionResolver

type SubscriptionResolver interface {
	LogMessages(ctx context.Context, sessionToken string) (<-chan *string, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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