CourseSettingsService

Owns course discovery, validation, replacement, and cache invalidation.

Configuration replacement commits before related template, course, availability, and manual-grading caches are invalidated.

Types

Link copied to clipboard
data class UpstreamMetadata(val tags: List<ExternalCourseTag>, val ltiLoginUrl: String?)

Functions

Link copied to clipboard
suspend fun configuredGraderByEmail(courseId: Long, email: String, token: String): ConfiguredGraderView
Link copied to clipboard
suspend fun configuredGraderProfiles(courseId: Long, userIds: List<Long>, token: String): List<ConfiguredGraderView>
Link copied to clipboard
suspend fun courseForManualGradingExercise(exerciseId: Long): Long?
Link copied to clipboard
suspend fun create(configuration: CourseConfiguration): CourseEntry
Link copied to clipboard
suspend fun createCourse(identity: Identity, token: String, body: CourseConfigurationCreateBody, courseConfigUrlSpecified: Boolean): CourseEntry
Link copied to clipboard
suspend fun delete(courseId: Long, expectedRevision: Long): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
suspend fun find(courseId: Long): CourseEntry?
Link copied to clipboard
suspend fun get(courseId: Long): CourseEntry
Link copied to clipboard
suspend fun ids(): Set<Long>
Link copied to clipboard
suspend fun importGraders(request: AuthorizedCourseRequest, expectedRevision: Long, rows: List<List<String>>): CourseEntry
Link copied to clipboard
Link copied to clipboard
suspend fun refreshFromUpstream(request: AuthorizedCourseRequest, expectedRevision: Long): CourseEntry
Link copied to clipboard
Link copied to clipboard
suspend fun replace(courseId: Long, expectedRevision: Long, configuration: CourseConfiguration): CourseEntry
Link copied to clipboard
suspend fun replaceValidated(courseId: Long, token: String, expectedRevision: Long, configuration: CourseConfiguration): CourseEntry
Link copied to clipboard
suspend fun requireGradersAreStaff(courseId: Long, token: String, graders: List<CourseGrader>)
Link copied to clipboard
suspend fun templateStatus(courseId: Long): TemplateCatalogStatus?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
suspend fun visibleCourses(identity: Identity, token: String): CoursesResponse