FeedbackService

Coordinates authorized feedback documents, profile lookup, and email delivery.

Document writes preserve revision checks and ownership rules. Email delivery resolves current sender and student addresses before a document can be marked as shared.

Functions

Link copied to clipboard
open override fun close()
Link copied to clipboard
suspend fun create(request: AuthorizedCourseRequest, studentId: Long, content: String): CreateDocumentOutcome
Link copied to clipboard
suspend fun delete(courseId: Long, studentId: Long, documentId: String, identity: Identity): Boolean
Link copied to clipboard
suspend fun findOwned(courseId: Long, studentId: Long, documentId: String, identity: Identity): DocumentRecord?
Link copied to clipboard
suspend fun findVisible(courseId: Long, documentId: String, identity: Identity): StudentDocument?
Link copied to clipboard
suspend fun listVisible(courseId: Long, identity: Identity): List<DocumentSummary>
Link copied to clipboard
suspend fun listVisibleForStudent(courseId: Long, studentId: Long, identity: Identity): List<DocumentSummary>
Link copied to clipboard
Link copied to clipboard
suspend fun sharedDocuments(courseId: Long, studentId: Long): List<Pair<DocumentRow, JsonElement>>
Link copied to clipboard
Link copied to clipboard
suspend fun update(request: AuthorizedCourseRequest, studentId: Long, documentId: String, content: String, expectedUpdatedAtMillis: Long?): UpdateDocumentOutcome