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 {
AssignmentReport struct {
Assignment func(childComplexity int) int
Course func(childComplexity int) int
Description func(childComplexity int) int
Generated func(childComplexity int) int
HasReleaseDockerImages func(childComplexity int) int
HasReleaseMergeRequest func(childComplexity int) int
Projects func(childComplexity int) int
URL func(childComplexity int) int
}
AssignmentUrls struct {
GroupURL func(childComplexity int) int
Per func(childComplexity int) int
Repos func(childComplexity int) int
}
AssignmentView struct {
Abstract func(childComplexity int) int
Course func(childComplexity int) int
Extends func(childComplexity int) int
Name func(childComplexity int) int
Own func(childComplexity int) int
ResolveError func(childComplexity int) int
Resolved func(childComplexity int) int
}
CommitReport struct {
CommittedDate func(childComplexity int) int
CommitterName func(childComplexity int) int
Title func(childComplexity int) int
WebURL func(childComplexity int) int
}
Course struct {
AssignmentNames func(childComplexity int) int
CoursePath func(childComplexity int) int
GroupCount func(childComplexity int) int
Groups func(childComplexity int) int
ImportedAt func(childComplexity int) int
Name func(childComplexity int) int
SemesterPath func(childComplexity int) int
StudentCount func(childComplexity int) int
Students func(childComplexity int) int
UpdatedAt func(childComplexity int) int
UseCoursenameAsPrefix func(childComplexity int) int
UseEmailDomainAsSuffix func(childComplexity int) int
}
DockerImageReport struct {
Image func(childComplexity int) int
Wanted func(childComplexity int) int
}
DockerImagesReport struct {
Images func(childComplexity int) int
Status func(childComplexity int) int
}
FieldMeta struct {
Deprecated func(childComplexity int) int
Description func(childComplexity int) int
Example func(childComplexity int) int
Group func(childComplexity int) int
Key func(childComplexity int) int
Kind func(childComplexity int) int
Label func(childComplexity int) int
Options func(childComplexity int) int
Required func(childComplexity int) int
}
FieldOption struct {
Description func(childComplexity int) int
Label func(childComplexity int) int
Value func(childComplexity int) int
}
FieldValue struct {
Key func(childComplexity int) int
Value func(childComplexity int) int
}
Finding struct {
Message func(childComplexity int) int
Path func(childComplexity int) int
Severity func(childComplexity int) int
}
GitLabTokenStatus struct {
Set func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
Group struct {
Members func(childComplexity int) int
Name func(childComplexity int) int
}
Mutation struct {
CreateCourse func(childComplexity int, name string, coursePath string, semesterPath string, useCoursenameAsPrefix bool, useEmailDomainAsSuffix bool) int
DeleteAssignment func(childComplexity int, course string, name string) int
DeleteCourse func(childComplexity int, name string) int
ImportCourseYaml func(childComplexity int, yaml string) int
RemoveGitlabToken func(childComplexity int) int
SetAssignment func(childComplexity int, course string, name string, draft []*model.FieldValueInput) int
SetCourse func(childComplexity int, name string, coursePath string, semesterPath string, useCoursenameAsPrefix bool, useEmailDomainAsSuffix bool) int
SetCourseGroups func(childComplexity int, name string, groups []*model.GroupInput) int
SetCourseStudents func(childComplexity int, name string, students []string) int
SetGitlabToken func(childComplexity int, token string) int
}
ProjectMemberReport struct {
Name func(childComplexity int) int
Username func(childComplexity int) int
WebURL func(childComplexity int) int
}
ProjectReport struct {
Active func(childComplexity int) int
Commits func(childComplexity int) int
CreatedAt func(childComplexity int) int
EmptyRepo func(childComplexity int) int
LastActivity func(childComplexity int) int
LastCommit func(childComplexity int) int
Members func(childComplexity int) int
Name func(childComplexity int) int
OpenIssuesCount func(childComplexity int) int
OpenMergeRequestsCount func(childComplexity int) int
Release func(childComplexity int) int
WebURL func(childComplexity int) int
}
Query struct {
ApprovalRuleSchema func(childComplexity int) int
ApprovalSettingsSchema func(childComplexity int) int
Assignment func(childComplexity int, course string, name string) int
AssignmentReport func(childComplexity int, course string, name string) int
AssignmentSchema func(childComplexity int) int
AssignmentUrls func(childComplexity int, course string, name string) int
BranchRuleSchema func(childComplexity int) int
Course func(childComplexity int, name string) int
CourseLint func(childComplexity int, name string) int
CourseYaml func(childComplexity int, name string) int
Courses func(childComplexity int) int
GitlabToken func(childComplexity int) int
Me func(childComplexity int) int
ServerInfo func(childComplexity int) int
ValidateAssignmentDraft func(childComplexity int, course string, name string, draft []*model.FieldValueInput) int
}
ReleaseMergeRequestReport struct {
Found func(childComplexity int) int
PipelineStatus func(childComplexity int) int
WebURL func(childComplexity int) int
}
ReleaseReport struct {
DockerImages func(childComplexity int) int
MergeRequest func(childComplexity int) int
}
RepoUrl struct {
For func(childComplexity int) int
URL func(childComplexity int) int
}
ServerInfo struct {
Commit func(childComplexity int) int
Date func(childComplexity int) int
Version func(childComplexity int) int
}
User struct {
Email func(childComplexity int) int
Name func(childComplexity int) int
}
ValidationResult struct {
Errors func(childComplexity int) int
Ok func(childComplexity int) int
ResolveError func(childComplexity int) int
Resolved func(childComplexity int) int
}
}
type Config ¶
type Config = graphql.Config[ResolverRoot, DirectiveRoot, ComplexityRoot]
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type MutationResolver ¶ added in v3.2.0
type MutationResolver interface {
ImportCourseYaml(ctx context.Context, yaml string) (*model.Course, error)
CreateCourse(ctx context.Context, name string, coursePath string, semesterPath string, useCoursenameAsPrefix bool, useEmailDomainAsSuffix bool) (*model.Course, error)
SetCourse(ctx context.Context, name string, coursePath string, semesterPath string, useCoursenameAsPrefix bool, useEmailDomainAsSuffix bool) (*model.Course, error)
SetCourseStudents(ctx context.Context, name string, students []string) (*model.Course, error)
SetCourseGroups(ctx context.Context, name string, groups []*model.GroupInput) (*model.Course, error)
DeleteCourse(ctx context.Context, name string) (bool, error)
SetAssignment(ctx context.Context, course string, name string, draft []*model.FieldValueInput) (*model.AssignmentView, error)
DeleteAssignment(ctx context.Context, course string, name string) (bool, error)
SetGitlabToken(ctx context.Context, token string) (*model.GitLabTokenStatus, error)
RemoveGitlabToken(ctx context.Context) (*model.GitLabTokenStatus, error)
}
type QueryResolver ¶
type QueryResolver interface {
Me(ctx context.Context) (*model.User, error)
ServerInfo(ctx context.Context) (*model.ServerInfo, error)
AssignmentSchema(ctx context.Context) ([]*model.FieldMeta, error)
BranchRuleSchema(ctx context.Context) ([]*model.FieldMeta, error)
ApprovalSettingsSchema(ctx context.Context) ([]*model.FieldMeta, error)
ApprovalRuleSchema(ctx context.Context) ([]*model.FieldMeta, error)
Assignment(ctx context.Context, course string, name string) (*model.AssignmentView, error)
ValidateAssignmentDraft(ctx context.Context, course string, name string, draft []*model.FieldValueInput) (*model.ValidationResult, error)
AssignmentUrls(ctx context.Context, course string, name string) (*model.AssignmentUrls, error)
Courses(ctx context.Context) ([]*model.Course, error)
Course(ctx context.Context, name string) (*model.Course, error)
CourseYaml(ctx context.Context, name string) (string, error)
CourseLint(ctx context.Context, name string) ([]*model.Finding, error)
GitlabToken(ctx context.Context) (*model.GitLabTokenStatus, error)
AssignmentReport(ctx context.Context, course string, name string) (*model.AssignmentReport, error)
}
type ResolverRoot ¶
type ResolverRoot interface {
Mutation() MutationResolver
Query() QueryResolver
}
Click to show internal directories.
Click to hide internal directories.