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 {
ActivityEntry struct {
Assignment func(childComplexity int) int
At func(childComplexity int) int
Course func(childComplexity int) int
Detail func(childComplexity int) int
Op func(childComplexity int) int
Status func(childComplexity int) int
}
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
}
AssignmentRepos struct {
Existing func(childComplexity int) int
Name func(childComplexity int) int
Note func(childComplexity int) int
Per func(childComplexity int) int
Repos func(childComplexity int) int
Targets 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
ExtendsOptions func(childComplexity int) int
Name func(childComplexity int) int
Own func(childComplexity int) int
ResolveError func(childComplexity int) int
Resolved func(childComplexity int) int
}
CheckProgress struct {
Done func(childComplexity int) int
Error func(childComplexity int) int
Message func(childComplexity int) int
Result func(childComplexity int) int
}
CheckResult struct {
Course func(childComplexity int) int
Duplicates func(childComplexity int) int
Errors func(childComplexity int) int
Groups func(childComplexity int) int
Ok func(childComplexity int) int
Students 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
}
DuplicateCheck struct {
Groups func(childComplexity int) int
Student func(childComplexity int) int
}
Event struct {
Actor func(childComplexity int) int
ActorName func(childComplexity int) int
Assignment func(childComplexity int) int
At func(childComplexity int) int
Course func(childComplexity int) int
Department func(childComplexity int) int
Detail func(childComplexity int) int
JobID func(childComplexity int) int
Op func(childComplexity int) int
Severity func(childComplexity int) int
Type 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
}
GroupCheck struct {
Members func(childComplexity int) int
Name func(childComplexity int) int
}
JobParam struct {
Key func(childComplexity int) int
Value func(childComplexity int) int
}
LogLine struct {
Level func(childComplexity int) int
Text func(childComplexity int) int
}
Mutation struct {
CancelScheduledJob func(childComplexity int, id string) int
CopyAssignment func(childComplexity int, course string, from string, newName string) int
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
ImportAssignmentYaml func(childComplexity int, course string, yaml string) int
ImportCourseYaml func(childComplexity int, yaml string) int
PlanOp func(childComplexity int, op model.Op, course string, assignment string, params *model.OpParams, onlyFor []string) int
RemoveGitlabToken func(childComplexity int) int
RenameAssignment func(childComplexity int, course string, oldName string, newName string) int
RenameCourse func(childComplexity int, oldName string, newName string) int
ScheduleOp func(childComplexity int, token string, runAt time.Time, graceMinutes *int, confirmPhrase *string) int
SendSummaryNow 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
}
OpPlan struct {
Assignment func(childComplexity int) int
ConfirmPhrase func(childComplexity int) int
Course func(childComplexity int) int
Destructive func(childComplexity int) int
ExpiresAt func(childComplexity int) int
Op func(childComplexity int) int
Resolved func(childComplexity int) int
Targets func(childComplexity int) int
Token func(childComplexity int) int
Warnings func(childComplexity int) int
}
PlannedTarget struct {
For func(childComplexity int) int
Repo func(childComplexity int) int
URL func(childComplexity int) int
}
PlatformSummary struct {
ActiveUsers func(childComplexity int) int
CourseCreated func(childComplexity int) int
CourseDeleted func(childComplexity int) int
From func(childComplexity int) int
JobCancelled func(childComplexity int) int
JobDone func(childComplexity int) int
JobExpired func(childComplexity int) int
JobFailed func(childComplexity int) int
JobFailures func(childComplexity int) int
JobsRun func(childComplexity int) int
OpDone func(childComplexity int) int
OpFailed func(childComplexity int) int
OpFailures func(childComplexity int) int
OpsByType func(childComplexity int) int
Problems func(childComplexity int) int
Quiet func(childComplexity int) int
RejectedLogins func(childComplexity int) int
ScheduledJobs func(childComplexity int) int
TokenDeleted func(childComplexity int) int
TokenSaved func(childComplexity int) int
TotalEvents func(childComplexity int) int
Until func(childComplexity int) 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 {
ActivityLog func(childComplexity int) int
ApprovalRuleSchema func(childComplexity int) int
ApprovalSettingsSchema func(childComplexity int) int
Assignment func(childComplexity int, course string, name string) int
AssignmentActivity 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
CourseActivity func(childComplexity int, course string) int
CourseCheck func(childComplexity int, name string) int
CourseLint func(childComplexity int, name string) int
CourseRepoOverview func(childComplexity int, course string) int
CourseYaml func(childComplexity int, name string) int
Courses func(childComplexity int) int
GitlabToken func(childComplexity int) int
Me func(childComplexity int) int
PlatformEvents func(childComplexity int, since *time.Time) int
PlatformSummary func(childComplexity int, since *time.Time, until *time.Time) int
ScheduledJob func(childComplexity int, id string) int
ScheduledJobs func(childComplexity int, status []model.JobStatus) 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
}
RepoOverviewEvent struct {
Assignment func(childComplexity int) int
Done func(childComplexity int) int
Error func(childComplexity int) int
Total func(childComplexity int) int
}
RepoStatus struct {
Exists func(childComplexity int) int
For func(childComplexity int) int
Repo func(childComplexity int) int
URL func(childComplexity int) int
}
RepoUrl struct {
For func(childComplexity int) int
URL func(childComplexity int) int
}
ReportProgress struct {
Done func(childComplexity int) int
Error func(childComplexity int) int
Message func(childComplexity int) int
Report func(childComplexity int) int
}
ScheduledJob struct {
Assignment func(childComplexity int) int
Course func(childComplexity int) int
CreatedAt func(childComplexity int) int
Err func(childComplexity int) int
FinishedAt func(childComplexity int) int
GraceMinutes func(childComplexity int) int
ID func(childComplexity int) int
OnlyFor func(childComplexity int) int
Op func(childComplexity int) int
Params func(childComplexity int) int
RunAt func(childComplexity int) int
StartedAt func(childComplexity int) int
Status func(childComplexity int) int
}
ServerInfo struct {
Commit func(childComplexity int) int
Date func(childComplexity int) int
Version func(childComplexity int) int
}
StudentCheck struct {
Input func(childComplexity int) int
Message func(childComplexity int) int
Status func(childComplexity int) int
}
Subscription struct {
AssignmentReportProgress func(childComplexity int, course string, name string) int
CourseCheckProgress func(childComplexity int, name string) int
CourseRepoOverviewProgress func(childComplexity int, course string) int
RunOp func(childComplexity int, token string, confirmPhrase *string) int
}
SummaryLabelCount struct {
Count func(childComplexity int) int
Label func(childComplexity int) int
}
SummaryRejectedLogin struct {
Count func(childComplexity int) int
Department func(childComplexity int) int
Email func(childComplexity int) int
}
SummaryUser struct {
Department func(childComplexity int) int
Email func(childComplexity int) int
Logins func(childComplexity int) int
Name func(childComplexity int) int
}
User struct {
Email func(childComplexity int) int
IsAdmin 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)
RenameCourse(ctx context.Context, oldName string, newName string) (*model.Course, error)
DeleteCourse(ctx context.Context, name string) (bool, error)
SendSummaryNow(ctx context.Context) (bool, error)
SetAssignment(ctx context.Context, course string, name string, draft []*model.FieldValueInput) (*model.AssignmentView, error)
ImportAssignmentYaml(ctx context.Context, course string, yaml string) (*model.AssignmentView, error)
CopyAssignment(ctx context.Context, course string, from string, newName string) (*model.AssignmentView, error)
RenameAssignment(ctx context.Context, course string, oldName string, newName string) (*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)
PlanOp(ctx context.Context, op model.Op, course string, assignment string, params *model.OpParams, onlyFor []string) (*model.OpPlan, error)
ScheduleOp(ctx context.Context, token string, runAt time.Time, graceMinutes *int, confirmPhrase *string) (*model.ScheduledJob, error)
CancelScheduledJob(ctx context.Context, id string) (*model.ScheduledJob, error)
}
type QueryResolver ¶
type QueryResolver interface {
Me(ctx context.Context) (*model.User, error)
ServerInfo(ctx context.Context) (*model.ServerInfo, error)
AssignmentActivity(ctx context.Context, course string, name string) ([]*model.ActivityEntry, error)
CourseActivity(ctx context.Context, course string) ([]*model.ActivityEntry, error)
ActivityLog(ctx context.Context) ([]*model.ActivityEntry, error)
PlatformEvents(ctx context.Context, since *time.Time) ([]*model.Event, error)
PlatformSummary(ctx context.Context, since *time.Time, until *time.Time) (*model.PlatformSummary, 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)
CourseCheck(ctx context.Context, name string) (*model.CheckResult, 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)
CourseRepoOverview(ctx context.Context, course string) ([]*model.AssignmentRepos, error)
ScheduledJobs(ctx context.Context, status []model.JobStatus) ([]*model.ScheduledJob, error)
ScheduledJob(ctx context.Context, id string) (*model.ScheduledJob, error)
}
type ResolverRoot ¶
type ResolverRoot interface {
Mutation() MutationResolver
Query() QueryResolver
Subscription() SubscriptionResolver
User() UserResolver
}
type SubscriptionResolver ¶ added in v3.18.0
type SubscriptionResolver interface {
AssignmentReportProgress(ctx context.Context, course string, name string) (<-chan *model.ReportProgress, error)
CourseCheckProgress(ctx context.Context, name string) (<-chan *model.CheckProgress, error)
RunOp(ctx context.Context, token string, confirmPhrase *string) (<-chan *model.LogLine, error)
CourseRepoOverviewProgress(ctx context.Context, course string) (<-chan *model.RepoOverviewEvent, error)
}
Click to show internal directories.
Click to hide internal directories.