Documentation ¶
Index ¶
- Constants
- Variables
- func Interceptor(logger *zap.Logger) grpc.UnaryServerInterceptor
- func RegisterAutograderServiceServer(s grpc.ServiceRegistrar, srv AutograderServiceServer)
- func SetAccessToken(courseID uint64, accessToken string)
- 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() string
- 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) GetScriptFile() string
- 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, error)
- func (x *Assignment) String() string
- func (a *Assignment) WithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)
- type Assignments
- type AuthorizationResponse
- func (*AuthorizationResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AuthorizationResponse) GetIsAuthorized() bool
- func (*AuthorizationResponse) ProtoMessage()
- func (x *AuthorizationResponse) ProtoReflect() protoreflect.Message
- func (x *AuthorizationResponse) Reset()
- func (x *AuthorizationResponse) String() string
- type AutograderServiceClient
- type AutograderServiceServer
- type Benchmarks
- type Course
- func (*Course) Descriptor() ([]byte, []int)deprecated
- func (course *Course) GetAccessToken() string
- func (x *Course) GetAssignments() []*Assignment
- func (x *Course) GetCode() string
- func (x *Course) GetCourseCreatorID() uint64
- func (x *Course) GetDockerfile() 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) GetOrganizationID() uint64
- func (x *Course) GetOrganizationPath() string
- func (x *Course) GetProvider() string
- func (x *Course) GetSlipDays() uint32
- func (x *Course) GetTag() string
- func (x *Course) GetYear() uint32
- func (c *Course) IsValid() bool
- func (*Course) ProtoMessage()
- func (x *Course) ProtoReflect() protoreflect.Message
- func (c *Course) RemoveRemoteID()
- func (x *Course) Reset()
- func (course *Course) SetSlipDays()
- func (x *Course) String() string
- func (course *Course) TeacherEnrollments() []*Enrollment
- type CourseRequest
- func (*CourseRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CourseRequest) GetCourseID() 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 (x *CourseSubmissions) GetCourse() *Course
- func (x *CourseSubmissions) GetLinks() []*EnrollmentLink
- func (*CourseSubmissions) ProtoMessage()
- func (x *CourseSubmissions) ProtoReflect() protoreflect.Message
- func (l *CourseSubmissions) RemoveRemoteID()
- func (x *CourseSubmissions) Reset()
- func (x *CourseSubmissions) String() string
- type CourseUserRequest
- func (*CourseUserRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CourseUserRequest) GetCourseCode() string
- func (x *CourseUserRequest) GetCourseYear() uint32
- func (x *CourseUserRequest) GetUserLogin() string
- func (r *CourseUserRequest) IsValid() bool
- func (*CourseUserRequest) ProtoMessage()
- func (x *CourseUserRequest) ProtoReflect() protoreflect.Message
- func (x *CourseUserRequest) Reset()
- func (x *CourseUserRequest) 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) GetHasTeacherScopes() bool
- func (x *Enrollment) GetID() uint64
- func (x *Enrollment) GetLastActivityDate() string
- 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 (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 (*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(start time.Time, assignment *Assignment, submission *Submission) error
- type EnrollmentLink
- func (*EnrollmentLink) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollmentLink) GetEnrollment() *Enrollment
- func (x *EnrollmentLink) GetSubmissions() []*SubmissionLink
- func (*EnrollmentLink) ProtoMessage()
- func (x *EnrollmentLink) ProtoReflect() protoreflect.Message
- func (l *EnrollmentLink) RemoveRemoteID()
- func (x *EnrollmentLink) Reset()
- func (x *EnrollmentLink) String() string
- type EnrollmentRequest
- func (*EnrollmentRequest) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollmentRequest) GetCourseID() uint64
- func (x *EnrollmentRequest) GetIgnoreGroupMembers() bool
- func (x *EnrollmentRequest) GetStatuses() []Enrollment_UserStatus
- func (x *EnrollmentRequest) GetWithActivity() bool
- func (req *EnrollmentRequest) IsValid() bool
- func (*EnrollmentRequest) ProtoMessage()
- func (x *EnrollmentRequest) ProtoReflect() protoreflect.Message
- func (x *EnrollmentRequest) Reset()
- func (x *EnrollmentRequest) String() string
- type EnrollmentStatusRequest
- func (*EnrollmentStatusRequest) Descriptor() ([]byte, []int)deprecated
- func (x *EnrollmentStatusRequest) GetStatuses() []Enrollment_UserStatus
- func (x *EnrollmentStatusRequest) GetUserID() uint64
- func (req *EnrollmentStatusRequest) IsValid() bool
- func (*EnrollmentStatusRequest) ProtoMessage()
- func (x *EnrollmentStatusRequest) ProtoReflect() protoreflect.Message
- func (x *EnrollmentStatusRequest) Reset()
- func (x *EnrollmentStatusRequest) String() string
- 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 (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
- type GetGroupRequest
- func (*GetGroupRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetGroupRequest) GetGroupID() uint64
- func (req *GetGroupRequest) IsValid() bool
- func (*GetGroupRequest) ProtoMessage()
- func (x *GetGroupRequest) ProtoReflect() protoreflect.Message
- func (x *GetGroupRequest) Reset()
- func (x *GetGroupRequest) String() string
- type GradingBenchmark
- func (*GradingBenchmark) Descriptor() ([]byte, []int)deprecated
- func (x *GradingBenchmark) GetAssignmentID() uint64
- func (x *GradingBenchmark) GetComment() string
- func (x *GradingBenchmark) GetCriteria() []*GradingCriterion
- func (x *GradingBenchmark) GetHeading() string
- func (x *GradingBenchmark) GetID() uint64
- func (x *GradingBenchmark) GetReviewID() 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) GetDescription() string
- func (x *GradingCriterion) GetGrade() GradingCriterion_Grade
- func (x *GradingCriterion) GetID() uint64
- func (x *GradingCriterion) GetPoints() 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) GetStatus() Group_GroupStatus
- func (x *Group) GetTeamID() uint64
- func (x *Group) GetUsers() []*User
- func (g *Group) GetUsersExcept(userID uint64) []*User
- func (grp *Group) IsValid() bool
- func (*Group) ProtoMessage()
- func (x *Group) ProtoReflect() protoreflect.Message
- func (g *Group) RemoveRemoteID()
- func (x *Group) Reset()
- func (g *Group) SetSlipDays(c *Course)
- func (x *Group) String() string
- 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 (req *GroupRequest) IsValid() bool
- func (*GroupRequest) ProtoMessage()
- func (x *GroupRequest) ProtoReflect() protoreflect.Message
- func (x *GroupRequest) Reset()
- func (x *GroupRequest) String() string
- 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) GetIssueNumber() uint64
- func (x *Issue) GetRepositoryID() 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 OrgRequest
- type Organization
- func (*Organization) Descriptor() ([]byte, []int)deprecated
- func (x *Organization) GetAvatar() string
- func (x *Organization) GetID() uint64
- func (x *Organization) GetPath() string
- func (x *Organization) GetPaymentPlan() string
- func (org *Organization) IsValid() bool
- func (*Organization) ProtoMessage()
- func (x *Organization) ProtoReflect() protoreflect.Message
- func (x *Organization) Reset()
- func (x *Organization) String() string
- type Organizations
- type Provider
- type Providers
- func (*Providers) Descriptor() ([]byte, []int)deprecated
- func (x *Providers) GetProviders() []string
- func (l *Providers) IsValidProvider(provider string) bool
- func (*Providers) ProtoMessage()
- func (x *Providers) ProtoReflect() protoreflect.Message
- func (x *Providers) Reset()
- func (x *Providers) 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 (m *RebuildRequest) GetRebuildType() isRebuildRequest_RebuildType
- func (x *RebuildRequest) GetSubmissionID() uint64
- func (req *RebuildRequest) IsValid() bool
- func (*RebuildRequest) ProtoMessage()
- func (x *RebuildRequest) ProtoReflect() protoreflect.Message
- func (x *RebuildRequest) Reset()
- func (r *RebuildRequest) SetCourseID(id uint64)
- func (r *RebuildRequest) SetSubmissionID(id uint64)
- func (x *RebuildRequest) String() string
- type RebuildRequest_CourseID
- type RebuildRequest_SubmissionID
- type RemoteIdentity
- func (*RemoteIdentity) Descriptor() ([]byte, []int)deprecated
- func (x *RemoteIdentity) GetAccessToken() string
- func (x *RemoteIdentity) GetID() uint64
- func (x *RemoteIdentity) GetProvider() string
- func (x *RemoteIdentity) GetRemoteID() uint64
- func (x *RemoteIdentity) GetUserID() uint64
- func (*RemoteIdentity) ProtoMessage()
- func (x *RemoteIdentity) ProtoReflect() protoreflect.Message
- func (x *RemoteIdentity) Reset()
- func (x *RemoteIdentity) 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) GetOrganizationID() uint64
- func (x *Repository) GetRepoType() Repository_Type
- func (x *Repository) GetRepositoryID() uint64
- func (t *Repository) GetTestURL() string
- func (x *Repository) GetUserID() uint64
- 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 (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() string
- 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) IsValid() bool
- func (*ReviewRequest) ProtoMessage()
- func (x *ReviewRequest) ProtoReflect() protoreflect.Message
- func (x *ReviewRequest) Reset()
- func (x *ReviewRequest) String() string
- type Reviewers
- type Status
- 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() string
- 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) NewestBuildDate(submissionDate time.Time) (t time.Time, err error)
- func (*Submission) ProtoMessage()
- func (x *Submission) ProtoReflect() protoreflect.Message
- func (x *Submission) Reset()
- func (x *Submission) String() string
- type SubmissionLink
- func (*SubmissionLink) Descriptor() ([]byte, []int)deprecated
- func (x *SubmissionLink) GetAssignment() *Assignment
- func (x *SubmissionLink) GetSubmission() *Submission
- func (*SubmissionLink) ProtoMessage()
- func (x *SubmissionLink) ProtoReflect() protoreflect.Message
- func (x *SubmissionLink) Reset()
- func (x *SubmissionLink) String() string
- type SubmissionRequest
- func (*SubmissionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SubmissionRequest) GetCourseID() uint64
- func (x *SubmissionRequest) GetGroupID() uint64
- func (x *SubmissionRequest) GetUserID() 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 SubmissionReviewersRequest
- func (*SubmissionReviewersRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SubmissionReviewersRequest) GetCourseID() uint64
- func (x *SubmissionReviewersRequest) GetSubmissionID() uint64
- func (req *SubmissionReviewersRequest) IsValid() bool
- func (*SubmissionReviewersRequest) ProtoMessage()
- func (x *SubmissionReviewersRequest) ProtoReflect() protoreflect.Message
- func (x *SubmissionReviewersRequest) Reset()
- func (x *SubmissionReviewersRequest) String() string
- 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 SubmissionsForCourseRequest
- func (*SubmissionsForCourseRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SubmissionsForCourseRequest) GetCourseID() uint64
- func (x *SubmissionsForCourseRequest) GetType() SubmissionsForCourseRequest_Type
- func (x *SubmissionsForCourseRequest) GetWithBuildInfo() bool
- func (req *SubmissionsForCourseRequest) IsValid() bool
- func (*SubmissionsForCourseRequest) ProtoMessage()
- func (x *SubmissionsForCourseRequest) ProtoReflect() protoreflect.Message
- func (x *SubmissionsForCourseRequest) Reset()
- func (x *SubmissionsForCourseRequest) String() string
- type SubmissionsForCourseRequest_Type
- func (SubmissionsForCourseRequest_Type) Descriptor() protoreflect.EnumDescriptor
- func (x SubmissionsForCourseRequest_Type) Enum() *SubmissionsForCourseRequest_Type
- func (SubmissionsForCourseRequest_Type) EnumDescriptor() ([]byte, []int)deprecated
- func (x SubmissionsForCourseRequest_Type) Number() protoreflect.EnumNumber
- func (x SubmissionsForCourseRequest_Type) String() string
- func (SubmissionsForCourseRequest_Type) Type() protoreflect.EnumType
- 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 URLRequest
- func (*URLRequest) Descriptor() ([]byte, []int)deprecated
- func (x *URLRequest) GetCourseID() uint64
- func (x *URLRequest) GetRepoTypes() []Repository_Type
- func (req *URLRequest) IsValid() bool
- func (*URLRequest) ProtoMessage()
- func (x *URLRequest) ProtoReflect() protoreflect.Message
- func (x *URLRequest) Reset()
- func (x *URLRequest) String() string
- type UnimplementedAutograderServiceServer
- func (UnimplementedAutograderServiceServer) CreateBenchmark(context.Context, *GradingBenchmark) (*GradingBenchmark, error)
- func (UnimplementedAutograderServiceServer) CreateCourse(context.Context, *Course) (*Course, error)
- func (UnimplementedAutograderServiceServer) CreateCriterion(context.Context, *GradingCriterion) (*GradingCriterion, error)
- func (UnimplementedAutograderServiceServer) CreateEnrollment(context.Context, *Enrollment) (*Void, error)
- func (UnimplementedAutograderServiceServer) CreateGroup(context.Context, *Group) (*Group, error)
- func (UnimplementedAutograderServiceServer) CreateReview(context.Context, *ReviewRequest) (*Review, error)
- func (UnimplementedAutograderServiceServer) DeleteBenchmark(context.Context, *GradingBenchmark) (*Void, error)
- func (UnimplementedAutograderServiceServer) DeleteCriterion(context.Context, *GradingCriterion) (*Void, error)
- func (UnimplementedAutograderServiceServer) DeleteGroup(context.Context, *GroupRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) GetAssignments(context.Context, *CourseRequest) (*Assignments, error)
- func (UnimplementedAutograderServiceServer) GetCourse(context.Context, *CourseRequest) (*Course, error)
- func (UnimplementedAutograderServiceServer) GetCourses(context.Context, *Void) (*Courses, error)
- func (UnimplementedAutograderServiceServer) GetCoursesByUser(context.Context, *EnrollmentStatusRequest) (*Courses, error)
- func (UnimplementedAutograderServiceServer) GetEnrollmentsByCourse(context.Context, *EnrollmentRequest) (*Enrollments, error)
- func (UnimplementedAutograderServiceServer) GetEnrollmentsByUser(context.Context, *EnrollmentStatusRequest) (*Enrollments, error)
- func (UnimplementedAutograderServiceServer) GetGroup(context.Context, *GetGroupRequest) (*Group, error)
- func (UnimplementedAutograderServiceServer) GetGroupByUserAndCourse(context.Context, *GroupRequest) (*Group, error)
- func (UnimplementedAutograderServiceServer) GetGroupsByCourse(context.Context, *CourseRequest) (*Groups, error)
- func (UnimplementedAutograderServiceServer) GetOrganization(context.Context, *OrgRequest) (*Organization, error)
- func (UnimplementedAutograderServiceServer) GetProviders(context.Context, *Void) (*Providers, error)
- func (UnimplementedAutograderServiceServer) GetRepositories(context.Context, *URLRequest) (*Repositories, error)
- func (UnimplementedAutograderServiceServer) GetReviewers(context.Context, *SubmissionReviewersRequest) (*Reviewers, error)
- func (UnimplementedAutograderServiceServer) GetSubmissions(context.Context, *SubmissionRequest) (*Submissions, error)
- func (UnimplementedAutograderServiceServer) GetSubmissionsByCourse(context.Context, *SubmissionsForCourseRequest) (*CourseSubmissions, error)
- func (UnimplementedAutograderServiceServer) GetUser(context.Context, *Void) (*User, error)
- func (UnimplementedAutograderServiceServer) GetUserByCourse(context.Context, *CourseUserRequest) (*User, error)
- func (UnimplementedAutograderServiceServer) GetUsers(context.Context, *Void) (*Users, error)
- func (UnimplementedAutograderServiceServer) IsAuthorizedTeacher(context.Context, *Void) (*AuthorizationResponse, error)
- func (UnimplementedAutograderServiceServer) IsEmptyRepo(context.Context, *RepositoryRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) RebuildSubmissions(context.Context, *RebuildRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateAssignments(context.Context, *CourseRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateBenchmark(context.Context, *GradingBenchmark) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateCourse(context.Context, *Course) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateCourseVisibility(context.Context, *Enrollment) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateCriterion(context.Context, *GradingCriterion) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateEnrollments(context.Context, *Enrollments) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateGroup(context.Context, *Group) (*Group, error)
- func (UnimplementedAutograderServiceServer) UpdateReview(context.Context, *ReviewRequest) (*Review, error)
- func (UnimplementedAutograderServiceServer) UpdateSubmission(context.Context, *UpdateSubmissionRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateSubmissions(context.Context, *UpdateSubmissionsRequest) (*Void, error)
- func (UnimplementedAutograderServiceServer) UpdateUser(context.Context, *User) (*Void, error)
- type UnsafeAutograderServiceServer
- 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 (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 (*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) GetUsedSlipDays() 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 (u *User) GetAccessToken(provider string) (string, error)
- 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 (u *User) GetRemoteIDFor(provider string) *RemoteIdentity
- func (x *User) GetRemoteIdentities() []*RemoteIdentity
- func (x *User) GetStudentID() string
- 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 (u *User) SetSlipDays(c *Course)
- func (x *User) String() string
- type UserRequest
- type Users
- type Void
Constants ¶
const ( InfoRepo = "info" AssignmentRepo = "assignments" TestsRepo = "tests" StudentRepoSuffix = "-labs" )
Default repository names.
const MaxWait = 2 * time.Minute
MaxWait is the maximum time a request is allowed to stay open before aborting.
const (
TimeLayout = "2006-01-02T15:04:05"
)
Variables ¶
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: "COURSEINFO", 2: "ASSIGNMENTS", 3: "TESTS", 4: "USER", 5: "GROUP", } Repository_Type_value = map[string]int32{ "NONE": 0, "COURSEINFO": 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 ( SubmissionsForCourseRequest_Type_name = map[int32]string{ 0: "ALL", 1: "INDIVIDUAL", 2: "GROUP", } SubmissionsForCourseRequest_Type_value = map[string]int32{ "ALL": 0, "INDIVIDUAL": 1, "GROUP": 2, } )
Enum value maps for SubmissionsForCourseRequest_Type.
var ( // AgResponseTimeByMethodsMetric records response time by method name AgResponseTimeByMethodsMetric = prometheus.NewGaugeVec(prometheus.GaugeOpts{ Name: "ag_response_time", }, []string{"method"}) // AgFailedMethodsMetric counts amount of times every method resulted in error AgFailedMethodsMetric = prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "ag_methods_failed", }, []string{"method"}) // AgMethodSuccessRateMetric counts the amount of calls for every method, allows // grouping by method name and by result ("total", "success", "error") AgMethodSuccessRateMetric = prometheus.NewCounterVec(prometheus.CounterOpts{ Name: "ag_success_rate", }, []string{"method", "result"}) )
var AutograderService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "ag.AutograderService", HandlerType: (*AutograderServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetUser", Handler: _AutograderService_GetUser_Handler, }, { MethodName: "GetUsers", Handler: _AutograderService_GetUsers_Handler, }, { MethodName: "GetUserByCourse", Handler: _AutograderService_GetUserByCourse_Handler, }, { MethodName: "UpdateUser", Handler: _AutograderService_UpdateUser_Handler, }, { MethodName: "IsAuthorizedTeacher", Handler: _AutograderService_IsAuthorizedTeacher_Handler, }, { MethodName: "GetGroup", Handler: _AutograderService_GetGroup_Handler, }, { MethodName: "GetGroupByUserAndCourse", Handler: _AutograderService_GetGroupByUserAndCourse_Handler, }, { MethodName: "GetGroupsByCourse", Handler: _AutograderService_GetGroupsByCourse_Handler, }, { MethodName: "CreateGroup", Handler: _AutograderService_CreateGroup_Handler, }, { MethodName: "UpdateGroup", Handler: _AutograderService_UpdateGroup_Handler, }, { MethodName: "DeleteGroup", Handler: _AutograderService_DeleteGroup_Handler, }, { MethodName: "GetCourse", Handler: _AutograderService_GetCourse_Handler, }, { MethodName: "GetCourses", Handler: _AutograderService_GetCourses_Handler, }, { MethodName: "GetCoursesByUser", Handler: _AutograderService_GetCoursesByUser_Handler, }, { MethodName: "CreateCourse", Handler: _AutograderService_CreateCourse_Handler, }, { MethodName: "UpdateCourse", Handler: _AutograderService_UpdateCourse_Handler, }, { MethodName: "UpdateCourseVisibility", Handler: _AutograderService_UpdateCourseVisibility_Handler, }, { MethodName: "GetAssignments", Handler: _AutograderService_GetAssignments_Handler, }, { MethodName: "UpdateAssignments", Handler: _AutograderService_UpdateAssignments_Handler, }, { MethodName: "GetEnrollmentsByUser", Handler: _AutograderService_GetEnrollmentsByUser_Handler, }, { MethodName: "GetEnrollmentsByCourse", Handler: _AutograderService_GetEnrollmentsByCourse_Handler, }, { MethodName: "CreateEnrollment", Handler: _AutograderService_CreateEnrollment_Handler, }, { MethodName: "UpdateEnrollments", Handler: _AutograderService_UpdateEnrollments_Handler, }, { MethodName: "GetSubmissions", Handler: _AutograderService_GetSubmissions_Handler, }, { MethodName: "GetSubmissionsByCourse", Handler: _AutograderService_GetSubmissionsByCourse_Handler, }, { MethodName: "UpdateSubmission", Handler: _AutograderService_UpdateSubmission_Handler, }, { MethodName: "UpdateSubmissions", Handler: _AutograderService_UpdateSubmissions_Handler, }, { MethodName: "RebuildSubmissions", Handler: _AutograderService_RebuildSubmissions_Handler, }, { MethodName: "CreateBenchmark", Handler: _AutograderService_CreateBenchmark_Handler, }, { MethodName: "UpdateBenchmark", Handler: _AutograderService_UpdateBenchmark_Handler, }, { MethodName: "DeleteBenchmark", Handler: _AutograderService_DeleteBenchmark_Handler, }, { MethodName: "CreateCriterion", Handler: _AutograderService_CreateCriterion_Handler, }, { MethodName: "UpdateCriterion", Handler: _AutograderService_UpdateCriterion_Handler, }, { MethodName: "DeleteCriterion", Handler: _AutograderService_DeleteCriterion_Handler, }, { MethodName: "CreateReview", Handler: _AutograderService_CreateReview_Handler, }, { MethodName: "UpdateReview", Handler: _AutograderService_UpdateReview_Handler, }, { MethodName: "GetReviewers", Handler: _AutograderService_GetReviewers_Handler, }, { MethodName: "GetProviders", Handler: _AutograderService_GetProviders_Handler, }, { MethodName: "GetOrganization", Handler: _AutograderService_GetOrganization_Handler, }, { MethodName: "GetRepositories", Handler: _AutograderService_GetRepositories_Handler, }, { MethodName: "IsEmptyRepo", Handler: _AutograderService_IsEmptyRepo_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "ag/ag.proto", }
AutograderService_ServiceDesc is the grpc.ServiceDesc for AutograderService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var ErrMissingBuildInfo = errors.New("submission missing build information")
var File_ag_ag_proto protoreflect.FileDescriptor
Functions ¶
func Interceptor ¶
func Interceptor(logger *zap.Logger) grpc.UnaryServerInterceptor
Interceptor returns a new unary server interceptor that validates requests that implements the validator interface. Invalid requests are rejected without logging and before it reaches any user-level code and returns an illegal argument to the client. In addition, the interceptor also implements a cancel mechanism.
func RegisterAutograderServiceServer ¶
func RegisterAutograderServiceServer(s grpc.ServiceRegistrar, srv AutograderServiceServer)
func SetAccessToken ¶
SetAccessToken for the given course.
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"` ScriptFile string `protobuf:"bytes,4,opt,name=scriptFile,proto3" json:"scriptFile,omitempty"` Deadline string `protobuf:"bytes,5,opt,name=deadline,proto3" json:"deadline,omitempty"` AutoApprove bool `protobuf:"varint,6,opt,name=autoApprove,proto3" json:"autoApprove,omitempty"` Order uint32 `protobuf:"varint,7,opt,name=order,proto3" json:"order,omitempty"` IsGroupLab bool `protobuf:"varint,8,opt,name=isGroupLab,proto3" json:"isGroupLab,omitempty"` ScoreLimit uint32 `protobuf:"varint,9,opt,name=scoreLimit,proto3" json:"scoreLimit,omitempty"` // minimal score limit for auto approval Reviewers uint32 `protobuf:"varint,10,opt,name=reviewers,proto3" json:"reviewers,omitempty"` // number of reviewers that will review submissions for this assignment ContainerTimeout uint32 `protobuf:"varint,11,opt,name=containerTimeout,proto3" json:"containerTimeout,omitempty"` // container timeout for this assignment Submissions []*Submission `protobuf:"bytes,12,rep,name=submissions,proto3" json:"submissions,omitempty"` // submissions produced for this assignment Tasks []*Task `protobuf:"bytes,13,rep,name=tasks,proto3" json:"tasks,omitempty"` // tasks associated with this assignment GradingBenchmarks []*GradingBenchmark `protobuf:"bytes,14,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() string
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) GetScriptFile ¶
func (x *Assignment) GetScriptFile() string
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 ¶
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 AuthorizationResponse ¶
type AuthorizationResponse struct { IsAuthorized bool `protobuf:"varint,1,opt,name=IsAuthorized,proto3" json:"IsAuthorized,omitempty"` // contains filtered or unexported fields }
func (*AuthorizationResponse) Descriptor
deprecated
func (*AuthorizationResponse) Descriptor() ([]byte, []int)
Deprecated: Use AuthorizationResponse.ProtoReflect.Descriptor instead.
func (*AuthorizationResponse) GetIsAuthorized ¶
func (x *AuthorizationResponse) GetIsAuthorized() bool
func (*AuthorizationResponse) ProtoMessage ¶
func (*AuthorizationResponse) ProtoMessage()
func (*AuthorizationResponse) ProtoReflect ¶
func (x *AuthorizationResponse) ProtoReflect() protoreflect.Message
func (*AuthorizationResponse) Reset ¶
func (x *AuthorizationResponse) Reset()
func (*AuthorizationResponse) String ¶
func (x *AuthorizationResponse) String() string
type AutograderServiceClient ¶
type AutograderServiceClient interface { GetUser(ctx context.Context, in *Void, opts ...grpc.CallOption) (*User, error) GetUsers(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Users, error) GetUserByCourse(ctx context.Context, in *CourseUserRequest, opts ...grpc.CallOption) (*User, error) UpdateUser(ctx context.Context, in *User, opts ...grpc.CallOption) (*Void, error) IsAuthorizedTeacher(ctx context.Context, in *Void, opts ...grpc.CallOption) (*AuthorizationResponse, error) GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error) GetGroupByUserAndCourse(ctx context.Context, in *GroupRequest, opts ...grpc.CallOption) (*Group, error) GetGroupsByCourse(ctx context.Context, in *CourseRequest, opts ...grpc.CallOption) (*Groups, error) CreateGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Group, error) UpdateGroup(ctx context.Context, in *Group, opts ...grpc.CallOption) (*Group, error) DeleteGroup(ctx context.Context, in *GroupRequest, opts ...grpc.CallOption) (*Void, error) GetCourse(ctx context.Context, in *CourseRequest, opts ...grpc.CallOption) (*Course, error) GetCourses(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Courses, error) GetCoursesByUser(ctx context.Context, in *EnrollmentStatusRequest, opts ...grpc.CallOption) (*Courses, error) CreateCourse(ctx context.Context, in *Course, opts ...grpc.CallOption) (*Course, error) UpdateCourse(ctx context.Context, in *Course, opts ...grpc.CallOption) (*Void, error) UpdateCourseVisibility(ctx context.Context, in *Enrollment, opts ...grpc.CallOption) (*Void, error) GetAssignments(ctx context.Context, in *CourseRequest, opts ...grpc.CallOption) (*Assignments, error) UpdateAssignments(ctx context.Context, in *CourseRequest, opts ...grpc.CallOption) (*Void, error) GetEnrollmentsByUser(ctx context.Context, in *EnrollmentStatusRequest, opts ...grpc.CallOption) (*Enrollments, error) GetEnrollmentsByCourse(ctx context.Context, in *EnrollmentRequest, opts ...grpc.CallOption) (*Enrollments, error) CreateEnrollment(ctx context.Context, in *Enrollment, opts ...grpc.CallOption) (*Void, error) UpdateEnrollments(ctx context.Context, in *Enrollments, opts ...grpc.CallOption) (*Void, error) // Get latest submissions for all course assignments for a user or a group. GetSubmissions(ctx context.Context, in *SubmissionRequest, opts ...grpc.CallOption) (*Submissions, error) // Get lab submissions for every course user or every course group GetSubmissionsByCourse(ctx context.Context, in *SubmissionsForCourseRequest, opts ...grpc.CallOption) (*CourseSubmissions, error) UpdateSubmission(ctx context.Context, in *UpdateSubmissionRequest, opts ...grpc.CallOption) (*Void, error) UpdateSubmissions(ctx context.Context, in *UpdateSubmissionsRequest, opts ...grpc.CallOption) (*Void, error) RebuildSubmissions(ctx context.Context, in *RebuildRequest, opts ...grpc.CallOption) (*Void, error) CreateBenchmark(ctx context.Context, in *GradingBenchmark, opts ...grpc.CallOption) (*GradingBenchmark, error) UpdateBenchmark(ctx context.Context, in *GradingBenchmark, opts ...grpc.CallOption) (*Void, error) DeleteBenchmark(ctx context.Context, in *GradingBenchmark, opts ...grpc.CallOption) (*Void, error) CreateCriterion(ctx context.Context, in *GradingCriterion, opts ...grpc.CallOption) (*GradingCriterion, error) UpdateCriterion(ctx context.Context, in *GradingCriterion, opts ...grpc.CallOption) (*Void, error) DeleteCriterion(ctx context.Context, in *GradingCriterion, opts ...grpc.CallOption) (*Void, error) CreateReview(ctx context.Context, in *ReviewRequest, opts ...grpc.CallOption) (*Review, error) UpdateReview(ctx context.Context, in *ReviewRequest, opts ...grpc.CallOption) (*Review, error) GetReviewers(ctx context.Context, in *SubmissionReviewersRequest, opts ...grpc.CallOption) (*Reviewers, error) GetProviders(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Providers, error) GetOrganization(ctx context.Context, in *OrgRequest, opts ...grpc.CallOption) (*Organization, error) GetRepositories(ctx context.Context, in *URLRequest, opts ...grpc.CallOption) (*Repositories, error) IsEmptyRepo(ctx context.Context, in *RepositoryRequest, opts ...grpc.CallOption) (*Void, error) }
AutograderServiceClient is the client API for AutograderService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAutograderServiceClient ¶
func NewAutograderServiceClient(cc grpc.ClientConnInterface) AutograderServiceClient
type AutograderServiceServer ¶
type AutograderServiceServer interface { GetUser(context.Context, *Void) (*User, error) GetUsers(context.Context, *Void) (*Users, error) GetUserByCourse(context.Context, *CourseUserRequest) (*User, error) UpdateUser(context.Context, *User) (*Void, error) IsAuthorizedTeacher(context.Context, *Void) (*AuthorizationResponse, error) GetGroup(context.Context, *GetGroupRequest) (*Group, error) GetGroupByUserAndCourse(context.Context, *GroupRequest) (*Group, error) GetGroupsByCourse(context.Context, *CourseRequest) (*Groups, error) CreateGroup(context.Context, *Group) (*Group, error) UpdateGroup(context.Context, *Group) (*Group, error) DeleteGroup(context.Context, *GroupRequest) (*Void, error) GetCourse(context.Context, *CourseRequest) (*Course, error) GetCourses(context.Context, *Void) (*Courses, error) GetCoursesByUser(context.Context, *EnrollmentStatusRequest) (*Courses, error) CreateCourse(context.Context, *Course) (*Course, error) UpdateCourse(context.Context, *Course) (*Void, error) UpdateCourseVisibility(context.Context, *Enrollment) (*Void, error) GetAssignments(context.Context, *CourseRequest) (*Assignments, error) UpdateAssignments(context.Context, *CourseRequest) (*Void, error) GetEnrollmentsByUser(context.Context, *EnrollmentStatusRequest) (*Enrollments, error) GetEnrollmentsByCourse(context.Context, *EnrollmentRequest) (*Enrollments, error) CreateEnrollment(context.Context, *Enrollment) (*Void, error) UpdateEnrollments(context.Context, *Enrollments) (*Void, error) // Get latest submissions for all course assignments for a user or a group. GetSubmissions(context.Context, *SubmissionRequest) (*Submissions, error) // Get lab submissions for every course user or every course group GetSubmissionsByCourse(context.Context, *SubmissionsForCourseRequest) (*CourseSubmissions, error) UpdateSubmission(context.Context, *UpdateSubmissionRequest) (*Void, error) UpdateSubmissions(context.Context, *UpdateSubmissionsRequest) (*Void, error) RebuildSubmissions(context.Context, *RebuildRequest) (*Void, error) CreateBenchmark(context.Context, *GradingBenchmark) (*GradingBenchmark, error) UpdateBenchmark(context.Context, *GradingBenchmark) (*Void, error) DeleteBenchmark(context.Context, *GradingBenchmark) (*Void, error) CreateCriterion(context.Context, *GradingCriterion) (*GradingCriterion, error) UpdateCriterion(context.Context, *GradingCriterion) (*Void, error) DeleteCriterion(context.Context, *GradingCriterion) (*Void, error) CreateReview(context.Context, *ReviewRequest) (*Review, error) UpdateReview(context.Context, *ReviewRequest) (*Review, error) GetReviewers(context.Context, *SubmissionReviewersRequest) (*Reviewers, error) GetProviders(context.Context, *Void) (*Providers, error) GetOrganization(context.Context, *OrgRequest) (*Organization, error) GetRepositories(context.Context, *URLRequest) (*Repositories, error) IsEmptyRepo(context.Context, *RepositoryRequest) (*Void, error) // contains filtered or unexported methods }
AutograderServiceServer is the server API for AutograderService service. All implementations must embed UnimplementedAutograderServiceServer for forward compatibility
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:idx_unique_course"` Year uint32 `protobuf:"varint,5,opt,name=year,proto3" json:"year,omitempty" gorm:"uniqueIndex:idx_unique_course"` Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` Provider string `protobuf:"bytes,7,opt,name=provider,proto3" json:"provider,omitempty"` OrganizationID uint64 `protobuf:"varint,8,opt,name=organizationID,proto3" json:"organizationID,omitempty"` OrganizationPath string `protobuf:"bytes,9,opt,name=organizationPath,proto3" json:"organizationPath,omitempty"` // The organization's SCM name, e.g. uis-dat520-2020. SlipDays uint32 `protobuf:"varint,10,opt,name=slipDays,proto3" json:"slipDays,omitempty"` Dockerfile string `protobuf:"bytes,11,opt,name=dockerfile,proto3" json:"dockerfile,omitempty"` Enrolled Enrollment_UserStatus `protobuf:"varint,12,opt,name=enrolled,proto3,enum=ag.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) GetAccessToken ¶
GetAccessToken returns the access token for the course.
func (*Course) GetAssignments ¶
func (x *Course) GetAssignments() []*Assignment
func (*Course) GetCourseCreatorID ¶
func (*Course) GetDockerfile ¶
func (*Course) GetEnrolled ¶
func (x *Course) GetEnrolled() Enrollment_UserStatus
func (*Course) GetEnrollments ¶
func (x *Course) GetEnrollments() []*Enrollment
func (*Course) GetOrganizationID ¶
func (*Course) GetOrganizationPath ¶
func (*Course) GetProvider ¶
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) SetSlipDays ¶
func (course *Course) SetSlipDays()
SetSlipDays sets number of remaining slip days for each course enrollment
func (*Course) TeacherEnrollments ¶
func (course *Course) TeacherEnrollments() []*Enrollment
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) 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 { Course *Course `protobuf:"bytes,1,opt,name=course,proto3" json:"course,omitempty"` // preloaded assignments Links []*EnrollmentLink `protobuf:"bytes,2,rep,name=links,proto3" json:"links,omitempty"` // contains filtered or unexported fields }
func (*CourseSubmissions) Descriptor
deprecated
func (*CourseSubmissions) Descriptor() ([]byte, []int)
Deprecated: Use CourseSubmissions.ProtoReflect.Descriptor instead.
func (*CourseSubmissions) GetCourse ¶
func (x *CourseSubmissions) GetCourse() *Course
func (*CourseSubmissions) GetLinks ¶
func (x *CourseSubmissions) GetLinks() []*EnrollmentLink
func (*CourseSubmissions) ProtoMessage ¶
func (*CourseSubmissions) ProtoMessage()
func (*CourseSubmissions) ProtoReflect ¶
func (x *CourseSubmissions) ProtoReflect() protoreflect.Message
func (*CourseSubmissions) RemoveRemoteID ¶
func (l *CourseSubmissions) RemoveRemoteID()
RemoveRemoteID removes remote identities for all lab links
func (*CourseSubmissions) Reset ¶
func (x *CourseSubmissions) Reset()
func (*CourseSubmissions) String ¶
func (x *CourseSubmissions) String() string
type CourseUserRequest ¶
type CourseUserRequest struct { CourseCode string `protobuf:"bytes,1,opt,name=courseCode,proto3" json:"courseCode,omitempty"` CourseYear uint32 `protobuf:"varint,2,opt,name=courseYear,proto3" json:"courseYear,omitempty"` UserLogin string `protobuf:"bytes,3,opt,name=userLogin,proto3" json:"userLogin,omitempty"` // contains filtered or unexported fields }
func (*CourseUserRequest) Descriptor
deprecated
func (*CourseUserRequest) Descriptor() ([]byte, []int)
Deprecated: Use CourseUserRequest.ProtoReflect.Descriptor instead.
func (*CourseUserRequest) GetCourseCode ¶
func (x *CourseUserRequest) GetCourseCode() string
func (*CourseUserRequest) GetCourseYear ¶
func (x *CourseUserRequest) GetCourseYear() uint32
func (*CourseUserRequest) GetUserLogin ¶
func (x *CourseUserRequest) GetUserLogin() string
func (*CourseUserRequest) IsValid ¶
func (r *CourseUserRequest) IsValid() bool
IsValid ensures that course code, year, and student login are set
func (*CourseUserRequest) ProtoMessage ¶
func (*CourseUserRequest) ProtoMessage()
func (*CourseUserRequest) ProtoReflect ¶
func (x *CourseUserRequest) ProtoReflect() protoreflect.Message
func (*CourseUserRequest) Reset ¶
func (x *CourseUserRequest) Reset()
func (*CourseUserRequest) String ¶
func (x *CourseUserRequest) 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:idx_unique_enrollment"` UserID uint64 `protobuf:"varint,3,opt,name=userID,proto3" json:"userID,omitempty" gorm:"uniqueIndex:idx_unique_enrollment"` GroupID uint64 `protobuf:"varint,4,opt,name=groupID,proto3" json:"groupID,omitempty"` HasTeacherScopes bool `protobuf:"varint,5,opt,name=hasTeacherScopes,proto3" json:"hasTeacherScopes,omitempty"` User *User `protobuf:"bytes,6,opt,name=user,proto3" json:"user,omitempty"` Course *Course `protobuf:"bytes,7,opt,name=course,proto3" json:"course,omitempty"` Group *Group `protobuf:"bytes,8,opt,name=group,proto3" json:"group,omitempty"` Status Enrollment_UserStatus `protobuf:"varint,9,opt,name=status,proto3,enum=ag.Enrollment_UserStatus" json:"status,omitempty"` State Enrollment_DisplayState `protobuf:"varint,10,opt,name=state,proto3,enum=ag.Enrollment_DisplayState" json:"state,omitempty"` SlipDaysRemaining uint32 `protobuf:"varint,11,opt,name=slipDaysRemaining,proto3" json:"slipDaysRemaining,omitempty" gorm:"-"` LastActivityDate string `protobuf:"bytes,12,opt,name=lastActivityDate,proto3" json:"lastActivityDate,omitempty"` TotalApproved uint64 `protobuf:"varint,13,opt,name=totalApproved,proto3" json:"totalApproved,omitempty"` UsedSlipDays []*UsedSlipDays `protobuf:"bytes,14,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) GetHasTeacherScopes ¶
func (x *Enrollment) GetHasTeacherScopes() bool
func (*Enrollment) GetID ¶
func (x *Enrollment) GetID() uint64
func (*Enrollment) GetLastActivityDate ¶
func (x *Enrollment) GetLastActivityDate() string
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) 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) 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(start time.Time, assignment *Assignment, submission *Submission) error
UpdateSlipDays updates the number of slipdays for the given assignment/submission.
type EnrollmentLink ¶
type EnrollmentLink struct { Enrollment *Enrollment `protobuf:"bytes,2,opt,name=enrollment,proto3" json:"enrollment,omitempty"` // must have course and user/group preloaded Submissions []*SubmissionLink `protobuf:"bytes,3,rep,name=submissions,proto3" json:"submissions,omitempty"` // contains filtered or unexported fields }
func (*EnrollmentLink) Descriptor
deprecated
func (*EnrollmentLink) Descriptor() ([]byte, []int)
Deprecated: Use EnrollmentLink.ProtoReflect.Descriptor instead.
func (*EnrollmentLink) GetEnrollment ¶
func (x *EnrollmentLink) GetEnrollment() *Enrollment
func (*EnrollmentLink) GetSubmissions ¶
func (x *EnrollmentLink) GetSubmissions() []*SubmissionLink
func (*EnrollmentLink) ProtoMessage ¶
func (*EnrollmentLink) ProtoMessage()
func (*EnrollmentLink) ProtoReflect ¶
func (x *EnrollmentLink) ProtoReflect() protoreflect.Message
func (*EnrollmentLink) RemoveRemoteID ¶
func (l *EnrollmentLink) RemoveRemoteID()
RemoveRemoteID removes remote identities for enrollment in lab link
func (*EnrollmentLink) Reset ¶
func (x *EnrollmentLink) Reset()
func (*EnrollmentLink) String ¶
func (x *EnrollmentLink) String() string
type EnrollmentRequest ¶
type EnrollmentRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` IgnoreGroupMembers bool `protobuf:"varint,2,opt,name=ignoreGroupMembers,proto3" json:"ignoreGroupMembers,omitempty"` WithActivity bool `protobuf:"varint,3,opt,name=withActivity,proto3" json:"withActivity,omitempty"` Statuses []Enrollment_UserStatus `protobuf:"varint,4,rep,packed,name=statuses,proto3,enum=ag.Enrollment_UserStatus" json:"statuses,omitempty"` // contains filtered or unexported fields }
EnrollmentRequest is a request for enrolled users of a given course, whose enrollment status match those provided in the request. To ignore group members that otherwise match the enrollment request, set ignoreGroupMembers to true.
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) GetIgnoreGroupMembers ¶
func (x *EnrollmentRequest) GetIgnoreGroupMembers() bool
func (*EnrollmentRequest) GetStatuses ¶
func (x *EnrollmentRequest) GetStatuses() []Enrollment_UserStatus
func (*EnrollmentRequest) GetWithActivity ¶
func (x *EnrollmentRequest) GetWithActivity() bool
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 EnrollmentStatusRequest ¶
type EnrollmentStatusRequest struct { UserID uint64 `protobuf:"varint,1,opt,name=userID,proto3" json:"userID,omitempty"` Statuses []Enrollment_UserStatus `protobuf:"varint,2,rep,packed,name=statuses,proto3,enum=ag.Enrollment_UserStatus" json:"statuses,omitempty"` // contains filtered or unexported fields }
EnrollmentStatusRequest is a request for a given user, with a specific enrollment status.
func (*EnrollmentStatusRequest) Descriptor
deprecated
func (*EnrollmentStatusRequest) Descriptor() ([]byte, []int)
Deprecated: Use EnrollmentStatusRequest.ProtoReflect.Descriptor instead.
func (*EnrollmentStatusRequest) GetStatuses ¶
func (x *EnrollmentStatusRequest) GetStatuses() []Enrollment_UserStatus
func (*EnrollmentStatusRequest) GetUserID ¶
func (x *EnrollmentStatusRequest) GetUserID() uint64
func (*EnrollmentStatusRequest) IsValid ¶
func (req *EnrollmentStatusRequest) IsValid() bool
IsValid ensures that user ID is set
func (*EnrollmentStatusRequest) ProtoMessage ¶
func (*EnrollmentStatusRequest) ProtoMessage()
func (*EnrollmentStatusRequest) ProtoReflect ¶
func (x *EnrollmentStatusRequest) ProtoReflect() protoreflect.Message
func (*EnrollmentStatusRequest) Reset ¶
func (x *EnrollmentStatusRequest) Reset()
func (*EnrollmentStatusRequest) String ¶
func (x *EnrollmentStatusRequest) String() string
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
type GetGroupRequest ¶
type GetGroupRequest struct { GroupID uint64 `protobuf:"varint,1,opt,name=groupID,proto3" json:"groupID,omitempty"` // contains filtered or unexported fields }
func (*GetGroupRequest) Descriptor
deprecated
func (*GetGroupRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetGroupRequest.ProtoReflect.Descriptor instead.
func (*GetGroupRequest) GetGroupID ¶
func (x *GetGroupRequest) GetGroupID() uint64
func (*GetGroupRequest) IsValid ¶
func (req *GetGroupRequest) IsValid() bool
IsValid ensures that group ID is provided
func (*GetGroupRequest) ProtoMessage ¶
func (*GetGroupRequest) ProtoMessage()
func (*GetGroupRequest) ProtoReflect ¶
func (x *GetGroupRequest) ProtoReflect() protoreflect.Message
func (*GetGroupRequest) Reset ¶
func (x *GetGroupRequest) Reset()
func (*GetGroupRequest) String ¶
func (x *GetGroupRequest) String() string
type GradingBenchmark ¶
type GradingBenchmark 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 ReviewID uint64 `protobuf:"varint,3,opt,name=ReviewID,proto3" json:"ReviewID,omitempty"` // foreign key Heading string `protobuf:"bytes,4,opt,name=heading,proto3" json:"heading,omitempty"` Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` Criteria []*GradingCriterion `protobuf:"bytes,6,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) 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) 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 Points uint64 `protobuf:"varint,3,opt,name=points,proto3" json:"points,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` Grade GradingCriterion_Grade `protobuf:"varint,5,opt,name=grade,proto3,enum=ag.GradingCriterion_Grade" json:"grade,omitempty"` Comment string `protobuf:"bytes,6,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) 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) 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:idx_unique_group_name"` CourseID uint64 `protobuf:"varint,3,opt,name=courseID,proto3" json:"courseID,omitempty" gorm:"uniqueIndex:idx_unique_group_name"` TeamID uint64 `protobuf:"varint,4,opt,name=teamID,proto3" json:"teamID,omitempty"` Status Group_GroupStatus `protobuf:"varint,5,opt,name=status,proto3,enum=ag.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) 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
func (*Group) SetSlipDays ¶
SetSlipDays sets number of remaining slip days for each enrollment
type GroupRequest ¶
type GroupRequest 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 }
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) IsValid ¶
func (req *GroupRequest) IsValid() bool
IsValid ensures that course ID and group or user IDs are set
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
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 IssueNumber uint64 `protobuf:"varint,4,opt,name=issueNumber,proto3" json:"issueNumber,omitempty"` // Issue number on scm. Needed for associating db issue with scm issue // contains filtered or unexported fields }
func (*Issue) Descriptor
deprecated
func (*Issue) GetIssueNumber ¶
func (*Issue) GetRepositoryID ¶
func (*Issue) ProtoMessage ¶
func (*Issue) ProtoMessage()
func (*Issue) ProtoReflect ¶
func (x *Issue) ProtoReflect() protoreflect.Message
type OrgRequest ¶
type OrgRequest struct { OrgName string `protobuf:"bytes,1,opt,name=orgName,proto3" json:"orgName,omitempty"` // contains filtered or unexported fields }
func (*OrgRequest) Descriptor
deprecated
func (*OrgRequest) Descriptor() ([]byte, []int)
Deprecated: Use OrgRequest.ProtoReflect.Descriptor instead.
func (*OrgRequest) GetOrgName ¶
func (x *OrgRequest) GetOrgName() string
func (*OrgRequest) IsValid ¶
func (req *OrgRequest) IsValid() bool
IsValid checks whether OrgRequest fields are valid
func (*OrgRequest) ProtoMessage ¶
func (*OrgRequest) ProtoMessage()
func (*OrgRequest) ProtoReflect ¶
func (x *OrgRequest) ProtoReflect() protoreflect.Message
func (*OrgRequest) Reset ¶
func (x *OrgRequest) Reset()
func (*OrgRequest) String ¶
func (x *OrgRequest) String() string
type Organization ¶
type Organization struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar,omitempty"` PaymentPlan string `protobuf:"bytes,4,opt,name=paymentPlan,proto3" json:"paymentPlan,omitempty"` // contains filtered or unexported fields }
func (*Organization) Descriptor
deprecated
func (*Organization) Descriptor() ([]byte, []int)
Deprecated: Use Organization.ProtoReflect.Descriptor instead.
func (*Organization) GetAvatar ¶
func (x *Organization) GetAvatar() string
func (*Organization) GetID ¶
func (x *Organization) GetID() uint64
func (*Organization) GetPath ¶
func (x *Organization) GetPath() string
func (*Organization) GetPaymentPlan ¶
func (x *Organization) GetPaymentPlan() string
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 Organizations ¶
type Organizations struct { Organizations []*Organization `protobuf:"bytes,1,rep,name=organizations,proto3" json:"organizations,omitempty"` // contains filtered or unexported fields }
func (*Organizations) Descriptor
deprecated
func (*Organizations) Descriptor() ([]byte, []int)
Deprecated: Use Organizations.ProtoReflect.Descriptor instead.
func (*Organizations) GetOrganizations ¶
func (x *Organizations) GetOrganizations() []*Organization
func (*Organizations) ProtoMessage ¶
func (*Organizations) ProtoMessage()
func (*Organizations) ProtoReflect ¶
func (x *Organizations) ProtoReflect() protoreflect.Message
func (*Organizations) Reset ¶
func (x *Organizations) Reset()
func (*Organizations) String ¶
func (x *Organizations) String() string
type Provider ¶
type Provider struct { Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` // contains filtered or unexported fields }
func (*Provider) Descriptor
deprecated
func (*Provider) GetProvider ¶
func (*Provider) ProtoMessage ¶
func (*Provider) ProtoMessage()
func (*Provider) ProtoReflect ¶
func (x *Provider) ProtoReflect() protoreflect.Message
type Providers ¶
type Providers struct { Providers []string `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"` // contains filtered or unexported fields }
func (*Providers) Descriptor
deprecated
func (*Providers) GetProviders ¶
func (*Providers) IsValidProvider ¶
IsValidProvider validates provider string coming from front end
func (*Providers) ProtoMessage ¶
func (*Providers) ProtoMessage()
func (*Providers) ProtoReflect ¶
func (x *Providers) ProtoReflect() protoreflect.Message
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=ag.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 { // Types that are assignable to RebuildType: // *RebuildRequest_SubmissionID // *RebuildRequest_CourseID RebuildType isRebuildRequest_RebuildType `protobuf_oneof:"rebuildType"` AssignmentID uint64 `protobuf:"varint,3,opt,name=assignmentID,proto3" json:"assignmentID,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) GetRebuildType ¶
func (m *RebuildRequest) GetRebuildType() isRebuildRequest_RebuildType
func (*RebuildRequest) GetSubmissionID ¶
func (x *RebuildRequest) GetSubmissionID() uint64
func (*RebuildRequest) IsValid ¶
func (req *RebuildRequest) IsValid() bool
IsValid ensures that both course and submission 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) SetCourseID ¶
func (r *RebuildRequest) SetCourseID(id uint64)
SetCourseID sets the course ID to be rebuilt. Setting the course ID will clear the SubmissionID field.
func (*RebuildRequest) SetSubmissionID ¶
func (r *RebuildRequest) SetSubmissionID(id uint64)
SetSubmissionID sets the submission ID to be rebuilt. Setting the submission ID will clear the CourseID field.
func (*RebuildRequest) String ¶
func (x *RebuildRequest) String() string
type RebuildRequest_CourseID ¶
type RebuildRequest_CourseID struct {
CourseID uint64 `protobuf:"varint,2,opt,name=courseID,proto3,oneof"`
}
type RebuildRequest_SubmissionID ¶
type RebuildRequest_SubmissionID struct {
SubmissionID uint64 `protobuf:"varint,1,opt,name=submissionID,proto3,oneof"`
}
type RemoteIdentity ¶
type RemoteIdentity struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty" gorm:"uniqueIndex:uid_provider_remote_id"` RemoteID uint64 `protobuf:"varint,3,opt,name=remoteID,proto3" json:"remoteID,omitempty" gorm:"uniqueIndex:uid_provider_remote_id"` AccessToken string `protobuf:"bytes,4,opt,name=accessToken,proto3" json:"accessToken,omitempty"` UserID uint64 `protobuf:"varint,5,opt,name=userID,proto3" json:"userID,omitempty"` // contains filtered or unexported fields }
func (*RemoteIdentity) Descriptor
deprecated
func (*RemoteIdentity) Descriptor() ([]byte, []int)
Deprecated: Use RemoteIdentity.ProtoReflect.Descriptor instead.
func (*RemoteIdentity) GetAccessToken ¶
func (x *RemoteIdentity) GetAccessToken() string
func (*RemoteIdentity) GetID ¶
func (x *RemoteIdentity) GetID() uint64
func (*RemoteIdentity) GetProvider ¶
func (x *RemoteIdentity) GetProvider() string
func (*RemoteIdentity) GetRemoteID ¶
func (x *RemoteIdentity) GetRemoteID() uint64
func (*RemoteIdentity) GetUserID ¶
func (x *RemoteIdentity) GetUserID() uint64
func (*RemoteIdentity) ProtoMessage ¶
func (*RemoteIdentity) ProtoMessage()
func (*RemoteIdentity) ProtoReflect ¶
func (x *RemoteIdentity) ProtoReflect() protoreflect.Message
func (*RemoteIdentity) Reset ¶
func (x *RemoteIdentity) Reset()
func (*RemoteIdentity) String ¶
func (x *RemoteIdentity) String() string
type RepoURL ¶
func (RepoURL) AssignmentsRepoURL ¶
func (RepoURL) InfoRepoURL ¶
func (RepoURL) StudentRepoURL ¶
func (RepoURL) TestsRepoURL ¶
type Repositories ¶
type Repositories struct { URLs map[string]string `` /* 149-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[string]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"` OrganizationID uint64 `protobuf:"varint,2,opt,name=organizationID,proto3" json:"organizationID,omitempty" gorm:"uniqueIndex:uid_gid_org_type"` RepositoryID uint64 `protobuf:"varint,3,opt,name=repositoryID,proto3" json:"repositoryID,omitempty"` // ID of a github repository UserID uint64 `protobuf:"varint,4,opt,name=userID,proto3" json:"userID,omitempty" gorm:"uniqueIndex:uid_gid_org_type"` GroupID uint64 `protobuf:"varint,5,opt,name=groupID,proto3" json:"groupID,omitempty" gorm:"uniqueIndex:uid_gid_org_type"` HTMLURL string `protobuf:"bytes,6,opt,name=HTMLURL,proto3" json:"HTMLURL,omitempty"` RepoType Repository_Type `` /* 130-byte string literal not displayed */ 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) GetOrganizationID ¶
func (x *Repository) GetOrganizationID() uint64
func (*Repository) GetRepoType ¶
func (x *Repository) GetRepoType() Repository_Type
func (*Repository) GetRepositoryID ¶
func (x *Repository) GetRepositoryID() 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) 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 repo type.
func (*Repository) IsTestsRepo ¶
func (t *Repository) IsTestsRepo() bool
IsTestsRepo returns true if the repository is a 'tests' type.
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) 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_COURSEINFO 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 string `protobuf:"bytes,8,opt,name=edited,proto3" json:"edited,omitempty"` // 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) 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) 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 Reviewers ¶
type Reviewers struct { Reviewers []*User `protobuf:"bytes,1,rep,name=reviewers,proto3" json:"reviewers,omitempty"` // contains filtered or unexported fields }
func (*Reviewers) Descriptor
deprecated
func (*Reviewers) GetReviewers ¶
func (*Reviewers) ProtoMessage ¶
func (*Reviewers) ProtoMessage()
func (*Reviewers) ProtoReflect ¶
func (x *Reviewers) ProtoReflect() protoreflect.Message
func (*Reviewers) RemoveRemoteID ¶
func (r *Reviewers) RemoveRemoteID()
type Status ¶
type Status struct { Code uint64 `protobuf:"varint,1,opt,name=Code,proto3" json:"Code,omitempty"` Error string `protobuf:"bytes,2,opt,name=Error,proto3" json:"Error,omitempty"` // contains filtered or unexported fields }
func (*Status) Descriptor
deprecated
func (*Status) ProtoMessage ¶
func (*Status) ProtoMessage()
func (*Status) ProtoReflect ¶
func (x *Status) ProtoReflect() protoreflect.Message
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=ag.Submission_Status" json:"status,omitempty"` ApprovedDate string `protobuf:"bytes,9,opt,name=approvedDate,proto3" json:"approvedDate,omitempty"` 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() string
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) NewestBuildDate ¶
NewestBuildDate returns the submission's build date if newer than the provided submission date. Otherwise, the provided submission 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 SubmissionLink ¶
type SubmissionLink struct { Assignment *Assignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` Submission *Submission `protobuf:"bytes,2,opt,name=submission,proto3" json:"submission,omitempty"` // contains filtered or unexported fields }
func (*SubmissionLink) Descriptor
deprecated
func (*SubmissionLink) Descriptor() ([]byte, []int)
Deprecated: Use SubmissionLink.ProtoReflect.Descriptor instead.
func (*SubmissionLink) GetAssignment ¶
func (x *SubmissionLink) GetAssignment() *Assignment
func (*SubmissionLink) GetSubmission ¶
func (x *SubmissionLink) GetSubmission() *Submission
func (*SubmissionLink) ProtoMessage ¶
func (*SubmissionLink) ProtoMessage()
func (*SubmissionLink) ProtoReflect ¶
func (x *SubmissionLink) ProtoReflect() protoreflect.Message
func (*SubmissionLink) Reset ¶
func (x *SubmissionLink) Reset()
func (*SubmissionLink) String ¶
func (x *SubmissionLink) String() string
type SubmissionRequest ¶
type SubmissionRequest 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 }
func (*SubmissionRequest) Descriptor
deprecated
func (*SubmissionRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubmissionRequest.ProtoReflect.Descriptor instead.
func (*SubmissionRequest) GetCourseID ¶
func (x *SubmissionRequest) GetCourseID() uint64
func (*SubmissionRequest) GetGroupID ¶
func (x *SubmissionRequest) GetGroupID() uint64
func (*SubmissionRequest) GetUserID ¶
func (x *SubmissionRequest) GetUserID() uint64
func (*SubmissionRequest) IsValid ¶
func (req *SubmissionRequest) IsValid() bool
IsValid checks required fields of an action request. It must have a positive course ID and a positive user ID or group ID but not both.
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 SubmissionReviewersRequest ¶
type SubmissionReviewersRequest 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"` // contains filtered or unexported fields }
func (*SubmissionReviewersRequest) Descriptor
deprecated
func (*SubmissionReviewersRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubmissionReviewersRequest.ProtoReflect.Descriptor instead.
func (*SubmissionReviewersRequest) GetCourseID ¶
func (x *SubmissionReviewersRequest) GetCourseID() uint64
func (*SubmissionReviewersRequest) GetSubmissionID ¶
func (x *SubmissionReviewersRequest) GetSubmissionID() uint64
func (*SubmissionReviewersRequest) IsValid ¶
func (req *SubmissionReviewersRequest) IsValid() bool
IsValid ensures that course ID and submission ID are present.
func (*SubmissionReviewersRequest) ProtoMessage ¶
func (*SubmissionReviewersRequest) ProtoMessage()
func (*SubmissionReviewersRequest) ProtoReflect ¶
func (x *SubmissionReviewersRequest) ProtoReflect() protoreflect.Message
func (*SubmissionReviewersRequest) Reset ¶
func (x *SubmissionReviewersRequest) Reset()
func (*SubmissionReviewersRequest) String ¶
func (x *SubmissionReviewersRequest) String() string
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 SubmissionsForCourseRequest ¶
type SubmissionsForCourseRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` Type SubmissionsForCourseRequest_Type `protobuf:"varint,2,opt,name=type,proto3,enum=ag.SubmissionsForCourseRequest_Type" json:"type,omitempty"` WithBuildInfo bool `protobuf:"varint,3,opt,name=withBuildInfo,proto3" json:"withBuildInfo,omitempty"` // contains filtered or unexported fields }
func (*SubmissionsForCourseRequest) Descriptor
deprecated
func (*SubmissionsForCourseRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubmissionsForCourseRequest.ProtoReflect.Descriptor instead.
func (*SubmissionsForCourseRequest) GetCourseID ¶
func (x *SubmissionsForCourseRequest) GetCourseID() uint64
func (*SubmissionsForCourseRequest) GetType ¶
func (x *SubmissionsForCourseRequest) GetType() SubmissionsForCourseRequest_Type
func (*SubmissionsForCourseRequest) GetWithBuildInfo ¶
func (x *SubmissionsForCourseRequest) GetWithBuildInfo() bool
func (*SubmissionsForCourseRequest) IsValid ¶
func (req *SubmissionsForCourseRequest) IsValid() bool
IsValid ensures that course ID is provided
func (*SubmissionsForCourseRequest) ProtoMessage ¶
func (*SubmissionsForCourseRequest) ProtoMessage()
func (*SubmissionsForCourseRequest) ProtoReflect ¶
func (x *SubmissionsForCourseRequest) ProtoReflect() protoreflect.Message
func (*SubmissionsForCourseRequest) Reset ¶
func (x *SubmissionsForCourseRequest) Reset()
func (*SubmissionsForCourseRequest) String ¶
func (x *SubmissionsForCourseRequest) String() string
type SubmissionsForCourseRequest_Type ¶
type SubmissionsForCourseRequest_Type int32
const ( SubmissionsForCourseRequest_ALL SubmissionsForCourseRequest_Type = 0 SubmissionsForCourseRequest_INDIVIDUAL SubmissionsForCourseRequest_Type = 1 SubmissionsForCourseRequest_GROUP SubmissionsForCourseRequest_Type = 2 )
func (SubmissionsForCourseRequest_Type) Descriptor ¶
func (SubmissionsForCourseRequest_Type) Descriptor() protoreflect.EnumDescriptor
func (SubmissionsForCourseRequest_Type) Enum ¶
func (x SubmissionsForCourseRequest_Type) Enum() *SubmissionsForCourseRequest_Type
func (SubmissionsForCourseRequest_Type) EnumDescriptor
deprecated
func (SubmissionsForCourseRequest_Type) EnumDescriptor() ([]byte, []int)
Deprecated: Use SubmissionsForCourseRequest_Type.Descriptor instead.
func (SubmissionsForCourseRequest_Type) Number ¶
func (x SubmissionsForCourseRequest_Type) Number() protoreflect.EnumNumber
func (SubmissionsForCourseRequest_Type) String ¶
func (x SubmissionsForCourseRequest_Type) String() string
func (SubmissionsForCourseRequest_Type) Type ¶
func (SubmissionsForCourseRequest_Type) Type() protoreflect.EnumType
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 URLRequest ¶
type URLRequest struct { CourseID uint64 `protobuf:"varint,1,opt,name=courseID,proto3" json:"courseID,omitempty"` RepoTypes []Repository_Type `protobuf:"varint,2,rep,packed,name=repoTypes,proto3,enum=ag.Repository_Type" json:"repoTypes,omitempty"` // contains filtered or unexported fields }
func (*URLRequest) Descriptor
deprecated
func (*URLRequest) Descriptor() ([]byte, []int)
Deprecated: Use URLRequest.ProtoReflect.Descriptor instead.
func (*URLRequest) GetCourseID ¶
func (x *URLRequest) GetCourseID() uint64
func (*URLRequest) GetRepoTypes ¶
func (x *URLRequest) GetRepoTypes() []Repository_Type
func (*URLRequest) IsValid ¶
func (req *URLRequest) IsValid() bool
IsValid checks that all requested repo types are valid types and course ID field is set
func (*URLRequest) ProtoMessage ¶
func (*URLRequest) ProtoMessage()
func (*URLRequest) ProtoReflect ¶
func (x *URLRequest) ProtoReflect() protoreflect.Message
func (*URLRequest) Reset ¶
func (x *URLRequest) Reset()
func (*URLRequest) String ¶
func (x *URLRequest) String() string
type UnimplementedAutograderServiceServer ¶
type UnimplementedAutograderServiceServer struct { }
UnimplementedAutograderServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedAutograderServiceServer) CreateBenchmark ¶
func (UnimplementedAutograderServiceServer) CreateBenchmark(context.Context, *GradingBenchmark) (*GradingBenchmark, error)
func (UnimplementedAutograderServiceServer) CreateCourse ¶
func (UnimplementedAutograderServiceServer) CreateCriterion ¶
func (UnimplementedAutograderServiceServer) CreateCriterion(context.Context, *GradingCriterion) (*GradingCriterion, error)
func (UnimplementedAutograderServiceServer) CreateEnrollment ¶
func (UnimplementedAutograderServiceServer) CreateEnrollment(context.Context, *Enrollment) (*Void, error)
func (UnimplementedAutograderServiceServer) CreateGroup ¶
func (UnimplementedAutograderServiceServer) CreateReview ¶
func (UnimplementedAutograderServiceServer) CreateReview(context.Context, *ReviewRequest) (*Review, error)
func (UnimplementedAutograderServiceServer) DeleteBenchmark ¶
func (UnimplementedAutograderServiceServer) DeleteBenchmark(context.Context, *GradingBenchmark) (*Void, error)
func (UnimplementedAutograderServiceServer) DeleteCriterion ¶
func (UnimplementedAutograderServiceServer) DeleteCriterion(context.Context, *GradingCriterion) (*Void, error)
func (UnimplementedAutograderServiceServer) DeleteGroup ¶
func (UnimplementedAutograderServiceServer) DeleteGroup(context.Context, *GroupRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) GetAssignments ¶
func (UnimplementedAutograderServiceServer) GetAssignments(context.Context, *CourseRequest) (*Assignments, error)
func (UnimplementedAutograderServiceServer) GetCourse ¶
func (UnimplementedAutograderServiceServer) GetCourse(context.Context, *CourseRequest) (*Course, error)
func (UnimplementedAutograderServiceServer) GetCourses ¶
func (UnimplementedAutograderServiceServer) GetCoursesByUser ¶
func (UnimplementedAutograderServiceServer) GetCoursesByUser(context.Context, *EnrollmentStatusRequest) (*Courses, error)
func (UnimplementedAutograderServiceServer) GetEnrollmentsByCourse ¶
func (UnimplementedAutograderServiceServer) GetEnrollmentsByCourse(context.Context, *EnrollmentRequest) (*Enrollments, error)
func (UnimplementedAutograderServiceServer) GetEnrollmentsByUser ¶
func (UnimplementedAutograderServiceServer) GetEnrollmentsByUser(context.Context, *EnrollmentStatusRequest) (*Enrollments, error)
func (UnimplementedAutograderServiceServer) GetGroup ¶
func (UnimplementedAutograderServiceServer) GetGroup(context.Context, *GetGroupRequest) (*Group, error)
func (UnimplementedAutograderServiceServer) GetGroupByUserAndCourse ¶
func (UnimplementedAutograderServiceServer) GetGroupByUserAndCourse(context.Context, *GroupRequest) (*Group, error)
func (UnimplementedAutograderServiceServer) GetGroupsByCourse ¶
func (UnimplementedAutograderServiceServer) GetGroupsByCourse(context.Context, *CourseRequest) (*Groups, error)
func (UnimplementedAutograderServiceServer) GetOrganization ¶
func (UnimplementedAutograderServiceServer) GetOrganization(context.Context, *OrgRequest) (*Organization, error)
func (UnimplementedAutograderServiceServer) GetProviders ¶
func (UnimplementedAutograderServiceServer) GetRepositories ¶
func (UnimplementedAutograderServiceServer) GetRepositories(context.Context, *URLRequest) (*Repositories, error)
func (UnimplementedAutograderServiceServer) GetReviewers ¶
func (UnimplementedAutograderServiceServer) GetReviewers(context.Context, *SubmissionReviewersRequest) (*Reviewers, error)
func (UnimplementedAutograderServiceServer) GetSubmissions ¶
func (UnimplementedAutograderServiceServer) GetSubmissions(context.Context, *SubmissionRequest) (*Submissions, error)
func (UnimplementedAutograderServiceServer) GetSubmissionsByCourse ¶
func (UnimplementedAutograderServiceServer) GetSubmissionsByCourse(context.Context, *SubmissionsForCourseRequest) (*CourseSubmissions, error)
func (UnimplementedAutograderServiceServer) GetUserByCourse ¶
func (UnimplementedAutograderServiceServer) GetUserByCourse(context.Context, *CourseUserRequest) (*User, error)
func (UnimplementedAutograderServiceServer) IsAuthorizedTeacher ¶
func (UnimplementedAutograderServiceServer) IsAuthorizedTeacher(context.Context, *Void) (*AuthorizationResponse, error)
func (UnimplementedAutograderServiceServer) IsEmptyRepo ¶
func (UnimplementedAutograderServiceServer) IsEmptyRepo(context.Context, *RepositoryRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) RebuildSubmissions ¶
func (UnimplementedAutograderServiceServer) RebuildSubmissions(context.Context, *RebuildRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateAssignments ¶
func (UnimplementedAutograderServiceServer) UpdateAssignments(context.Context, *CourseRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateBenchmark ¶
func (UnimplementedAutograderServiceServer) UpdateBenchmark(context.Context, *GradingBenchmark) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateCourse ¶
func (UnimplementedAutograderServiceServer) UpdateCourseVisibility ¶
func (UnimplementedAutograderServiceServer) UpdateCourseVisibility(context.Context, *Enrollment) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateCriterion ¶
func (UnimplementedAutograderServiceServer) UpdateCriterion(context.Context, *GradingCriterion) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateEnrollments ¶
func (UnimplementedAutograderServiceServer) UpdateEnrollments(context.Context, *Enrollments) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateGroup ¶
func (UnimplementedAutograderServiceServer) UpdateReview ¶
func (UnimplementedAutograderServiceServer) UpdateReview(context.Context, *ReviewRequest) (*Review, error)
func (UnimplementedAutograderServiceServer) UpdateSubmission ¶
func (UnimplementedAutograderServiceServer) UpdateSubmission(context.Context, *UpdateSubmissionRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateSubmissions ¶
func (UnimplementedAutograderServiceServer) UpdateSubmissions(context.Context, *UpdateSubmissionsRequest) (*Void, error)
func (UnimplementedAutograderServiceServer) UpdateUser ¶
type UnsafeAutograderServiceServer ¶
type UnsafeAutograderServiceServer interface {
// contains filtered or unexported methods
}
UnsafeAutograderServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AutograderServiceServer will result in compilation errors.
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=ag.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) 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) 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"` UsedSlipDays uint32 `protobuf:"varint,4,opt,name=usedSlipDays,proto3" json:"usedSlipDays,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) GetUsedSlipDays ¶
func (x *UsedSlipDays) GetUsedSlipDays() 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"` RemoteIdentities []*RemoteIdentity `protobuf:"bytes,8,rep,name=remoteIdentities,proto3" json:"remoteIdentities,omitempty"` Enrollments []*Enrollment `protobuf:"bytes,9,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // contains filtered or unexported fields }
func (*User) Descriptor
deprecated
func (*User) GetAccessToken ¶
GetAccessToken returns the user's access token for the given provider.
func (*User) GetAvatarURL ¶
func (*User) GetEnrollments ¶
func (x *User) GetEnrollments() []*Enrollment
func (*User) GetIsAdmin ¶
func (*User) GetRemoteIDFor ¶
func (u *User) GetRemoteIDFor(provider string) *RemoteIdentity
GetRemoteIDFor returns the user's remote identity for the given provider. If no remote identity for the given provider is found, then nil is returned.
func (*User) GetRemoteIdentities ¶
func (x *User) GetRemoteIdentities() []*RemoteIdentity
func (*User) GetStudentID ¶
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.
func (*User) SetSlipDays ¶
SetSlipDays sets number of remaining slip days for each enrollment
type UserRequest ¶
type UserRequest struct { UserID uint64 `protobuf:"varint,1,opt,name=userID,proto3" json:"userID,omitempty"` // contains filtered or unexported fields }
func (*UserRequest) Descriptor
deprecated
func (*UserRequest) Descriptor() ([]byte, []int)
Deprecated: Use UserRequest.ProtoReflect.Descriptor instead.
func (*UserRequest) GetUserID ¶
func (x *UserRequest) GetUserID() uint64
func (*UserRequest) IsValid ¶
func (u *UserRequest) IsValid() bool
IsValid ensures that user ID is set
func (*UserRequest) ProtoMessage ¶
func (*UserRequest) ProtoMessage()
func (*UserRequest) ProtoReflect ¶
func (x *UserRequest) ProtoReflect() protoreflect.Message
func (*UserRequest) Reset ¶
func (x *UserRequest) Reset()
func (*UserRequest) String ¶
func (x *UserRequest) String() string
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