Documentation ¶
Index ¶
- Constants
- Variables
- func StudentRepoName(userName string) string
- type Assignment
- func (a *Assignment) CloneWithoutSubmissions() *Assignment
- func (*Assignment) Descriptor() ([]byte, []int)deprecated
- func (x *Assignment) GetAutoApprove() bool
- func (x *Assignment) GetContainerTimeout() uint32
- func (x *Assignment) GetCourseID() uint64
- func (x *Assignment) GetDeadline() *timestamppb.Timestamp
- func (x *Assignment) GetGradingBenchmarks() []*GradingBenchmark
- func (x *Assignment) GetID() uint64
- func (x *Assignment) GetIsGroupLab() bool
- func (x *Assignment) GetName() string
- func (x *Assignment) GetOrder() uint32
- func (x *Assignment) GetReviewers() uint32
- func (x *Assignment) GetScoreLimit() uint32
- func (x *Assignment) GetSubmissions() []*Submission
- func (x *Assignment) GetTasks() []*Task
- func (a *Assignment) GradedManually() bool
- func (a *Assignment) IsApproved(latest *Submission, score uint32) Submission_Status
- func (*Assignment) ProtoMessage()
- func (x *Assignment) ProtoReflect() protoreflect.Message
- func (x *Assignment) Reset()
- func (a *Assignment) SinceDeadline(now time.Time) time.Duration
- func (x *Assignment) String() string
- func (a *Assignment) WithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)
- type Assignments
- type Benchmarks
- type Course
- func (course *Course) CloneDir() string
- func (*Course) Descriptor() ([]byte, []int)deprecated
- func (course *Course) DockerImage() string
- func (x *Course) GetAssignments() []*Assignment
- func (x *Course) GetCode() string
- func (x *Course) GetCourseCreatorID() uint64
- func (course *Course) GetDockerfile() string
- func (x *Course) GetDockerfileDigest() string
- func (x *Course) GetEnrolled() Enrollment_UserStatus
- func (x *Course) GetEnrollments() []*Enrollment
- func (x *Course) GetGroups() []*Group
- func (x *Course) GetID() uint64
- func (x *Course) GetName() string
- func (x *Course) GetScmOrganizationID() uint64
- func (x *Course) GetScmOrganizationName() string
- func (x *Course) GetSlipDays() uint32
- func (x *Course) GetTag() string
- func (x *Course) GetYear() uint32
- func (r *Course) IDFor(_ string) uint64
- func (c *Course) IsValid() bool
- func (course *Course) JobName() string
- func (*Course) ProtoMessage()
- func (x *Course) ProtoReflect() protoreflect.Message
- func (c *Course) RemoveRemoteID()
- func (x *Course) Reset()
- func (x *Course) String() string
- func (course *Course) TeacherEnrollments() []*Enrollment
- func (course *Course) UpdateDockerfile(dockerfile string) bool
- func (*Course) UserIDs() []uint64
- type CourseRequest
- func (*CourseRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CourseRequest) GetCourseID() uint64
- func (r *CourseRequest) IDFor(_ string) uint64
- func (req *CourseRequest) IsValid() bool
- func (*CourseRequest) ProtoMessage()
- func (x *CourseRequest) ProtoReflect() protoreflect.Message
- func (x *CourseRequest) Reset()
- func (x *CourseRequest) String() string
- type CourseSubmissions
- func (*CourseSubmissions) Descriptor() ([]byte, []int)deprecated
- func (cs *CourseSubmissions) For(id uint64) []*Submission
- func (x *CourseSubmissions) GetSubmissions() map[uint64]*Submissions
- func (*CourseSubmissions) ProtoMessage()
- func (x *CourseSubmissions) ProtoReflect() protoreflect.Message
- func (x *CourseSubmissions) Reset()
- func (x *CourseSubmissions) String() string
- type Courses
- type Enrollment
- func (*Enrollment) Descriptor() ([]byte, []int)deprecated
- func (x *Enrollment) GetCourse() *Course
- func (x *Enrollment) GetCourseID() uint64
- func (x *Enrollment) GetGroup() *Group
- func (x *Enrollment) GetGroupID() uint64
- func (x *Enrollment) GetID() uint64
- func (x *Enrollment) GetLastActivityDate() *timestamppb.Timestamp
- func (x *Enrollment) GetSlipDaysRemaining() uint32
- func (x *Enrollment) GetState() Enrollment_DisplayState
- func (x *Enrollment) GetStatus() Enrollment_UserStatus
- func (x *Enrollment) GetTotalApproved() uint64
- func (x *Enrollment) GetUsedSlipDays() []*UsedSlipDays
- func (x *Enrollment) GetUser() *User
- func (x *Enrollment) GetUserID() uint64
- func (r *Enrollment) IDFor(_ string) uint64
- func (m *Enrollment) IsAdmin() bool
- func (m *Enrollment) IsNone() bool
- func (m *Enrollment) IsPending() bool
- func (m *Enrollment) IsStudent() bool
- func (m *Enrollment) IsTeacher() bool
- func (req *Enrollment) IsValid() bool
- func (m *Enrollment) Name() string
- func (*Enrollment) ProtoMessage()
- func (x *Enrollment) ProtoReflect() protoreflect.Message
- func (m *Enrollment) RemainingSlipDays(c *Course) int32
- func (e *Enrollment) RemoveRemoteID()
- func (x *Enrollment) Reset()
- func (m *Enrollment) SetSlipDays(c *Course)
- func (x *Enrollment) String() string
- func (m *Enrollment) UpdateSlipDays(assignment *Assignment, submission *Submission) error
- type EnrollmentRequest
- func (*EnrollmentRequest) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollmentRequest) GetCourseID() uint64
- func (m *EnrollmentRequest) GetFetchMode() isEnrollmentRequest_FetchMode
- func (x *EnrollmentRequest) GetStatuses() []Enrollment_UserStatus
- func (x *EnrollmentRequest) GetUserID() uint64
- func (r *EnrollmentRequest) IDFor(role string) uint64
- func (req *EnrollmentRequest) IsValid() bool
- func (*EnrollmentRequest) ProtoMessage()
- func (x *EnrollmentRequest) ProtoReflect() protoreflect.Message
- func (x *EnrollmentRequest) Reset()
- func (x *EnrollmentRequest) String() string
- type EnrollmentRequest_CourseID
- type EnrollmentRequest_UserID
- type Enrollment_DisplayState
- func (Enrollment_DisplayState) Descriptor() protoreflect.EnumDescriptor
- func (x Enrollment_DisplayState) Enum() *Enrollment_DisplayState
- func (Enrollment_DisplayState) EnumDescriptor() ([]byte, []int)deprecated
- func (x Enrollment_DisplayState) Number() protoreflect.EnumNumber
- func (x Enrollment_DisplayState) String() string
- func (Enrollment_DisplayState) Type() protoreflect.EnumType
- type Enrollment_UserStatus
- func (Enrollment_UserStatus) Descriptor() protoreflect.EnumDescriptor
- func (x Enrollment_UserStatus) Enum() *Enrollment_UserStatus
- func (Enrollment_UserStatus) EnumDescriptor() ([]byte, []int)deprecated
- func (x Enrollment_UserStatus) Number() protoreflect.EnumNumber
- func (x Enrollment_UserStatus) String() string
- func (Enrollment_UserStatus) Type() protoreflect.EnumType
- type Enrollments
- func (*Enrollments) Descriptor() ([]byte, []int)deprecated
- func (m *Enrollments) GetCourseID() uint64
- func (x *Enrollments) GetEnrollments() []*Enrollment
- func (m *Enrollments) HasCourseID() bool
- func (r *Enrollments) IDFor(_ string) uint64
- func (m *Enrollments) IsValid() bool
- func (*Enrollments) ProtoMessage()
- func (x *Enrollments) ProtoReflect() protoreflect.Message
- func (e *Enrollments) RemoveRemoteID()
- func (x *Enrollments) Reset()
- func (x *Enrollments) String() string
- func (m *Enrollments) UserIDs() []uint64
- type GradingBenchmark
- func (*GradingBenchmark) Descriptor() ([]byte, []int)deprecated
- func (x *GradingBenchmark) GetAssignmentID() uint64
- func (x *GradingBenchmark) GetComment() string
- func (x *GradingBenchmark) GetCourseID() uint64
- func (x *GradingBenchmark) GetCriteria() []*GradingCriterion
- func (x *GradingBenchmark) GetHeading() string
- func (x *GradingBenchmark) GetID() uint64
- func (x *GradingBenchmark) GetReviewID() uint64
- func (r *GradingBenchmark) IDFor(_ string) uint64
- func (bm *GradingBenchmark) IsValid() bool
- func (*GradingBenchmark) ProtoMessage()
- func (x *GradingBenchmark) ProtoReflect() protoreflect.Message
- func (x *GradingBenchmark) Reset()
- func (x *GradingBenchmark) String() string
- type GradingCriterion
- func (*GradingCriterion) Descriptor() ([]byte, []int)deprecated
- func (x *GradingCriterion) GetBenchmarkID() uint64
- func (x *GradingCriterion) GetComment() string
- func (x *GradingCriterion) GetCourseID() uint64
- func (x *GradingCriterion) GetDescription() string
- func (x *GradingCriterion) GetGrade() GradingCriterion_Grade
- func (x *GradingCriterion) GetID() uint64
- func (x *GradingCriterion) GetPoints() uint64
- func (r *GradingCriterion) IDFor(_ string) uint64
- func (c *GradingCriterion) IsValid() bool
- func (*GradingCriterion) ProtoMessage()
- func (x *GradingCriterion) ProtoReflect() protoreflect.Message
- func (x *GradingCriterion) Reset()
- func (x *GradingCriterion) String() string
- type GradingCriterion_Grade
- func (GradingCriterion_Grade) Descriptor() protoreflect.EnumDescriptor
- func (x GradingCriterion_Grade) Enum() *GradingCriterion_Grade
- func (GradingCriterion_Grade) EnumDescriptor() ([]byte, []int)deprecated
- func (x GradingCriterion_Grade) Number() protoreflect.EnumNumber
- func (x GradingCriterion_Grade) String() string
- func (GradingCriterion_Grade) Type() protoreflect.EnumType
- type Group
- func (g *Group) Contains(user *User) bool
- func (g *Group) ContainsAll(group *Group) bool
- func (*Group) Descriptor() ([]byte, []int)deprecated
- func (x *Group) GetCourseID() uint64
- func (x *Group) GetEnrollments() []*Enrollment
- func (x *Group) GetID() uint64
- func (x *Group) GetName() string
- func (x *Group) GetScmTeamID() uint64
- func (x *Group) GetStatus() Group_GroupStatus
- func (x *Group) GetUsers() []*User
- func (g *Group) GetUsersExcept(userID uint64) []*User
- func (r *Group) IDFor(_ string) uint64
- func (grp *Group) IsValid() bool
- func (*Group) ProtoMessage()
- func (x *Group) ProtoReflect() protoreflect.Message
- func (g *Group) RemoveRemoteID()
- func (x *Group) Reset()
- func (x *Group) String() string
- func (g *Group) UserIDs() []uint64
- func (g *Group) UserNames() []string
- type GroupRequest
- func (*GroupRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GroupRequest) GetCourseID() uint64
- func (x *GroupRequest) GetGroupID() uint64
- func (x *GroupRequest) GetUserID() uint64
- func (r *GroupRequest) IDFor(role string) uint64
- func (req *GroupRequest) IsValid() bool
- func (*GroupRequest) ProtoMessage()
- func (x *GroupRequest) ProtoReflect() protoreflect.Message
- func (x *GroupRequest) Reset()
- func (x *GroupRequest) String() string
- func (*GroupRequest) UserIDs() []uint64
- type Group_GroupStatus
- func (Group_GroupStatus) Descriptor() protoreflect.EnumDescriptor
- func (x Group_GroupStatus) Enum() *Group_GroupStatus
- func (Group_GroupStatus) EnumDescriptor() ([]byte, []int)deprecated
- func (x Group_GroupStatus) Number() protoreflect.EnumNumber
- func (x Group_GroupStatus) String() string
- func (Group_GroupStatus) Type() protoreflect.EnumType
- type Groups
- type Issue
- func (*Issue) Descriptor() ([]byte, []int)deprecated
- func (x *Issue) GetID() uint64
- func (x *Issue) GetRepositoryID() uint64
- func (x *Issue) GetScmIssueNumber() uint64
- func (x *Issue) GetTaskID() uint64
- func (*Issue) ProtoMessage()
- func (x *Issue) ProtoReflect() protoreflect.Message
- func (x *Issue) Reset()
- func (x *Issue) String() string
- type Organization
- func (*Organization) Descriptor() ([]byte, []int)deprecated
- func (x *Organization) GetScmOrganizationID() uint64
- func (x *Organization) GetScmOrganizationName() string
- func (*Organization) IDFor(_ string) uint64
- func (org *Organization) IsValid() bool
- func (*Organization) ProtoMessage()
- func (x *Organization) ProtoReflect() protoreflect.Message
- func (x *Organization) Reset()
- func (x *Organization) String() string
- type PullRequest
- func (*PullRequest) Descriptor() ([]byte, []int)deprecated
- func (x *PullRequest) GetID() uint64
- func (x *PullRequest) GetIssueID() uint64
- func (x *PullRequest) GetNumber() uint64
- func (x *PullRequest) GetScmCommentID() uint64
- func (x *PullRequest) GetScmRepositoryID() uint64
- func (x *PullRequest) GetSourceBranch() string
- func (x *PullRequest) GetStage() PullRequest_Stage
- func (x *PullRequest) GetTaskID() uint64
- func (x *PullRequest) GetUserID() uint64
- func (pr *PullRequest) HasFeedbackComment() bool
- func (pr *PullRequest) HasReviewers() bool
- func (pr *PullRequest) IsApproved() bool
- func (*PullRequest) ProtoMessage()
- func (x *PullRequest) ProtoReflect() protoreflect.Message
- func (x *PullRequest) Reset()
- func (pr *PullRequest) SetApproved()
- func (pr *PullRequest) SetDraft()
- func (pr *PullRequest) SetReview()
- func (x *PullRequest) String() string
- func (pr *PullRequest) Valid() bool
- type PullRequest_Stage
- func (PullRequest_Stage) Descriptor() protoreflect.EnumDescriptor
- func (x PullRequest_Stage) Enum() *PullRequest_Stage
- func (PullRequest_Stage) EnumDescriptor() ([]byte, []int)deprecated
- func (x PullRequest_Stage) Number() protoreflect.EnumNumber
- func (x PullRequest_Stage) String() string
- func (PullRequest_Stage) Type() protoreflect.EnumType
- type RebuildRequest
- func (*RebuildRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RebuildRequest) GetAssignmentID() uint64
- func (x *RebuildRequest) GetCourseID() uint64
- func (x *RebuildRequest) GetSubmissionID() uint64
- func (r *RebuildRequest) IDFor(role string) uint64
- func (req *RebuildRequest) IsValid() bool
- func (*RebuildRequest) ProtoMessage()
- func (x *RebuildRequest) ProtoReflect() protoreflect.Message
- func (x *RebuildRequest) Reset()
- func (x *RebuildRequest) String() string
- type RepoURL
- type Repositories
- type Repository
- func (*Repository) Descriptor() ([]byte, []int)deprecated
- func (x *Repository) GetGroupID() uint64
- func (x *Repository) GetHTMLURL() string
- func (x *Repository) GetID() uint64
- func (x *Repository) GetIssues() []*Issue
- func (x *Repository) GetRepoType() Repository_Type
- func (x *Repository) GetScmOrganizationID() uint64
- func (x *Repository) GetScmRepositoryID() uint64
- func (t *Repository) GetTestURL() string
- func (x *Repository) GetUserID() uint64
- func (t *Repository) IsAssignmentsRepo() bool
- func (t *Repository) IsGroupRepo() bool
- func (t *Repository) IsStudentRepo() bool
- func (t *Repository) IsTestsRepo() bool
- func (t *Repository) IsUserRepo() bool
- func (t *Repository) Name() string
- func (*Repository) ProtoMessage()
- func (x *Repository) ProtoReflect() protoreflect.Message
- func (x *Repository) Reset()
- func (x *Repository) String() string
- func (t *Repository) UserName() string
- type RepositoryRequest
- func (*RepositoryRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RepositoryRequest) GetCourseID() uint64
- func (x *RepositoryRequest) GetGroupID() uint64
- func (x *RepositoryRequest) GetUserID() uint64
- func (r *RepositoryRequest) IDFor(_ string) uint64
- func (req *RepositoryRequest) IsValid() bool
- func (*RepositoryRequest) ProtoMessage()
- func (x *RepositoryRequest) ProtoReflect() protoreflect.Message
- func (x *RepositoryRequest) Reset()
- func (x *RepositoryRequest) String() string
- type Repository_Type
- func (Repository_Type) Descriptor() protoreflect.EnumDescriptor
- func (x Repository_Type) Enum() *Repository_Type
- func (Repository_Type) EnumDescriptor() ([]byte, []int)deprecated
- func (t Repository_Type) IsCourseRepo() bool
- func (t Repository_Type) IsGroupRepo() bool
- func (t Repository_Type) IsStudentRepo() bool
- func (t Repository_Type) IsUserRepo() bool
- func (x Repository_Type) Number() protoreflect.EnumNumber
- func (x Repository_Type) String() string
- func (Repository_Type) Type() protoreflect.EnumType
- type Review
- func (r *Review) ComputeScore()
- func (*Review) Descriptor() ([]byte, []int)deprecated
- func (x *Review) GetEdited() *timestamppb.Timestamp
- func (x *Review) GetFeedback() string
- func (x *Review) GetGradingBenchmarks() []*GradingBenchmark
- func (x *Review) GetID() uint64
- func (x *Review) GetReady() bool
- func (x *Review) GetReviewerID() uint64
- func (x *Review) GetScore() uint32
- func (x *Review) GetSubmissionID() uint64
- func (r *Review) IsValid() bool
- func (*Review) ProtoMessage()
- func (x *Review) ProtoReflect() protoreflect.Message
- func (x *Review) Reset()
- func (x *Review) String() string
- type ReviewRequest
- func (*ReviewRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ReviewRequest) GetCourseID() uint64
- func (x *ReviewRequest) GetReview() *Review
- func (r *ReviewRequest) IDFor(_ string) uint64
- func (r *ReviewRequest) IsValid() bool
- func (*ReviewRequest) ProtoMessage()
- func (x *ReviewRequest) ProtoReflect() protoreflect.Message
- func (x *ReviewRequest) Reset()
- func (x *ReviewRequest) String() string
- type Submission
- func (s *Submission) ByGroup(groupID uint64) bool
- func (s *Submission) ByUser(userID uint64) bool
- func (*Submission) Descriptor() ([]byte, []int)deprecated
- func (x *Submission) GetApprovedDate() *timestamppb.Timestamp
- func (x *Submission) GetAssignmentID() uint64
- func (x *Submission) GetBuildInfo() *score.BuildInfo
- func (x *Submission) GetCommitHash() string
- func (x *Submission) GetGroupID() uint64
- func (x *Submission) GetID() uint64
- func (x *Submission) GetReleased() bool
- func (x *Submission) GetReviews() []*Review
- func (x *Submission) GetScore() uint32
- func (x *Submission) GetScores() []*score.Score
- func (x *Submission) GetStatus() Submission_Status
- func (x *Submission) GetUserID() uint64
- func (s *Submission) IsApproved() bool
- func (s *Submission) NewestSubmissionDate(submissionDate time.Time) time.Time
- func (*Submission) ProtoMessage()
- func (x *Submission) ProtoReflect() protoreflect.Message
- func (x *Submission) Reset()
- func (x *Submission) String() string
- type SubmissionRequest
- func (*SubmissionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SubmissionRequest) GetAssignmentID() uint64
- func (x *SubmissionRequest) GetCourseID() uint64
- func (m *SubmissionRequest) GetFetchMode() isSubmissionRequest_FetchMode
- func (x *SubmissionRequest) GetGroupID() uint64
- func (x *SubmissionRequest) GetSubmissionID() uint64
- func (x *SubmissionRequest) GetType() SubmissionRequest_SubmissionType
- func (x *SubmissionRequest) GetUserID() uint64
- func (r *SubmissionRequest) IDFor(role string) uint64
- func (req *SubmissionRequest) IsValid() bool
- func (*SubmissionRequest) ProtoMessage()
- func (x *SubmissionRequest) ProtoReflect() protoreflect.Message
- func (x *SubmissionRequest) Reset()
- func (x *SubmissionRequest) String() string
- type SubmissionRequest_GroupID
- type SubmissionRequest_SubmissionID
- type SubmissionRequest_SubmissionType
- func (SubmissionRequest_SubmissionType) Descriptor() protoreflect.EnumDescriptor
- func (x SubmissionRequest_SubmissionType) Enum() *SubmissionRequest_SubmissionType
- func (SubmissionRequest_SubmissionType) EnumDescriptor() ([]byte, []int)deprecated
- func (x SubmissionRequest_SubmissionType) Number() protoreflect.EnumNumber
- func (x SubmissionRequest_SubmissionType) String() string
- func (SubmissionRequest_SubmissionType) Type() protoreflect.EnumType
- type SubmissionRequest_Type
- type SubmissionRequest_UserID
- type Submission_Status
- func (Submission_Status) Descriptor() protoreflect.EnumDescriptor
- func (x Submission_Status) Enum() *Submission_Status
- func (Submission_Status) EnumDescriptor() ([]byte, []int)deprecated
- func (x Submission_Status) Number() protoreflect.EnumNumber
- func (x Submission_Status) String() string
- func (Submission_Status) Type() protoreflect.EnumType
- type Submissions
- func (s *Submissions) Clean()
- func (*Submissions) Descriptor() ([]byte, []int)deprecated
- func (x *Submissions) GetSubmissions() []*Submission
- func (*Submissions) ProtoMessage()
- func (x *Submissions) ProtoReflect() protoreflect.Message
- func (x *Submissions) Reset()
- func (x *Submissions) String() string
- type Task
- func (*Task) Descriptor() ([]byte, []int)deprecated
- func (x *Task) GetAssignmentID() uint64
- func (x *Task) GetAssignmentOrder() uint32
- func (x *Task) GetBody() string
- func (x *Task) GetID() uint64
- func (x *Task) GetIssues() []*Issue
- func (x *Task) GetName() string
- func (x *Task) GetTitle() string
- func (t *Task) HasChanged(newTask *Task) bool
- func (t *Task) IsDeleted() bool
- func (t *Task) MarkDeleted()
- func (*Task) ProtoMessage()
- func (x *Task) ProtoReflect() protoreflect.Message
- func (x *Task) Reset()
- func (x *Task) String() string
- type UpdateSubmissionRequest
- func (*UpdateSubmissionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *UpdateSubmissionRequest) GetCourseID() uint64
- func (x *UpdateSubmissionRequest) GetReleased() bool
- func (x *UpdateSubmissionRequest) GetScore() uint32
- func (x *UpdateSubmissionRequest) GetStatus() Submission_Status
- func (x *UpdateSubmissionRequest) GetSubmissionID() uint64
- func (r *UpdateSubmissionRequest) IDFor(role string) uint64
- func (req *UpdateSubmissionRequest) IsValid() bool
- func (*UpdateSubmissionRequest) ProtoMessage()
- func (x *UpdateSubmissionRequest) ProtoReflect() protoreflect.Message
- func (x *UpdateSubmissionRequest) Reset()
- func (x *UpdateSubmissionRequest) String() string
- type UpdateSubmissionsRequest
- func (*UpdateSubmissionsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *UpdateSubmissionsRequest) GetApprove() bool
- func (x *UpdateSubmissionsRequest) GetAssignmentID() uint64
- func (x *UpdateSubmissionsRequest) GetCourseID() uint64
- func (x *UpdateSubmissionsRequest) GetRelease() bool
- func (x *UpdateSubmissionsRequest) GetScoreLimit() uint32
- func (r *UpdateSubmissionsRequest) IDFor(_ string) uint64
- func (*UpdateSubmissionsRequest) ProtoMessage()
- func (x *UpdateSubmissionsRequest) ProtoReflect() protoreflect.Message
- func (x *UpdateSubmissionsRequest) Reset()
- func (x *UpdateSubmissionsRequest) String() string
- type UsedSlipDays
- func (*UsedSlipDays) Descriptor() ([]byte, []int)deprecated
- func (x *UsedSlipDays) GetAssignmentID() uint64
- func (x *UsedSlipDays) GetEnrollmentID() uint64
- func (x *UsedSlipDays) GetID() uint64
- func (x *UsedSlipDays) GetUsedDays() uint32
- func (*UsedSlipDays) ProtoMessage()
- func (x *UsedSlipDays) ProtoReflect() protoreflect.Message
- func (x *UsedSlipDays) Reset()
- func (x *UsedSlipDays) String() string
- type User
- func (*User) Descriptor() ([]byte, []int)deprecated
- func (x *User) GetAvatarURL() string
- func (x *User) GetEmail() string
- func (x *User) GetEnrollments() []*Enrollment
- func (x *User) GetID() uint64
- func (x *User) GetIsAdmin() bool
- func (x *User) GetLogin() string
- func (x *User) GetName() string
- func (x *User) GetRefreshToken() string
- func (x *User) GetScmRemoteID() uint64
- func (x *User) GetStudentID() string
- func (x *User) GetUpdateToken() bool
- func (r *User) IDFor(_ string) uint64
- func (u *User) IsOwner(userID uint64) bool
- func (u *User) IsValid() bool
- func (*User) ProtoMessage()
- func (x *User) ProtoReflect() protoreflect.Message
- func (u *User) RemoveRemoteID()
- func (x *User) Reset()
- func (x *User) String() string
- func (u *User) UserIDs() []uint64
- type Users
- type Void
Constants ¶
const ( InfoRepo = "info" AssignmentsRepo = "assignments" TestsRepo = "tests" StudentRepoSuffix = "-labs" )
Default repository names.
const (
TimeLayout = "2006-01-02T15:04:05"
)
Variables ¶
var ( SubmissionRequest_SubmissionType_name = map[int32]string{ 0: "ALL", 1: "USER", 2: "GROUP", } SubmissionRequest_SubmissionType_value = map[string]int32{ "ALL": 0, "USER": 1, "GROUP": 2, } )
Enum value maps for SubmissionRequest_SubmissionType.
var ( Group_GroupStatus_name = map[int32]string{ 0: "PENDING", 1: "APPROVED", } Group_GroupStatus_value = map[string]int32{ "PENDING": 0, "APPROVED": 1, } )
Enum value maps for Group_GroupStatus.
var ( Repository_Type_name = map[int32]string{ 0: "NONE", 1: "INFO", 2: "ASSIGNMENTS", 3: "TESTS", 4: "USER", 5: "GROUP", } Repository_Type_value = map[string]int32{ "NONE": 0, "INFO": 1, "ASSIGNMENTS": 2, "TESTS": 3, "USER": 4, "GROUP": 5, } )
Enum value maps for Repository_Type.
var ( Enrollment_UserStatus_name = map[int32]string{ 0: "NONE", 1: "PENDING", 2: "STUDENT", 3: "TEACHER", } Enrollment_UserStatus_value = map[string]int32{ "NONE": 0, "PENDING": 1, "STUDENT": 2, "TEACHER": 3, } )
Enum value maps for Enrollment_UserStatus.
var ( Enrollment_DisplayState_name = map[int32]string{ 0: "UNSET", 1: "HIDDEN", 2: "VISIBLE", 3: "FAVORITE", } Enrollment_DisplayState_value = map[string]int32{ "UNSET": 0, "HIDDEN": 1, "VISIBLE": 2, "FAVORITE": 3, } )
Enum value maps for Enrollment_DisplayState.
var ( PullRequest_Stage_name = map[int32]string{ 0: "NONE", 1: "DRAFT", 2: "REVIEW", 3: "APPROVED", } PullRequest_Stage_value = map[string]int32{ "NONE": 0, "DRAFT": 1, "REVIEW": 2, "APPROVED": 3, } )
Enum value maps for PullRequest_Stage.
var ( Submission_Status_name = map[int32]string{ 0: "NONE", 1: "APPROVED", 2: "REJECTED", 3: "REVISION", } Submission_Status_value = map[string]int32{ "NONE": 0, "APPROVED": 1, "REJECTED": 2, "REVISION": 3, } )
Enum value maps for Submission_Status.
var ( GradingCriterion_Grade_name = map[int32]string{ 0: "NONE", 1: "FAILED", 2: "PASSED", } GradingCriterion_Grade_value = map[string]int32{ "NONE": 0, "FAILED": 1, "PASSED": 2, } )
Enum value maps for GradingCriterion_Grade.
var File_qf_quickfeed_proto protoreflect.FileDescriptor
var File_qf_requests_proto protoreflect.FileDescriptor
var File_qf_types_proto protoreflect.FileDescriptor
Functions ¶
func StudentRepoName ¶
StudentRepoName returns the name of the given student's repository.
Types ¶
type Assignment ¶
type Assignment struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CourseID uint64 `protobuf:"varint,2,opt,name=CourseID,proto3" json:"CourseID,omitempty"` // foreign key Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Deadline *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=deadline,proto3" json:"deadline,omitempty" gorm:"serializer:timestamp;type:datetime"` AutoApprove bool `protobuf:"varint,5,opt,name=autoApprove,proto3" json:"autoApprove,omitempty"` Order uint32 `protobuf:"varint,6,opt,name=order,proto3" json:"order,omitempty"` IsGroupLab bool `protobuf:"varint,7,opt,name=isGroupLab,proto3" json:"isGroupLab,omitempty"` ScoreLimit uint32 `protobuf:"varint,8,opt,name=scoreLimit,proto3" json:"scoreLimit,omitempty"` // minimal score limit for auto approval Reviewers uint32 `protobuf:"varint,9,opt,name=reviewers,proto3" json:"reviewers,omitempty"` // number of reviewers that will review submissions for this assignment ContainerTimeout uint32 `protobuf:"varint,10,opt,name=containerTimeout,proto3" json:"containerTimeout,omitempty"` // container timeout for this assignment Submissions []*Submission `protobuf:"bytes,11,rep,name=submissions,proto3" json:"submissions,omitempty"` // submissions produced for this assignment Tasks []*Task `protobuf:"bytes,12,rep,name=tasks,proto3" json:"tasks,omitempty"` // tasks associated with this assignment GradingBenchmarks []*GradingBenchmark `protobuf:"bytes,13,rep,name=gradingBenchmarks,proto3" json:"gradingBenchmarks,omitempty"` // grading benchmarks for this assignment // contains filtered or unexported fields }
func (*Assignment) CloneWithoutSubmissions ¶
func (a *Assignment) CloneWithoutSubmissions() *Assignment
CloneWithoutSubmissions returns a deep copy of the assignment without submissions.
func (*Assignment) Descriptor
deprecated
func (*Assignment) Descriptor() ([]byte, []int)
Deprecated: Use Assignment.ProtoReflect.Descriptor instead.
func (*Assignment) GetAutoApprove ¶
func (x *Assignment) GetAutoApprove() bool
func (*Assignment) GetContainerTimeout ¶
func (x *Assignment) GetContainerTimeout() uint32
func (*Assignment) GetCourseID ¶
func (x *Assignment) GetCourseID() uint64
func (*Assignment) GetDeadline ¶
func (x *Assignment) GetDeadline() *timestamppb.Timestamp
func (*Assignment) GetGradingBenchmarks ¶
func (x *Assignment) GetGradingBenchmarks() []*GradingBenchmark
func (*Assignment) GetID ¶
func (x *Assignment) GetID() uint64
func (*Assignment) GetIsGroupLab ¶
func (x *Assignment) GetIsGroupLab() bool
func (*Assignment) GetName ¶
func (x *Assignment) GetName() string
func (*Assignment) GetOrder ¶
func (x *Assignment) GetOrder() uint32
func (*Assignment) GetReviewers ¶
func (x *Assignment) GetReviewers() uint32
func (*Assignment) GetScoreLimit ¶
func (x *Assignment) GetScoreLimit() uint32
func (*Assignment) GetSubmissions ¶
func (x *Assignment) GetSubmissions() []*Submission
func (*Assignment) GetTasks ¶
func (x *Assignment) GetTasks() []*Task
func (*Assignment) GradedManually ¶
func (a *Assignment) GradedManually() bool
GradedManually returns true if the assignment will be graded manually.
func (*Assignment) IsApproved ¶
func (a *Assignment) IsApproved(latest *Submission, score uint32) Submission_Status
IsApproved returns an approved submission status if this assignment is already approved for the latest submission, or if the score of the latest submission is sufficient to autoapprove the assignment.
func (*Assignment) ProtoMessage ¶
func (*Assignment) ProtoMessage()
func (*Assignment) ProtoReflect ¶
func (x *Assignment) ProtoReflect() protoreflect.Message
func (*Assignment) Reset ¶
func (x *Assignment) Reset()
func (*Assignment) SinceDeadline ¶
func (a *Assignment) SinceDeadline(now time.Time) time.Duration
SinceDeadline returns the duration since the deadline. A positive duration means the deadline has passed, whereas a negative duration means the deadline has not yet passed.
func (*Assignment) String ¶
func (x *Assignment) String() string
func (*Assignment) WithTimeout ¶
func (a *Assignment) WithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)
WithTimeout returns a context with an execution timeout set to the assignment's specified container timeout. If the assignment has no container timeout, the provided timeout value is used instead.
type Assignments ¶
type Assignments struct { Assignments []*Assignment `protobuf:"bytes,1,rep,name=assignments,proto3" json:"assignments,omitempty"` // contains filtered or unexported fields }
func (*Assignments) Descriptor
deprecated
func (*Assignments) Descriptor() ([]byte, []int)
Deprecated: Use Assignments.ProtoReflect.Descriptor instead.
func (*Assignments) GetAssignments ¶
func (x *Assignments) GetAssignments() []*Assignment
func (*Assignments) ProtoMessage ¶
func (*Assignments) ProtoMessage()
func (*Assignments) ProtoReflect ¶
func (x *Assignments) ProtoReflect() protoreflect.Message
func (*Assignments) Reset ¶
func (x *Assignments) Reset()
func (*Assignments) String ¶
func (x *Assignments) String() string
type Benchmarks ¶
type Benchmarks struct { Benchmarks []*GradingBenchmark `protobuf:"bytes,1,rep,name=benchmarks,proto3" json:"benchmarks,omitempty"` // contains filtered or unexported fields }
func (*Benchmarks) Descriptor
deprecated
func (*Benchmarks) Descriptor() ([]byte, []int)
Deprecated: Use Benchmarks.ProtoReflect.Descriptor instead.
func (*Benchmarks) GetBenchmarks ¶
func (x *Benchmarks) GetBenchmarks() []*GradingBenchmark
func (*Benchmarks) ProtoMessage ¶
func (*Benchmarks) ProtoMessage()
func (*Benchmarks) ProtoReflect ¶
func (x *Benchmarks) ProtoReflect() protoreflect.Message
func (*Benchmarks) Reset ¶
func (x *Benchmarks) Reset()
func (*Benchmarks) String ¶
func (x *Benchmarks) String() string
type Course ¶
type Course struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CourseCreatorID uint64 `protobuf:"varint,2,opt,name=courseCreatorID,proto3" json:"courseCreatorID,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Code string `protobuf:"bytes,4,opt,name=code,proto3" json:"code,omitempty" gorm:"uniqueIndex:course"` Year uint32 `protobuf:"varint,5,opt,name=year,proto3" json:"year,omitempty" gorm:"uniqueIndex:course"` Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` ScmOrganizationID uint64 `protobuf:"varint,8,opt,name=ScmOrganizationID,proto3" json:"ScmOrganizationID,omitempty"` ScmOrganizationName string `protobuf:"bytes,9,opt,name=ScmOrganizationName,proto3" json:"ScmOrganizationName,omitempty"` // The organization's SCM name, e.g., dat520-2020. SlipDays uint32 `protobuf:"varint,10,opt,name=slipDays,proto3" json:"slipDays,omitempty"` DockerfileDigest string `protobuf:"bytes,11,opt,name=DockerfileDigest,proto3" json:"DockerfileDigest,omitempty"` // Digest of the dockerfile used to build the course's docker image. Enrolled Enrollment_UserStatus `protobuf:"varint,12,opt,name=enrolled,proto3,enum=qf.Enrollment_UserStatus" json:"enrolled,omitempty" gorm:"-"` Enrollments []*Enrollment `protobuf:"bytes,13,rep,name=enrollments,proto3" json:"enrollments,omitempty"` Assignments []*Assignment `protobuf:"bytes,14,rep,name=assignments,proto3" json:"assignments,omitempty"` Groups []*Group `protobuf:"bytes,15,rep,name=groups,proto3" json:"groups,omitempty"` // contains filtered or unexported fields }
func (*Course) Descriptor
deprecated
func (*Course) DockerImage ¶
func (*Course) GetAssignments ¶
func (x *Course) GetAssignments() []*Assignment
func (*Course) GetCourseCreatorID ¶
func (*Course) GetDockerfile ¶
func (*Course) GetDockerfileDigest ¶
func (*Course) GetEnrolled ¶
func (x *Course) GetEnrolled() Enrollment_UserStatus
func (*Course) GetEnrollments ¶
func (x *Course) GetEnrollments() []*Enrollment
func (*Course) GetScmOrganizationID ¶
func (*Course) GetScmOrganizationName ¶
func (*Course) GetSlipDays ¶
func (*Course) ProtoMessage ¶
func (*Course) ProtoMessage()
func (*Course) ProtoReflect ¶
func (x *Course) ProtoReflect() protoreflect.Message
func (*Course) RemoveRemoteID ¶
func (c *Course) RemoveRemoteID()
RemoveRemoteID removes remote identities for all course groups and enrollments
func (*Course) TeacherEnrollments ¶
func (course *Course) TeacherEnrollments() []*Enrollment
func (*Course) UpdateDockerfile ¶
UpdateDockerfile updates the course's dockerfile cache and returns true if the given dockerfile was different from the course's previous Dockerfile. This method will also update the course's DigestDockerfile field so that changes to the dockerfile is reflected in the database.
type CourseRequest ¶
type CourseRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` // contains filtered or unexported fields }
func (*CourseRequest) Descriptor
deprecated
func (*CourseRequest) Descriptor() ([]byte, []int)
Deprecated: Use CourseRequest.ProtoReflect.Descriptor instead.
func (*CourseRequest) GetCourseID ¶
func (x *CourseRequest) GetCourseID() uint64
func (*CourseRequest) IDFor ¶
func (r *CourseRequest) IDFor(_ string) uint64
IDFor returns course ID.
func (*CourseRequest) IsValid ¶
func (req *CourseRequest) IsValid() bool
IsValid ensures that course ID is set
func (*CourseRequest) ProtoMessage ¶
func (*CourseRequest) ProtoMessage()
func (*CourseRequest) ProtoReflect ¶
func (x *CourseRequest) ProtoReflect() protoreflect.Message
func (*CourseRequest) Reset ¶
func (x *CourseRequest) Reset()
func (*CourseRequest) String ¶
func (x *CourseRequest) String() string
type CourseSubmissions ¶
type CourseSubmissions struct { Submissions map[uint64]*Submissions `` /* 164-byte string literal not displayed */ // contains filtered or unexported fields }
func (*CourseSubmissions) Descriptor
deprecated
func (*CourseSubmissions) Descriptor() ([]byte, []int)
Deprecated: Use CourseSubmissions.ProtoReflect.Descriptor instead.
func (*CourseSubmissions) For ¶
func (cs *CourseSubmissions) For(id uint64) []*Submission
func (*CourseSubmissions) GetSubmissions ¶
func (x *CourseSubmissions) GetSubmissions() map[uint64]*Submissions
func (*CourseSubmissions) ProtoMessage ¶
func (*CourseSubmissions) ProtoMessage()
func (*CourseSubmissions) ProtoReflect ¶
func (x *CourseSubmissions) ProtoReflect() protoreflect.Message
func (*CourseSubmissions) Reset ¶
func (x *CourseSubmissions) Reset()
func (*CourseSubmissions) String ¶
func (x *CourseSubmissions) String() string
type Courses ¶
type Courses struct { Courses []*Course `protobuf:"bytes,1,rep,name=courses,proto3" json:"courses,omitempty"` // contains filtered or unexported fields }
func (*Courses) Descriptor
deprecated
func (*Courses) GetCourses ¶
func (*Courses) ProtoMessage ¶
func (*Courses) ProtoMessage()
func (*Courses) ProtoReflect ¶
func (x *Courses) ProtoReflect() protoreflect.Message
func (*Courses) RemoveRemoteID ¶
func (c *Courses) RemoveRemoteID()
RemoveRemoteID removes remote identities for groups and enrollments in every course
type Enrollment ¶
type Enrollment struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CourseID uint64 `protobuf:"varint,2,opt,name=courseID,proto3" json:"courseID,omitempty" gorm:"uniqueIndex:enrollment"` UserID uint64 `protobuf:"varint,3,opt,name=userID,proto3" json:"userID,omitempty" gorm:"uniqueIndex:enrollment"` GroupID uint64 `protobuf:"varint,4,opt,name=groupID,proto3" json:"groupID,omitempty"` User *User `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"` Course *Course `protobuf:"bytes,6,opt,name=course,proto3" json:"course,omitempty"` Group *Group `protobuf:"bytes,7,opt,name=group,proto3" json:"group,omitempty"` Status Enrollment_UserStatus `protobuf:"varint,8,opt,name=status,proto3,enum=qf.Enrollment_UserStatus" json:"status,omitempty"` State Enrollment_DisplayState `protobuf:"varint,9,opt,name=state,proto3,enum=qf.Enrollment_DisplayState" json:"state,omitempty"` SlipDaysRemaining uint32 `protobuf:"varint,10,opt,name=slipDaysRemaining,proto3" json:"slipDaysRemaining,omitempty" gorm:"-"` LastActivityDate *timestamppb.Timestamp `` /* 128-byte string literal not displayed */ TotalApproved uint64 `protobuf:"varint,12,opt,name=totalApproved,proto3" json:"totalApproved,omitempty"` UsedSlipDays []*UsedSlipDays `protobuf:"bytes,13,rep,name=usedSlipDays,proto3" json:"usedSlipDays,omitempty"` // contains filtered or unexported fields }
func (*Enrollment) Descriptor
deprecated
func (*Enrollment) Descriptor() ([]byte, []int)
Deprecated: Use Enrollment.ProtoReflect.Descriptor instead.
func (*Enrollment) GetCourse ¶
func (x *Enrollment) GetCourse() *Course
func (*Enrollment) GetCourseID ¶
func (x *Enrollment) GetCourseID() uint64
func (*Enrollment) GetGroup ¶
func (x *Enrollment) GetGroup() *Group
func (*Enrollment) GetGroupID ¶
func (x *Enrollment) GetGroupID() uint64
func (*Enrollment) GetID ¶
func (x *Enrollment) GetID() uint64
func (*Enrollment) GetLastActivityDate ¶
func (x *Enrollment) GetLastActivityDate() *timestamppb.Timestamp
func (*Enrollment) GetSlipDaysRemaining ¶
func (x *Enrollment) GetSlipDaysRemaining() uint32
func (*Enrollment) GetState ¶
func (x *Enrollment) GetState() Enrollment_DisplayState
func (*Enrollment) GetStatus ¶
func (x *Enrollment) GetStatus() Enrollment_UserStatus
func (*Enrollment) GetTotalApproved ¶
func (x *Enrollment) GetTotalApproved() uint64
func (*Enrollment) GetUsedSlipDays ¶
func (x *Enrollment) GetUsedSlipDays() []*UsedSlipDays
func (*Enrollment) GetUser ¶
func (x *Enrollment) GetUser() *User
func (*Enrollment) GetUserID ¶
func (x *Enrollment) GetUserID() uint64
func (*Enrollment) IsAdmin ¶
func (m *Enrollment) IsAdmin() bool
IsAdmin returns true if the enrolled user is an admin.
func (*Enrollment) IsNone ¶
func (m *Enrollment) IsNone() bool
func (*Enrollment) IsPending ¶
func (m *Enrollment) IsPending() bool
func (*Enrollment) IsStudent ¶
func (m *Enrollment) IsStudent() bool
func (*Enrollment) IsTeacher ¶
func (m *Enrollment) IsTeacher() bool
func (*Enrollment) IsValid ¶
func (req *Enrollment) IsValid() bool
IsValid checks required fields of an enrollment request.
func (*Enrollment) Name ¶
func (m *Enrollment) Name() string
Name returns the name of the enrolled user.
func (*Enrollment) ProtoMessage ¶
func (*Enrollment) ProtoMessage()
func (*Enrollment) ProtoReflect ¶
func (x *Enrollment) ProtoReflect() protoreflect.Message
func (*Enrollment) RemainingSlipDays ¶
func (m *Enrollment) RemainingSlipDays(c *Course) int32
RemainingSlipDays returns the remaining number of slip days for this user/course enrollment. Note that if the returned amount is negative, the user has used up all slip days.
func (*Enrollment) RemoveRemoteID ¶
func (e *Enrollment) RemoveRemoteID()
RemoveRemoteID removes remote identity of the enrolled user
func (*Enrollment) Reset ¶
func (x *Enrollment) Reset()
func (*Enrollment) SetSlipDays ¶
func (m *Enrollment) SetSlipDays(c *Course)
SetSlipDays updates SlipDaysRemaining field of an enrollment.
func (*Enrollment) String ¶
func (x *Enrollment) String() string
func (*Enrollment) UpdateSlipDays ¶
func (m *Enrollment) UpdateSlipDays(assignment *Assignment, submission *Submission) error
UpdateSlipDays updates the number of slip days for the given assignment/submission.
type EnrollmentRequest ¶
type EnrollmentRequest struct { // Types that are assignable to FetchMode: // // *EnrollmentRequest_CourseID // *EnrollmentRequest_UserID FetchMode isEnrollmentRequest_FetchMode `protobuf_oneof:"FetchMode"` Statuses []Enrollment_UserStatus `protobuf:"varint,3,rep,packed,name=statuses,proto3,enum=qf.Enrollment_UserStatus" json:"statuses,omitempty"` // contains filtered or unexported fields }
func (*EnrollmentRequest) Descriptor
deprecated
func (*EnrollmentRequest) Descriptor() ([]byte, []int)
Deprecated: Use EnrollmentRequest.ProtoReflect.Descriptor instead.
func (*EnrollmentRequest) GetCourseID ¶
func (x *EnrollmentRequest) GetCourseID() uint64
func (*EnrollmentRequest) GetFetchMode ¶
func (m *EnrollmentRequest) GetFetchMode() isEnrollmentRequest_FetchMode
func (*EnrollmentRequest) GetStatuses ¶
func (x *EnrollmentRequest) GetStatuses() []Enrollment_UserStatus
func (*EnrollmentRequest) GetUserID ¶
func (x *EnrollmentRequest) GetUserID() uint64
func (*EnrollmentRequest) IDFor ¶
func (r *EnrollmentRequest) IDFor(role string) uint64
IDFor returns course ID.
func (*EnrollmentRequest) IsValid ¶
func (req *EnrollmentRequest) IsValid() bool
IsValid checks that course ID is positive.
func (*EnrollmentRequest) ProtoMessage ¶
func (*EnrollmentRequest) ProtoMessage()
func (*EnrollmentRequest) ProtoReflect ¶
func (x *EnrollmentRequest) ProtoReflect() protoreflect.Message
func (*EnrollmentRequest) Reset ¶
func (x *EnrollmentRequest) Reset()
func (*EnrollmentRequest) String ¶
func (x *EnrollmentRequest) String() string
type EnrollmentRequest_CourseID ¶
type EnrollmentRequest_CourseID struct {
CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3,oneof"`
}
type EnrollmentRequest_UserID ¶
type EnrollmentRequest_UserID struct {
UserID uint64 `protobuf:"varint,2,opt,name=userID,proto3,oneof"`
}
type Enrollment_DisplayState ¶
type Enrollment_DisplayState int32
const ( Enrollment_UNSET Enrollment_DisplayState = 0 Enrollment_HIDDEN Enrollment_DisplayState = 1 Enrollment_VISIBLE Enrollment_DisplayState = 2 Enrollment_FAVORITE Enrollment_DisplayState = 3 )
func (Enrollment_DisplayState) Descriptor ¶
func (Enrollment_DisplayState) Descriptor() protoreflect.EnumDescriptor
func (Enrollment_DisplayState) Enum ¶
func (x Enrollment_DisplayState) Enum() *Enrollment_DisplayState
func (Enrollment_DisplayState) EnumDescriptor
deprecated
func (Enrollment_DisplayState) EnumDescriptor() ([]byte, []int)
Deprecated: Use Enrollment_DisplayState.Descriptor instead.
func (Enrollment_DisplayState) Number ¶
func (x Enrollment_DisplayState) Number() protoreflect.EnumNumber
func (Enrollment_DisplayState) String ¶
func (x Enrollment_DisplayState) String() string
func (Enrollment_DisplayState) Type ¶
func (Enrollment_DisplayState) Type() protoreflect.EnumType
type Enrollment_UserStatus ¶
type Enrollment_UserStatus int32
const ( Enrollment_NONE Enrollment_UserStatus = 0 Enrollment_PENDING Enrollment_UserStatus = 1 Enrollment_STUDENT Enrollment_UserStatus = 2 Enrollment_TEACHER Enrollment_UserStatus = 3 )
func (Enrollment_UserStatus) Descriptor ¶
func (Enrollment_UserStatus) Descriptor() protoreflect.EnumDescriptor
func (Enrollment_UserStatus) Enum ¶
func (x Enrollment_UserStatus) Enum() *Enrollment_UserStatus
func (Enrollment_UserStatus) EnumDescriptor
deprecated
func (Enrollment_UserStatus) EnumDescriptor() ([]byte, []int)
Deprecated: Use Enrollment_UserStatus.Descriptor instead.
func (Enrollment_UserStatus) Number ¶
func (x Enrollment_UserStatus) Number() protoreflect.EnumNumber
func (Enrollment_UserStatus) String ¶
func (x Enrollment_UserStatus) String() string
func (Enrollment_UserStatus) Type ¶
func (Enrollment_UserStatus) Type() protoreflect.EnumType
type Enrollments ¶
type Enrollments struct { Enrollments []*Enrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // contains filtered or unexported fields }
func (*Enrollments) Descriptor
deprecated
func (*Enrollments) Descriptor() ([]byte, []int)
Deprecated: Use Enrollments.ProtoReflect.Descriptor instead.
func (*Enrollments) GetCourseID ¶
func (m *Enrollments) GetCourseID() uint64
GetCourseID returns the course ID for a slice of enrollments
func (*Enrollments) GetEnrollments ¶
func (x *Enrollments) GetEnrollments() []*Enrollment
func (*Enrollments) HasCourseID ¶
func (m *Enrollments) HasCourseID() bool
HasCourseID checks all enrollments have the same Course ID
func (*Enrollments) IsValid ¶
func (m *Enrollments) IsValid() bool
func (*Enrollments) ProtoMessage ¶
func (*Enrollments) ProtoMessage()
func (*Enrollments) ProtoReflect ¶
func (x *Enrollments) ProtoReflect() protoreflect.Message
func (*Enrollments) RemoveRemoteID ¶
func (e *Enrollments) RemoveRemoteID()
RemoveRemoteID removes remote identities for every enrollment
func (*Enrollments) Reset ¶
func (x *Enrollments) Reset()
func (*Enrollments) String ¶
func (x *Enrollments) String() string
func (*Enrollments) UserIDs ¶
func (m *Enrollments) UserIDs() []uint64
UserIDs returns the user IDs in these enrollments.
type GradingBenchmark ¶
type GradingBenchmark struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` CourseID uint64 `protobuf:"varint,2,opt,name=CourseID,proto3" json:"CourseID,omitempty"` // foreign key AssignmentID uint64 `protobuf:"varint,3,opt,name=AssignmentID,proto3" json:"AssignmentID,omitempty"` // foreign key ReviewID uint64 `protobuf:"varint,4,opt,name=ReviewID,proto3" json:"ReviewID,omitempty"` // foreign key Heading string `protobuf:"bytes,5,opt,name=heading,proto3" json:"heading,omitempty"` Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` Criteria []*GradingCriterion `protobuf:"bytes,7,rep,name=criteria,proto3" json:"criteria,omitempty" gorm:"foreignKey:BenchmarkID"` // contains filtered or unexported fields }
func (*GradingBenchmark) Descriptor
deprecated
func (*GradingBenchmark) Descriptor() ([]byte, []int)
Deprecated: Use GradingBenchmark.ProtoReflect.Descriptor instead.
func (*GradingBenchmark) GetAssignmentID ¶
func (x *GradingBenchmark) GetAssignmentID() uint64
func (*GradingBenchmark) GetComment ¶
func (x *GradingBenchmark) GetComment() string
func (*GradingBenchmark) GetCourseID ¶
func (x *GradingBenchmark) GetCourseID() uint64
func (*GradingBenchmark) GetCriteria ¶
func (x *GradingBenchmark) GetCriteria() []*GradingCriterion
func (*GradingBenchmark) GetHeading ¶
func (x *GradingBenchmark) GetHeading() string
func (*GradingBenchmark) GetID ¶
func (x *GradingBenchmark) GetID() uint64
func (*GradingBenchmark) GetReviewID ¶
func (x *GradingBenchmark) GetReviewID() uint64
func (*GradingBenchmark) IDFor ¶
func (r *GradingBenchmark) IDFor(_ string) uint64
IDFor returns course ID.
func (*GradingBenchmark) IsValid ¶
func (bm *GradingBenchmark) IsValid() bool
IsValid ensures that a grading benchmark always belongs to an assignment and is not empty.
func (*GradingBenchmark) ProtoMessage ¶
func (*GradingBenchmark) ProtoMessage()
func (*GradingBenchmark) ProtoReflect ¶
func (x *GradingBenchmark) ProtoReflect() protoreflect.Message
func (*GradingBenchmark) Reset ¶
func (x *GradingBenchmark) Reset()
func (*GradingBenchmark) String ¶
func (x *GradingBenchmark) String() string
type GradingCriterion ¶
type GradingCriterion struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` BenchmarkID uint64 `protobuf:"varint,2,opt,name=BenchmarkID,proto3" json:"BenchmarkID,omitempty"` // foreign key CourseID uint64 `protobuf:"varint,3,opt,name=CourseID,proto3" json:"CourseID,omitempty"` // foreign key Points uint64 `protobuf:"varint,4,opt,name=points,proto3" json:"points,omitempty"` Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` Grade GradingCriterion_Grade `protobuf:"varint,6,opt,name=grade,proto3,enum=qf.GradingCriterion_Grade" json:"grade,omitempty"` Comment string `protobuf:"bytes,7,opt,name=comment,proto3" json:"comment,omitempty"` // contains filtered or unexported fields }
func (*GradingCriterion) Descriptor
deprecated
func (*GradingCriterion) Descriptor() ([]byte, []int)
Deprecated: Use GradingCriterion.ProtoReflect.Descriptor instead.
func (*GradingCriterion) GetBenchmarkID ¶
func (x *GradingCriterion) GetBenchmarkID() uint64
func (*GradingCriterion) GetComment ¶
func (x *GradingCriterion) GetComment() string
func (*GradingCriterion) GetCourseID ¶
func (x *GradingCriterion) GetCourseID() uint64
func (*GradingCriterion) GetDescription ¶
func (x *GradingCriterion) GetDescription() string
func (*GradingCriterion) GetGrade ¶
func (x *GradingCriterion) GetGrade() GradingCriterion_Grade
func (*GradingCriterion) GetID ¶
func (x *GradingCriterion) GetID() uint64
func (*GradingCriterion) GetPoints ¶
func (x *GradingCriterion) GetPoints() uint64
func (*GradingCriterion) IDFor ¶
func (r *GradingCriterion) IDFor(_ string) uint64
IDFor returns course ID.
func (*GradingCriterion) IsValid ¶
func (c *GradingCriterion) IsValid() bool
IsValid ensures that a criterion always belongs to a grading benchmark and is not empty.
func (*GradingCriterion) ProtoMessage ¶
func (*GradingCriterion) ProtoMessage()
func (*GradingCriterion) ProtoReflect ¶
func (x *GradingCriterion) ProtoReflect() protoreflect.Message
func (*GradingCriterion) Reset ¶
func (x *GradingCriterion) Reset()
func (*GradingCriterion) String ¶
func (x *GradingCriterion) String() string
type GradingCriterion_Grade ¶
type GradingCriterion_Grade int32
const ( GradingCriterion_NONE GradingCriterion_Grade = 0 GradingCriterion_FAILED GradingCriterion_Grade = 1 GradingCriterion_PASSED GradingCriterion_Grade = 2 )
func (GradingCriterion_Grade) Descriptor ¶
func (GradingCriterion_Grade) Descriptor() protoreflect.EnumDescriptor
func (GradingCriterion_Grade) Enum ¶
func (x GradingCriterion_Grade) Enum() *GradingCriterion_Grade
func (GradingCriterion_Grade) EnumDescriptor
deprecated
func (GradingCriterion_Grade) EnumDescriptor() ([]byte, []int)
Deprecated: Use GradingCriterion_Grade.Descriptor instead.
func (GradingCriterion_Grade) Number ¶
func (x GradingCriterion_Grade) Number() protoreflect.EnumNumber
func (GradingCriterion_Grade) String ¶
func (x GradingCriterion_Grade) String() string
func (GradingCriterion_Grade) Type ¶
func (GradingCriterion_Grade) Type() protoreflect.EnumType
type Group ¶
type Group struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" gorm:"uniqueIndex:group"` CourseID uint64 `protobuf:"varint,3,opt,name=courseID,proto3" json:"courseID,omitempty" gorm:"uniqueIndex:group"` ScmTeamID uint64 `protobuf:"varint,4,opt,name=ScmTeamID,proto3" json:"ScmTeamID,omitempty"` Status Group_GroupStatus `protobuf:"varint,5,opt,name=status,proto3,enum=qf.Group_GroupStatus" json:"status,omitempty"` Users []*User `protobuf:"bytes,6,rep,name=users,proto3" json:"users,omitempty" gorm:"many2many:group_users;"` Enrollments []*Enrollment `protobuf:"bytes,7,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // contains filtered or unexported fields }
func (*Group) ContainsAll ¶
ContainsAll compares group members
func (*Group) Descriptor
deprecated
func (*Group) GetCourseID ¶
func (*Group) GetEnrollments ¶
func (x *Group) GetEnrollments() []*Enrollment
func (*Group) GetScmTeamID ¶
func (*Group) GetStatus ¶
func (x *Group) GetStatus() Group_GroupStatus
func (*Group) GetUsersExcept ¶
GetUsersExcept returns a list of all users in a group, except the one with the given userID.
func (*Group) ProtoMessage ¶
func (*Group) ProtoMessage()
func (*Group) ProtoReflect ¶
func (x *Group) ProtoReflect() protoreflect.Message
func (*Group) RemoveRemoteID ¶
func (g *Group) RemoveRemoteID()
RemoveRemoteID nullifies remote identities of all users in a group
type GroupRequest ¶
type GroupRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` UserID uint64 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` GroupID uint64 `protobuf:"varint,3,opt,name=groupID,proto3" json:"groupID,omitempty"` // contains filtered or unexported fields }
func (*GroupRequest) Descriptor
deprecated
func (*GroupRequest) Descriptor() ([]byte, []int)
Deprecated: Use GroupRequest.ProtoReflect.Descriptor instead.
func (*GroupRequest) GetCourseID ¶
func (x *GroupRequest) GetCourseID() uint64
func (*GroupRequest) GetGroupID ¶
func (x *GroupRequest) GetGroupID() uint64
func (*GroupRequest) GetUserID ¶
func (x *GroupRequest) GetUserID() uint64
func (*GroupRequest) IDFor ¶
func (r *GroupRequest) IDFor(role string) uint64
IDFor returns user, group, or course ID.
func (*GroupRequest) IsValid ¶
func (req *GroupRequest) IsValid() bool
IsValid ensures course ID is always set and either user ID or group ID is set, but not both.
func (*GroupRequest) ProtoMessage ¶
func (*GroupRequest) ProtoMessage()
func (*GroupRequest) ProtoReflect ¶
func (x *GroupRequest) ProtoReflect() protoreflect.Message
func (*GroupRequest) Reset ¶
func (x *GroupRequest) Reset()
func (*GroupRequest) String ¶
func (x *GroupRequest) String() string
func (*GroupRequest) UserIDs ¶
func (*GroupRequest) UserIDs() []uint64
Dummy implementation of the interceptor.userIDs interface. Marks this message type to be evaluated for token refresh.
type Group_GroupStatus ¶
type Group_GroupStatus int32
const ( Group_PENDING Group_GroupStatus = 0 Group_APPROVED Group_GroupStatus = 1 )
func (Group_GroupStatus) Descriptor ¶
func (Group_GroupStatus) Descriptor() protoreflect.EnumDescriptor
func (Group_GroupStatus) Enum ¶
func (x Group_GroupStatus) Enum() *Group_GroupStatus
func (Group_GroupStatus) EnumDescriptor
deprecated
func (Group_GroupStatus) EnumDescriptor() ([]byte, []int)
Deprecated: Use Group_GroupStatus.Descriptor instead.
func (Group_GroupStatus) Number ¶
func (x Group_GroupStatus) Number() protoreflect.EnumNumber
func (Group_GroupStatus) String ¶
func (x Group_GroupStatus) String() string
func (Group_GroupStatus) Type ¶
func (Group_GroupStatus) Type() protoreflect.EnumType
type Groups ¶
type Groups struct { Groups []*Group `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"` // contains filtered or unexported fields }
func (*Groups) Descriptor
deprecated
func (*Groups) ProtoMessage ¶
func (*Groups) ProtoMessage()
func (*Groups) ProtoReflect ¶
func (x *Groups) ProtoReflect() protoreflect.Message
func (*Groups) RemoveRemoteID ¶
func (g *Groups) RemoveRemoteID()
RemoveRemoteID nullifies remote identities of all users in every group
type Issue ¶
type Issue struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` RepositoryID uint64 `protobuf:"varint,2,opt,name=repositoryID,proto3" json:"repositoryID,omitempty"` // Represents the internal ID of a repository TaskID uint64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` // Task that this issue draws its content from ScmIssueNumber uint64 `protobuf:"varint,4,opt,name=ScmIssueNumber,proto3" json:"ScmIssueNumber,omitempty"` // Issue number on scm. Needed for associating db issue with scm issue // contains filtered or unexported fields }
func (*Issue) Descriptor
deprecated
func (*Issue) GetRepositoryID ¶
func (*Issue) GetScmIssueNumber ¶
func (*Issue) ProtoMessage ¶
func (*Issue) ProtoMessage()
func (*Issue) ProtoReflect ¶
func (x *Issue) ProtoReflect() protoreflect.Message
type Organization ¶
type Organization struct { ScmOrganizationID uint64 `protobuf:"varint,1,opt,name=ScmOrganizationID,proto3" json:"ScmOrganizationID,omitempty"` ScmOrganizationName string `protobuf:"bytes,2,opt,name=ScmOrganizationName,proto3" json:"ScmOrganizationName,omitempty"` // contains filtered or unexported fields }
func (*Organization) Descriptor
deprecated
func (*Organization) Descriptor() ([]byte, []int)
Deprecated: Use Organization.ProtoReflect.Descriptor instead.
func (*Organization) GetScmOrganizationID ¶
func (x *Organization) GetScmOrganizationID() uint64
func (*Organization) GetScmOrganizationName ¶
func (x *Organization) GetScmOrganizationName() string
func (*Organization) IDFor ¶
func (*Organization) IDFor(_ string) uint64
IDFor returns 0, this request is only used by admins.
func (*Organization) IsValid ¶
func (org *Organization) IsValid() bool
IsValid checks that either ID or path field is set
func (*Organization) ProtoMessage ¶
func (*Organization) ProtoMessage()
func (*Organization) ProtoReflect ¶
func (x *Organization) ProtoReflect() protoreflect.Message
func (*Organization) Reset ¶
func (x *Organization) Reset()
func (*Organization) String ¶
func (x *Organization) String() string
type PullRequest ¶
type PullRequest struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` ScmRepositoryID uint64 `protobuf:"varint,2,opt,name=ScmRepositoryID,proto3" json:"ScmRepositoryID,omitempty"` // Represents the scm repository ID TaskID uint64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` // Foreign key IssueID uint64 `protobuf:"varint,4,opt,name=issueID,proto3" json:"issueID,omitempty"` // Foreign key UserID uint64 `protobuf:"varint,5,opt,name=userID,proto3" json:"userID,omitempty"` // The user who owns this PR ScmCommentID uint64 `protobuf:"varint,6,opt,name=ScmCommentID,proto3" json:"ScmCommentID,omitempty"` // Scm ID of the comment used for automatic feedback SourceBranch string `protobuf:"bytes,7,opt,name=sourceBranch,proto3" json:"sourceBranch,omitempty"` // The source branch for this pull request Number uint64 `protobuf:"varint,8,opt,name=number,proto3" json:"number,omitempty"` // Pull request number Stage PullRequest_Stage `protobuf:"varint,9,opt,name=stage,proto3,enum=qf.PullRequest_Stage" json:"stage,omitempty"` // contains filtered or unexported fields }
func (*PullRequest) Descriptor
deprecated
func (*PullRequest) Descriptor() ([]byte, []int)
Deprecated: Use PullRequest.ProtoReflect.Descriptor instead.
func (*PullRequest) GetID ¶
func (x *PullRequest) GetID() uint64
func (*PullRequest) GetIssueID ¶
func (x *PullRequest) GetIssueID() uint64
func (*PullRequest) GetNumber ¶
func (x *PullRequest) GetNumber() uint64
func (*PullRequest) GetScmCommentID ¶
func (x *PullRequest) GetScmCommentID() uint64
func (*PullRequest) GetScmRepositoryID ¶
func (x *PullRequest) GetScmRepositoryID() uint64
func (*PullRequest) GetSourceBranch ¶
func (x *PullRequest) GetSourceBranch() string
func (*PullRequest) GetStage ¶
func (x *PullRequest) GetStage() PullRequest_Stage
func (*PullRequest) GetTaskID ¶
func (x *PullRequest) GetTaskID() uint64
func (*PullRequest) GetUserID ¶
func (x *PullRequest) GetUserID() uint64
func (*PullRequest) HasFeedbackComment ¶
func (pr *PullRequest) HasFeedbackComment() bool
HasFeedbackComment returns true if the pull request has a comment associated with it.
func (*PullRequest) HasReviewers ¶
func (pr *PullRequest) HasReviewers() bool
HasReviewers returns true if a pull request is in the approved or review stage. This implies that it should have had reviewers assigned to it.
func (*PullRequest) IsApproved ¶
func (pr *PullRequest) IsApproved() bool
IsApproved returns true if a pull request is at the approved stage.
func (*PullRequest) ProtoMessage ¶
func (*PullRequest) ProtoMessage()
func (*PullRequest) ProtoReflect ¶
func (x *PullRequest) ProtoReflect() protoreflect.Message
func (*PullRequest) Reset ¶
func (x *PullRequest) Reset()
func (*PullRequest) SetApproved ¶
func (pr *PullRequest) SetApproved()
func (*PullRequest) SetDraft ¶
func (pr *PullRequest) SetDraft()
func (*PullRequest) SetReview ¶
func (pr *PullRequest) SetReview()
func (*PullRequest) String ¶
func (x *PullRequest) String() string
func (*PullRequest) Valid ¶
func (pr *PullRequest) Valid() bool
Checks if a pull request is valid for creation.
type PullRequest_Stage ¶
type PullRequest_Stage int32
const ( PullRequest_NONE PullRequest_Stage = 0 PullRequest_DRAFT PullRequest_Stage = 1 PullRequest_REVIEW PullRequest_Stage = 2 PullRequest_APPROVED PullRequest_Stage = 3 )
func (PullRequest_Stage) Descriptor ¶
func (PullRequest_Stage) Descriptor() protoreflect.EnumDescriptor
func (PullRequest_Stage) Enum ¶
func (x PullRequest_Stage) Enum() *PullRequest_Stage
func (PullRequest_Stage) EnumDescriptor
deprecated
func (PullRequest_Stage) EnumDescriptor() ([]byte, []int)
Deprecated: Use PullRequest_Stage.Descriptor instead.
func (PullRequest_Stage) Number ¶
func (x PullRequest_Stage) Number() protoreflect.EnumNumber
func (PullRequest_Stage) String ¶
func (x PullRequest_Stage) String() string
func (PullRequest_Stage) Type ¶
func (PullRequest_Stage) Type() protoreflect.EnumType
type RebuildRequest ¶
type RebuildRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` AssignmentID uint64 `protobuf:"varint,2,opt,name=assignmentID,proto3" json:"assignmentID,omitempty"` SubmissionID uint64 `protobuf:"varint,3,opt,name=submissionID,proto3" json:"submissionID,omitempty"` // contains filtered or unexported fields }
func (*RebuildRequest) Descriptor
deprecated
func (*RebuildRequest) Descriptor() ([]byte, []int)
Deprecated: Use RebuildRequest.ProtoReflect.Descriptor instead.
func (*RebuildRequest) GetAssignmentID ¶
func (x *RebuildRequest) GetAssignmentID() uint64
func (*RebuildRequest) GetCourseID ¶
func (x *RebuildRequest) GetCourseID() uint64
func (*RebuildRequest) GetSubmissionID ¶
func (x *RebuildRequest) GetSubmissionID() uint64
func (*RebuildRequest) IDFor ¶
func (r *RebuildRequest) IDFor(role string) uint64
IDFor returns course ID.
func (*RebuildRequest) IsValid ¶
func (req *RebuildRequest) IsValid() bool
IsValid ensures that both course and assignment IDs are set.
func (*RebuildRequest) ProtoMessage ¶
func (*RebuildRequest) ProtoMessage()
func (*RebuildRequest) ProtoReflect ¶
func (x *RebuildRequest) ProtoReflect() protoreflect.Message
func (*RebuildRequest) Reset ¶
func (x *RebuildRequest) Reset()
func (*RebuildRequest) String ¶
func (x *RebuildRequest) String() string
type RepoURL ¶
func (RepoURL) AssignmentsRepoURL ¶
func (RepoURL) InfoRepoURL ¶
func (RepoURL) StudentRepoURL ¶
func (RepoURL) TestsRepoURL ¶
type Repositories ¶
type Repositories struct { URLs map[uint32]string `` // Map key is the Repository.Type /* 150-byte string literal not displayed */ // contains filtered or unexported fields }
func (*Repositories) Descriptor
deprecated
func (*Repositories) Descriptor() ([]byte, []int)
Deprecated: Use Repositories.ProtoReflect.Descriptor instead.
func (*Repositories) GetURLs ¶
func (x *Repositories) GetURLs() map[uint32]string
func (*Repositories) ProtoMessage ¶
func (*Repositories) ProtoMessage()
func (*Repositories) ProtoReflect ¶
func (x *Repositories) ProtoReflect() protoreflect.Message
func (*Repositories) Reset ¶
func (x *Repositories) Reset()
func (*Repositories) String ¶
func (x *Repositories) String() string
type Repository ¶
type Repository struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` ScmOrganizationID uint64 `protobuf:"varint,2,opt,name=ScmOrganizationID,proto3" json:"ScmOrganizationID,omitempty" gorm:"uniqueIndex:repository"` ScmRepositoryID uint64 `protobuf:"varint,3,opt,name=ScmRepositoryID,proto3" json:"ScmRepositoryID,omitempty"` // ID of a github repository UserID uint64 `protobuf:"varint,4,opt,name=userID,proto3" json:"userID,omitempty" gorm:"uniqueIndex:repository"` GroupID uint64 `protobuf:"varint,5,opt,name=groupID,proto3" json:"groupID,omitempty" gorm:"uniqueIndex:repository"` HTMLURL string `protobuf:"bytes,6,opt,name=HTMLURL,proto3" json:"HTMLURL,omitempty"` RepoType Repository_Type `protobuf:"varint,7,opt,name=repoType,proto3,enum=qf.Repository_Type" json:"repoType,omitempty" gorm:"uniqueIndex:repository"` Issues []*Issue `protobuf:"bytes,8,rep,name=issues,proto3" json:"issues,omitempty"` // Issues associated with this repository // contains filtered or unexported fields }
func (*Repository) Descriptor
deprecated
func (*Repository) Descriptor() ([]byte, []int)
Deprecated: Use Repository.ProtoReflect.Descriptor instead.
func (*Repository) GetGroupID ¶
func (x *Repository) GetGroupID() uint64
func (*Repository) GetHTMLURL ¶
func (x *Repository) GetHTMLURL() string
func (*Repository) GetID ¶
func (x *Repository) GetID() uint64
func (*Repository) GetIssues ¶
func (x *Repository) GetIssues() []*Issue
func (*Repository) GetRepoType ¶
func (x *Repository) GetRepoType() Repository_Type
func (*Repository) GetScmOrganizationID ¶
func (x *Repository) GetScmOrganizationID() uint64
func (*Repository) GetScmRepositoryID ¶
func (x *Repository) GetScmRepositoryID() uint64
func (*Repository) GetTestURL ¶
func (t *Repository) GetTestURL() string
GetTestURL returns the tests repository string for this repository. This repository can be any repository belonging to a course, e.g. a user or group repository. Using this method we can avoid a database lookup.
func (*Repository) GetUserID ¶
func (x *Repository) GetUserID() uint64
func (*Repository) IsAssignmentsRepo ¶
func (t *Repository) IsAssignmentsRepo() bool
IsAssignmentsRepo returns true if the repository is an 'assignments' repository.
func (*Repository) IsGroupRepo ¶
func (t *Repository) IsGroupRepo() bool
IsGroupRepo returns true if the repository is a group repo type.
func (*Repository) IsStudentRepo ¶
func (t *Repository) IsStudentRepo() bool
IsStudentRepo returns true if the repository is a user or group repo type.
func (*Repository) IsTestsRepo ¶
func (t *Repository) IsTestsRepo() bool
IsTestsRepo returns true if the repository is a 'tests' repository.
func (*Repository) IsUserRepo ¶
func (t *Repository) IsUserRepo() bool
IsUserRepo returns true if the repository is a user repo type.
func (*Repository) Name ¶
func (t *Repository) Name() string
Name returns the name of the repository.
func (*Repository) ProtoMessage ¶
func (*Repository) ProtoMessage()
func (*Repository) ProtoReflect ¶
func (x *Repository) ProtoReflect() protoreflect.Message
func (*Repository) Reset ¶
func (x *Repository) Reset()
func (*Repository) String ¶
func (x *Repository) String() string
func (*Repository) UserName ¶
func (t *Repository) UserName() string
UserName returns the user name of the repository, without the -labs suffix.
type RepositoryRequest ¶
type RepositoryRequest struct { UserID uint64 `protobuf:"varint,1,opt,name=userID,proto3" json:"userID,omitempty"` GroupID uint64 `protobuf:"varint,2,opt,name=groupID,proto3" json:"groupID,omitempty"` CourseID uint64 `protobuf:"varint,3,opt,name=courseID,proto3" json:"courseID,omitempty"` // contains filtered or unexported fields }
used to check whether student/group submission repo is empty
func (*RepositoryRequest) Descriptor
deprecated
func (*RepositoryRequest) Descriptor() ([]byte, []int)
Deprecated: Use RepositoryRequest.ProtoReflect.Descriptor instead.
func (*RepositoryRequest) GetCourseID ¶
func (x *RepositoryRequest) GetCourseID() uint64
func (*RepositoryRequest) GetGroupID ¶
func (x *RepositoryRequest) GetGroupID() uint64
func (*RepositoryRequest) GetUserID ¶
func (x *RepositoryRequest) GetUserID() uint64
func (*RepositoryRequest) IDFor ¶
func (r *RepositoryRequest) IDFor(_ string) uint64
IDFor returns course ID.
func (*RepositoryRequest) IsValid ¶
func (req *RepositoryRequest) IsValid() bool
IsValid checks that the request has positive course ID and either user ID or group ID is set
func (*RepositoryRequest) ProtoMessage ¶
func (*RepositoryRequest) ProtoMessage()
func (*RepositoryRequest) ProtoReflect ¶
func (x *RepositoryRequest) ProtoReflect() protoreflect.Message
func (*RepositoryRequest) Reset ¶
func (x *RepositoryRequest) Reset()
func (*RepositoryRequest) String ¶
func (x *RepositoryRequest) String() string
type Repository_Type ¶
type Repository_Type int32
const ( Repository_NONE Repository_Type = 0 Repository_INFO Repository_Type = 1 Repository_ASSIGNMENTS Repository_Type = 2 Repository_TESTS Repository_Type = 3 Repository_USER Repository_Type = 4 Repository_GROUP Repository_Type = 5 )
func RepoType ¶
func RepoType(path string) (repoType Repository_Type)
RepoType returns the repository type for the given path name.
func (Repository_Type) Descriptor ¶
func (Repository_Type) Descriptor() protoreflect.EnumDescriptor
func (Repository_Type) Enum ¶
func (x Repository_Type) Enum() *Repository_Type
func (Repository_Type) EnumDescriptor
deprecated
func (Repository_Type) EnumDescriptor() ([]byte, []int)
Deprecated: Use Repository_Type.Descriptor instead.
func (Repository_Type) IsCourseRepo ¶
func (t Repository_Type) IsCourseRepo() bool
IsCourseRepo returns true if the repository is one of the course repo types.
func (Repository_Type) IsGroupRepo ¶
func (t Repository_Type) IsGroupRepo() bool
IsGroupRepo returns true if the repository is a group repo.
func (Repository_Type) IsStudentRepo ¶
func (t Repository_Type) IsStudentRepo() bool
IsStudentRepo returns true if the repository is a user repo type.
func (Repository_Type) IsUserRepo ¶
func (t Repository_Type) IsUserRepo() bool
IsUserRepo returns true if the repository is a user repo.
func (Repository_Type) Number ¶
func (x Repository_Type) Number() protoreflect.EnumNumber
func (Repository_Type) String ¶
func (x Repository_Type) String() string
func (Repository_Type) Type ¶
func (Repository_Type) Type() protoreflect.EnumType
type Review ¶
type Review struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` SubmissionID uint64 `protobuf:"varint,2,opt,name=SubmissionID,proto3" json:"SubmissionID,omitempty"` // foreign key ReviewerID uint64 `protobuf:"varint,3,opt,name=ReviewerID,proto3" json:"ReviewerID,omitempty"` // UserID of the reviewer Feedback string `protobuf:"bytes,4,opt,name=feedback,proto3" json:"feedback,omitempty"` Ready bool `protobuf:"varint,5,opt,name=ready,proto3" json:"ready,omitempty"` Score uint32 `protobuf:"varint,6,opt,name=score,proto3" json:"score,omitempty"` GradingBenchmarks []*GradingBenchmark `protobuf:"bytes,7,rep,name=gradingBenchmarks,proto3" json:"gradingBenchmarks,omitempty" gorm:"foreignKey:ReviewID"` Edited *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=edited,proto3" json:"edited,omitempty" gorm:"serializer:timestamp;type:datetime"` // contains filtered or unexported fields }
func (*Review) ComputeScore ¶
func (r *Review) ComputeScore()
ComputeScore computes the total score for the review and assigns it to r. If the grading criteria have predefined points, the score is the sum of these points. Otherwise, each criterion is given equal weight, such that the max score is 100.
func (*Review) Descriptor
deprecated
func (*Review) GetEdited ¶
func (x *Review) GetEdited() *timestamppb.Timestamp
func (*Review) GetFeedback ¶
func (*Review) GetGradingBenchmarks ¶
func (x *Review) GetGradingBenchmarks() []*GradingBenchmark
func (*Review) GetReviewerID ¶
func (*Review) GetSubmissionID ¶
func (*Review) ProtoMessage ¶
func (*Review) ProtoMessage()
func (*Review) ProtoReflect ¶
func (x *Review) ProtoReflect() protoreflect.Message
type ReviewRequest ¶
type ReviewRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` Review *Review `protobuf:"bytes,2,opt,name=review,proto3" json:"review,omitempty"` // contains filtered or unexported fields }
func (*ReviewRequest) Descriptor
deprecated
func (*ReviewRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReviewRequest.ProtoReflect.Descriptor instead.
func (*ReviewRequest) GetCourseID ¶
func (x *ReviewRequest) GetCourseID() uint64
func (*ReviewRequest) GetReview ¶
func (x *ReviewRequest) GetReview() *Review
func (*ReviewRequest) IDFor ¶
func (r *ReviewRequest) IDFor(_ string) uint64
IDFor returns course ID.
func (*ReviewRequest) IsValid ¶
func (r *ReviewRequest) IsValid() bool
IsValid ensures that course ID is provided and the review is valid.
func (*ReviewRequest) ProtoMessage ¶
func (*ReviewRequest) ProtoMessage()
func (*ReviewRequest) ProtoReflect ¶
func (x *ReviewRequest) ProtoReflect() protoreflect.Message
func (*ReviewRequest) Reset ¶
func (x *ReviewRequest) Reset()
func (*ReviewRequest) String ¶
func (x *ReviewRequest) String() string
type Submission ¶
type Submission struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` AssignmentID uint64 `protobuf:"varint,2,opt,name=AssignmentID,proto3" json:"AssignmentID,omitempty"` // foreign key UserID uint64 `protobuf:"varint,3,opt,name=userID,proto3" json:"userID,omitempty"` GroupID uint64 `protobuf:"varint,4,opt,name=groupID,proto3" json:"groupID,omitempty"` Score uint32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"` CommitHash string `protobuf:"bytes,6,opt,name=commitHash,proto3" json:"commitHash,omitempty"` Released bool `protobuf:"varint,7,opt,name=released,proto3" json:"released,omitempty"` // true => feedback is visible to the student or group members Status Submission_Status `protobuf:"varint,8,opt,name=status,proto3,enum=qf.Submission_Status" json:"status,omitempty"` ApprovedDate *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=approvedDate,proto3" json:"approvedDate,omitempty" gorm:"serializer:timestamp;type:datetime"` Reviews []*Review `protobuf:"bytes,10,rep,name=reviews,proto3" json:"reviews,omitempty"` // reviews produced for this submission BuildInfo *score.BuildInfo `protobuf:"bytes,11,opt,name=BuildInfo,proto3" json:"BuildInfo,omitempty"` // build info for tests Scores []*score.Score `protobuf:"bytes,12,rep,name=Scores,proto3" json:"Scores,omitempty"` // list of scores for different tests // contains filtered or unexported fields }
func (*Submission) ByGroup ¶
func (s *Submission) ByGroup(groupID uint64) bool
func (*Submission) ByUser ¶
func (s *Submission) ByUser(userID uint64) bool
func (*Submission) Descriptor
deprecated
func (*Submission) Descriptor() ([]byte, []int)
Deprecated: Use Submission.ProtoReflect.Descriptor instead.
func (*Submission) GetApprovedDate ¶
func (x *Submission) GetApprovedDate() *timestamppb.Timestamp
func (*Submission) GetAssignmentID ¶
func (x *Submission) GetAssignmentID() uint64
func (*Submission) GetBuildInfo ¶
func (x *Submission) GetBuildInfo() *score.BuildInfo
func (*Submission) GetCommitHash ¶
func (x *Submission) GetCommitHash() string
func (*Submission) GetGroupID ¶
func (x *Submission) GetGroupID() uint64
func (*Submission) GetID ¶
func (x *Submission) GetID() uint64
func (*Submission) GetReleased ¶
func (x *Submission) GetReleased() bool
func (*Submission) GetReviews ¶
func (x *Submission) GetReviews() []*Review
func (*Submission) GetScore ¶
func (x *Submission) GetScore() uint32
func (*Submission) GetScores ¶
func (x *Submission) GetScores() []*score.Score
func (*Submission) GetStatus ¶
func (x *Submission) GetStatus() Submission_Status
func (*Submission) GetUserID ¶
func (x *Submission) GetUserID() uint64
func (*Submission) IsApproved ¶
func (s *Submission) IsApproved() bool
func (*Submission) NewestSubmissionDate ¶
func (s *Submission) NewestSubmissionDate(submissionDate time.Time) time.Time
NewestSubmissionDate returns the submission's submission date if newer than the provided date. Otherwise, the provided date is returned, i.e., if it is newer.
func (*Submission) ProtoMessage ¶
func (*Submission) ProtoMessage()
func (*Submission) ProtoReflect ¶
func (x *Submission) ProtoReflect() protoreflect.Message
func (*Submission) Reset ¶
func (x *Submission) Reset()
func (*Submission) String ¶
func (x *Submission) String() string
type SubmissionRequest ¶
type SubmissionRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=CourseID,proto3" json:"CourseID,omitempty"` AssignmentID uint64 `protobuf:"varint,2,opt,name=AssignmentID,proto3" json:"AssignmentID,omitempty"` // only used for user and group submissions // Types that are assignable to FetchMode: // // *SubmissionRequest_UserID // *SubmissionRequest_GroupID // *SubmissionRequest_SubmissionID // *SubmissionRequest_Type FetchMode isSubmissionRequest_FetchMode `protobuf_oneof:"FetchMode"` // contains filtered or unexported fields }
func (*SubmissionRequest) Descriptor
deprecated
func (*SubmissionRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubmissionRequest.ProtoReflect.Descriptor instead.
func (*SubmissionRequest) GetAssignmentID ¶
func (x *SubmissionRequest) GetAssignmentID() uint64
func (*SubmissionRequest) GetCourseID ¶
func (x *SubmissionRequest) GetCourseID() uint64
func (*SubmissionRequest) GetFetchMode ¶
func (m *SubmissionRequest) GetFetchMode() isSubmissionRequest_FetchMode
func (*SubmissionRequest) GetGroupID ¶
func (x *SubmissionRequest) GetGroupID() uint64
func (*SubmissionRequest) GetSubmissionID ¶
func (x *SubmissionRequest) GetSubmissionID() uint64
func (*SubmissionRequest) GetType ¶
func (x *SubmissionRequest) GetType() SubmissionRequest_SubmissionType
func (*SubmissionRequest) GetUserID ¶
func (x *SubmissionRequest) GetUserID() uint64
func (*SubmissionRequest) IDFor ¶
func (r *SubmissionRequest) IDFor(role string) uint64
IDFor returns user, group, or course ID.
func (*SubmissionRequest) IsValid ¶
func (req *SubmissionRequest) IsValid() bool
IsValid checks required fields of an action request. It must have a positive course ID and one of the fetch modes must be set with a positive ID.
func (*SubmissionRequest) ProtoMessage ¶
func (*SubmissionRequest) ProtoMessage()
func (*SubmissionRequest) ProtoReflect ¶
func (x *SubmissionRequest) ProtoReflect() protoreflect.Message
func (*SubmissionRequest) Reset ¶
func (x *SubmissionRequest) Reset()
func (*SubmissionRequest) String ¶
func (x *SubmissionRequest) String() string
type SubmissionRequest_GroupID ¶
type SubmissionRequest_GroupID struct {
GroupID uint64 `protobuf:"varint,4,opt,name=GroupID,proto3,oneof"` // fetch single group's submissions with build info
}
type SubmissionRequest_SubmissionID ¶
type SubmissionRequest_SubmissionID struct {
SubmissionID uint64 `protobuf:"varint,5,opt,name=SubmissionID,proto3,oneof"` // fetch single specific submission with build info
}
type SubmissionRequest_SubmissionType ¶
type SubmissionRequest_SubmissionType int32
const ( SubmissionRequest_ALL SubmissionRequest_SubmissionType = 0 // fetch all submissions SubmissionRequest_USER SubmissionRequest_SubmissionType = 1 // fetch all user submissions SubmissionRequest_GROUP SubmissionRequest_SubmissionType = 2 // fetch all group submissions )
func (SubmissionRequest_SubmissionType) Descriptor ¶
func (SubmissionRequest_SubmissionType) Descriptor() protoreflect.EnumDescriptor
func (SubmissionRequest_SubmissionType) Enum ¶
func (x SubmissionRequest_SubmissionType) Enum() *SubmissionRequest_SubmissionType
func (SubmissionRequest_SubmissionType) EnumDescriptor
deprecated
func (SubmissionRequest_SubmissionType) EnumDescriptor() ([]byte, []int)
Deprecated: Use SubmissionRequest_SubmissionType.Descriptor instead.
func (SubmissionRequest_SubmissionType) Number ¶
func (x SubmissionRequest_SubmissionType) Number() protoreflect.EnumNumber
func (SubmissionRequest_SubmissionType) String ¶
func (x SubmissionRequest_SubmissionType) String() string
func (SubmissionRequest_SubmissionType) Type ¶
func (SubmissionRequest_SubmissionType) Type() protoreflect.EnumType
type SubmissionRequest_Type ¶
type SubmissionRequest_Type struct {
Type SubmissionRequest_SubmissionType `protobuf:"varint,6,opt,name=Type,proto3,enum=qf.SubmissionRequest_SubmissionType,oneof"` // fetch all submissions of given type without build info
}
type SubmissionRequest_UserID ¶
type SubmissionRequest_UserID struct {
UserID uint64 `protobuf:"varint,3,opt,name=UserID,proto3,oneof"` // fetch single user's submissions with build info
}
type Submission_Status ¶
type Submission_Status int32
const ( Submission_NONE Submission_Status = 0 Submission_APPROVED Submission_Status = 1 Submission_REJECTED Submission_Status = 2 Submission_REVISION Submission_Status = 3 )
func (Submission_Status) Descriptor ¶
func (Submission_Status) Descriptor() protoreflect.EnumDescriptor
func (Submission_Status) Enum ¶
func (x Submission_Status) Enum() *Submission_Status
func (Submission_Status) EnumDescriptor
deprecated
func (Submission_Status) EnumDescriptor() ([]byte, []int)
Deprecated: Use Submission_Status.Descriptor instead.
func (Submission_Status) Number ¶
func (x Submission_Status) Number() protoreflect.EnumNumber
func (Submission_Status) String ¶
func (x Submission_Status) String() string
func (Submission_Status) Type ¶
func (Submission_Status) Type() protoreflect.EnumType
type Submissions ¶
type Submissions struct { Submissions []*Submission `protobuf:"bytes,1,rep,name=submissions,proto3" json:"submissions,omitempty"` // contains filtered or unexported fields }
func (*Submissions) Clean ¶
func (s *Submissions) Clean()
Clean removes any score or reviews from the submission if it is not released. This is to prevent users from seeing the score or reviews of a submission that has not been released.
func (*Submissions) Descriptor
deprecated
func (*Submissions) Descriptor() ([]byte, []int)
Deprecated: Use Submissions.ProtoReflect.Descriptor instead.
func (*Submissions) GetSubmissions ¶
func (x *Submissions) GetSubmissions() []*Submission
func (*Submissions) ProtoMessage ¶
func (*Submissions) ProtoMessage()
func (*Submissions) ProtoReflect ¶
func (x *Submissions) ProtoReflect() protoreflect.Message
func (*Submissions) Reset ¶
func (x *Submissions) Reset()
func (*Submissions) String ¶
func (x *Submissions) String() string
type Task ¶
type Task struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` AssignmentID uint64 `protobuf:"varint,2,opt,name=assignmentID,proto3" json:"assignmentID,omitempty"` // foreign key AssignmentOrder uint32 `protobuf:"varint,3,opt,name=assignmentOrder,proto3" json:"assignmentOrder,omitempty"` Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` Issues []*Issue `protobuf:"bytes,7,rep,name=issues,proto3" json:"issues,omitempty"` // Issues that use this task as a benchmark // contains filtered or unexported fields }
func (*Task) Descriptor
deprecated
func (*Task) GetAssignmentID ¶
func (*Task) GetAssignmentOrder ¶
func (*Task) HasChanged ¶
HasChanged returns true if task t has a different title or body than the new task.
func (*Task) MarkDeleted ¶
func (t *Task) MarkDeleted()
func (*Task) ProtoMessage ¶
func (*Task) ProtoMessage()
func (*Task) ProtoReflect ¶
func (x *Task) ProtoReflect() protoreflect.Message
type UpdateSubmissionRequest ¶
type UpdateSubmissionRequest struct { SubmissionID uint64 `protobuf:"varint,1,opt,name=submissionID,proto3" json:"submissionID,omitempty"` CourseID uint64 `protobuf:"varint,2,opt,name=courseID,proto3" json:"courseID,omitempty"` Score uint32 `protobuf:"varint,3,opt,name=score,proto3" json:"score,omitempty"` Released bool `protobuf:"varint,4,opt,name=released,proto3" json:"released,omitempty"` Status Submission_Status `protobuf:"varint,5,opt,name=status,proto3,enum=qf.Submission_Status" json:"status,omitempty"` // contains filtered or unexported fields }
func (*UpdateSubmissionRequest) Descriptor
deprecated
func (*UpdateSubmissionRequest) Descriptor() ([]byte, []int)
Deprecated: Use UpdateSubmissionRequest.ProtoReflect.Descriptor instead.
func (*UpdateSubmissionRequest) GetCourseID ¶
func (x *UpdateSubmissionRequest) GetCourseID() uint64
func (*UpdateSubmissionRequest) GetReleased ¶
func (x *UpdateSubmissionRequest) GetReleased() bool
func (*UpdateSubmissionRequest) GetScore ¶
func (x *UpdateSubmissionRequest) GetScore() uint32
func (*UpdateSubmissionRequest) GetStatus ¶
func (x *UpdateSubmissionRequest) GetStatus() Submission_Status
func (*UpdateSubmissionRequest) GetSubmissionID ¶
func (x *UpdateSubmissionRequest) GetSubmissionID() uint64
func (*UpdateSubmissionRequest) IDFor ¶
func (r *UpdateSubmissionRequest) IDFor(role string) uint64
IDFor returns course ID.
func (*UpdateSubmissionRequest) IsValid ¶
func (req *UpdateSubmissionRequest) IsValid() bool
IsValid ensures that both submission and course IDs are set
func (*UpdateSubmissionRequest) ProtoMessage ¶
func (*UpdateSubmissionRequest) ProtoMessage()
func (*UpdateSubmissionRequest) ProtoReflect ¶
func (x *UpdateSubmissionRequest) ProtoReflect() protoreflect.Message
func (*UpdateSubmissionRequest) Reset ¶
func (x *UpdateSubmissionRequest) Reset()
func (*UpdateSubmissionRequest) String ¶
func (x *UpdateSubmissionRequest) String() string
type UpdateSubmissionsRequest ¶
type UpdateSubmissionsRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` AssignmentID uint64 `protobuf:"varint,2,opt,name=assignmentID,proto3" json:"assignmentID,omitempty"` ScoreLimit uint32 `protobuf:"varint,3,opt,name=scoreLimit,proto3" json:"scoreLimit,omitempty"` Release bool `protobuf:"varint,4,opt,name=release,proto3" json:"release,omitempty"` Approve bool `protobuf:"varint,5,opt,name=approve,proto3" json:"approve,omitempty"` // contains filtered or unexported fields }
func (*UpdateSubmissionsRequest) Descriptor
deprecated
func (*UpdateSubmissionsRequest) Descriptor() ([]byte, []int)
Deprecated: Use UpdateSubmissionsRequest.ProtoReflect.Descriptor instead.
func (*UpdateSubmissionsRequest) GetApprove ¶
func (x *UpdateSubmissionsRequest) GetApprove() bool
func (*UpdateSubmissionsRequest) GetAssignmentID ¶
func (x *UpdateSubmissionsRequest) GetAssignmentID() uint64
func (*UpdateSubmissionsRequest) GetCourseID ¶
func (x *UpdateSubmissionsRequest) GetCourseID() uint64
func (*UpdateSubmissionsRequest) GetRelease ¶
func (x *UpdateSubmissionsRequest) GetRelease() bool
func (*UpdateSubmissionsRequest) GetScoreLimit ¶
func (x *UpdateSubmissionsRequest) GetScoreLimit() uint32
func (*UpdateSubmissionsRequest) IDFor ¶
func (r *UpdateSubmissionsRequest) IDFor(_ string) uint64
IDFor returns course ID.
func (*UpdateSubmissionsRequest) ProtoMessage ¶
func (*UpdateSubmissionsRequest) ProtoMessage()
func (*UpdateSubmissionsRequest) ProtoReflect ¶
func (x *UpdateSubmissionsRequest) ProtoReflect() protoreflect.Message
func (*UpdateSubmissionsRequest) Reset ¶
func (x *UpdateSubmissionsRequest) Reset()
func (*UpdateSubmissionsRequest) String ¶
func (x *UpdateSubmissionsRequest) String() string
type UsedSlipDays ¶
type UsedSlipDays struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` EnrollmentID uint64 `protobuf:"varint,2,opt,name=enrollmentID,proto3" json:"enrollmentID,omitempty"` AssignmentID uint64 `protobuf:"varint,3,opt,name=assignmentID,proto3" json:"assignmentID,omitempty"` UsedDays uint32 `protobuf:"varint,4,opt,name=usedDays,proto3" json:"usedDays,omitempty"` // contains filtered or unexported fields }
func (*UsedSlipDays) Descriptor
deprecated
func (*UsedSlipDays) Descriptor() ([]byte, []int)
Deprecated: Use UsedSlipDays.ProtoReflect.Descriptor instead.
func (*UsedSlipDays) GetAssignmentID ¶
func (x *UsedSlipDays) GetAssignmentID() uint64
func (*UsedSlipDays) GetEnrollmentID ¶
func (x *UsedSlipDays) GetEnrollmentID() uint64
func (*UsedSlipDays) GetID ¶
func (x *UsedSlipDays) GetID() uint64
func (*UsedSlipDays) GetUsedDays ¶
func (x *UsedSlipDays) GetUsedDays() uint32
func (*UsedSlipDays) ProtoMessage ¶
func (*UsedSlipDays) ProtoMessage()
func (*UsedSlipDays) ProtoReflect ¶
func (x *UsedSlipDays) ProtoReflect() protoreflect.Message
func (*UsedSlipDays) Reset ¶
func (x *UsedSlipDays) Reset()
func (*UsedSlipDays) String ¶
func (x *UsedSlipDays) String() string
type User ¶
type User struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` IsAdmin bool `protobuf:"varint,2,opt,name=IsAdmin,proto3" json:"IsAdmin,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` StudentID string `protobuf:"bytes,4,opt,name=StudentID,proto3" json:"StudentID,omitempty"` Email string `protobuf:"bytes,5,opt,name=Email,proto3" json:"Email,omitempty"` AvatarURL string `protobuf:"bytes,6,opt,name=AvatarURL,proto3" json:"AvatarURL,omitempty"` Login string `protobuf:"bytes,7,opt,name=Login,proto3" json:"Login,omitempty"` UpdateToken bool `protobuf:"varint,8,opt,name=UpdateToken,proto3" json:"UpdateToken,omitempty"` // Filter; True if user's JWT token needs to be updated. ScmRemoteID uint64 `protobuf:"varint,9,opt,name=ScmRemoteID,proto3" json:"ScmRemoteID,omitempty"` // Filter; The user's ID on the remote provider. RefreshToken string `protobuf:"bytes,10,opt,name=RefreshToken,proto3" json:"RefreshToken,omitempty"` // Filter; The user's refresh token that may be exchanged for an access token. Enrollments []*Enrollment `protobuf:"bytes,11,rep,name=Enrollments,proto3" json:"Enrollments,omitempty"` // contains filtered or unexported fields }
func (*User) Descriptor
deprecated
func (*User) GetAvatarURL ¶
func (*User) GetEnrollments ¶
func (x *User) GetEnrollments() []*Enrollment
func (*User) GetIsAdmin ¶
func (*User) GetRefreshToken ¶
func (*User) GetScmRemoteID ¶
func (*User) GetStudentID ¶
func (*User) GetUpdateToken ¶
func (*User) ProtoMessage ¶
func (*User) ProtoMessage()
func (*User) ProtoReflect ¶
func (x *User) ProtoReflect() protoreflect.Message
func (*User) RemoveRemoteID ¶
func (u *User) RemoveRemoteID()
RemoveRemoteID removes user's remote identity before transmitting to client.
type Users ¶
type Users struct { Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` // contains filtered or unexported fields }
func (*Users) Descriptor
deprecated
func (*Users) ProtoMessage ¶
func (*Users) ProtoMessage()
func (*Users) ProtoReflect ¶
func (x *Users) ProtoReflect() protoreflect.Message
func (*Users) RemoveRemoteID ¶
func (u *Users) RemoveRemoteID()
RemoveRemoteID nullifies remote identities of all users
type Void ¶
type Void struct {
// contains filtered or unexported fields
}
Void contains no fields. A server response with a Void still contains a gRPC status code, which can be checked for success or failure. Status code 0 indicates that the requested action was successful, whereas any other status code indicates some failure. As such, the status code can be used as a boolean result from the server.
func (*Void) Descriptor
deprecated
func (*Void) ProtoMessage ¶
func (*Void) ProtoMessage()
func (*Void) ProtoReflect ¶
func (x *Void) ProtoReflect() protoreflect.Message