GradingService

Coordinates rubrics, assignments, assessment editing, queues, and grade publication.

Exercise-scoped operations verify that the exercise belongs to the authorized course. Save and send methods return typed outcomes for ownership, revision, and delivery conflicts.

Functions

Link copied to clipboard
suspend fun assessment(request: AuthorizedCourseRequest, exerciseId: Long, studentId: Long): AssessmentAccessOutcome
Link copied to clipboard
suspend fun assignmentOverview(request: AuthorizedCourseRequest, includeAllAssignees: Boolean): List<AssignmentOverviewEntry>
Link copied to clipboard
suspend fun assignments(request: AuthorizedCourseRequest, exerciseId: Long): List<GradingAssignment>
Link copied to clipboard
suspend fun autoAssign(request: AuthorizedCourseRequest, exerciseId: Long, replaceExisting: Boolean): List<GradingAssignment>?
Link copied to clipboard
suspend fun deleteInternalAssessments(courseId: Long, exerciseId: Long, studentId: Long?): Int
Link copied to clipboard
suspend fun deleteRubric(request: AuthorizedCourseRequest, exerciseId: Long, expectedRevision: Long): Boolean
Link copied to clipboard
Link copied to clipboard
suspend fun listRubrics(courseId: Long): List<RubricInfo>
Link copied to clipboard
suspend fun putRubric(request: AuthorizedCourseRequest, exerciseId: Long, rubric: Rubric, expectedRevision: Long?): RubricWriteOutcome
Link copied to clipboard
suspend fun queue(request: AuthorizedCourseRequest, exerciseId: Long): GradingQueue?
Link copied to clipboard
suspend fun readyAssessments(request: AuthorizedCourseRequest, exerciseId: Long): List<AssessmentRow>
Link copied to clipboard
suspend fun rubric(request: AuthorizedCourseRequest, exerciseId: Long): VersionedRubric?
Link copied to clipboard
suspend fun saveAssessment(request: AuthorizedCourseRequest, exerciseId: Long, studentId: Long, command: SaveAssessmentCommand): AssessmentSaveOutcome
Link copied to clipboard
suspend fun send(request: AuthorizedCourseRequest, exerciseId: Long, studentId: Long, command: SendAssessmentCommand): AssessmentSendOutcome
Link copied to clipboard
suspend fun setAssignments(request: AuthorizedCourseRequest, exerciseId: Long, changes: List<AssignmentPutEntry>)
Link copied to clipboard
suspend fun studentAssessments(courseId: Long, studentId: Long): List<StudentAssessmentView>