graph

package
v0.0.0-...-0ea846c Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2023 License: MIT Imports: 16 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 {
	Alumni struct {
		Assignments    func(childComplexity int) int
		Email          func(childComplexity int) int
		FirstName      func(childComplexity int) int
		GraduationYear func(childComplexity int) int
		ID             func(childComplexity int) int
		LastName       func(childComplexity int) int
		Subjects       func(childComplexity int) int
	}

	Assignment struct {
		Alumni                  func(childComplexity int) int
		AssignmentCodeTemplates func(childComplexity int) int
		AssignmentExamples      func(childComplexity int) int
		Description             func(childComplexity int) int
		ID                      func(childComplexity int) int
		Professor               func(childComplexity int) int
		Subject                 func(childComplexity int) int
		Title                   func(childComplexity int) int
	}

	AssignmentCodeTemplate struct {
		Code     func(childComplexity int) int
		ID       func(childComplexity int) int
		Language func(childComplexity int) int
	}

	AssignmentExample struct {
		Description func(childComplexity int) int
		ID          func(childComplexity int) int
		Title       func(childComplexity int) int
	}

	Execution struct {
		AssignmentID func(childComplexity int) int
		Code         func(childComplexity int) int
		ID           func(childComplexity int) int
		Language     func(childComplexity int) int
	}

	ExecutionResult struct {
		Status      func(childComplexity int) int
		Stderr      func(childComplexity int) int
		Stdout      func(childComplexity int) int
		TestResults func(childComplexity int) int
	}

	Mutation struct {
		RunExecution func(childComplexity int, input model.NewExecution) int
	}

	Professor struct {
		Assignments func(childComplexity int) int
		Email       func(childComplexity int) int
		FirstName   func(childComplexity int) int
		ID          func(childComplexity int) int
		LastName    func(childComplexity int) int
		Subjects    func(childComplexity int) int
	}

	Query struct {
		GetAlumni          func(childComplexity int) int
		GetAlumnus         func(childComplexity int, id string) int
		GetAssignment      func(childComplexity int, id string) int
		GetAssignments     func(childComplexity int) int
		GetExecution       func(childComplexity int, id string) int
		GetExecutionStatus func(childComplexity int, id string) int
		GetExecutions      func(childComplexity int) int
		GetProfessor       func(childComplexity int, id string) int
		GetProfessors      func(childComplexity int) int
		GetSubject         func(childComplexity int, id string) int
		GetSubjects        func(childComplexity int) int
	}

	Subject struct {
		Assignments func(childComplexity int) int
		ID          func(childComplexity int) int
		Name        func(childComplexity int) int
		Professor   func(childComplexity int) int
		Semester    func(childComplexity int) int
	}

	Subscription struct {
		ExecutionStatus func(childComplexity int, id string) int
	}

	TestResult struct {
		Actual   func(childComplexity int) int
		Expected func(childComplexity int) int
		Passed   func(childComplexity int) int
		TestName func(childComplexity int) int
	}
}

type Config

type Config struct {
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	RunExecution(ctx context.Context, input model.NewExecution) (*model.Execution, error)
}

type QueryResolver

type QueryResolver interface {
	GetExecutions(ctx context.Context) ([]*model.Execution, error)
	GetExecution(ctx context.Context, id string) (*model.Execution, error)
	GetExecutionStatus(ctx context.Context, id string) (*model.ExecutionResult, error)
	GetAlumni(ctx context.Context) ([]*model.Alumni, error)
	GetAlumnus(ctx context.Context, id string) (*model.Alumni, error)
	GetProfessors(ctx context.Context) ([]*model.Professor, error)
	GetProfessor(ctx context.Context, id string) (*model.Professor, error)
	GetSubjects(ctx context.Context) ([]*model.Subject, error)
	GetSubject(ctx context.Context, id string) (*model.Subject, error)
	GetAssignments(ctx context.Context) ([]*model.Assignment, error)
	GetAssignment(ctx context.Context, id string) (*model.Assignment, error)
}

type Resolver

type Resolver struct {
	ExecutionService  *executions.ExecutionService  // This is the service that handles the executions
	ManagementService *management.ManagementService // This is the service that handles the management
	TemporalCompiler  *compiler.TemporalCompiler    // This is the compiler that handles the temporal compiler
}

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 SubscriptionResolver

type SubscriptionResolver interface {
	ExecutionStatus(ctx context.Context, id string) (<-chan *model.ExecutionResult, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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