Admin group: fix script loading (extra div), total submissions counter, label cleanup

This commit is contained in:
2026-09-28 17:22:09 +03:00
parent 684567a839
commit 4e1e0d1488
6 changed files with 35 additions and 7 deletions

View File

@@ -56,6 +56,13 @@ class SubmissionController(
@RequestParam labId: UUID,
): List<SubmissionDto> = submissions.latestPerStudent(labId)
/** Общее число решений (всех попыток) по лабораторной. */
@GetMapping("/submissions/count")
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
fun submissionCount(
@RequestParam labId: UUID,
): Map<String, Long> = mapOf("count" to submissions.countForLab(labId))
@GetMapping("/submissions/{id}/download")
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
fun downloadForAdmin(

View File

@@ -101,6 +101,10 @@ class SubmissionService(
return zip to name
}
/** Общее число решений (всех попыток) по лабораторной. */
@Transactional(readOnly = true)
fun countForLab(labId: UUID): Long = submissions.countByLabId(labId)
@Transactional(readOnly = true)
fun latestPerStudent(labId: UUID): List<SubmissionDto> {
val perStudent = mutableMapOf<UUID, Submission>()

View File

@@ -14,6 +14,8 @@ interface SubmissionRepository : JpaRepository<Submission, UUID> {
fun findByLabIdOrderByCreatedAtDesc(labId: UUID): List<Submission>
fun countByLabId(labId: UUID): Long
fun findFirstByStudentIdAndLabIdOrderBySeqDesc(
studentId: UUID,
labId: UUID,