Refactor: split loop/throws helpers; drop deprecated JSON accessors

This commit is contained in:
2026-09-27 22:02:56 +03:00
parent 511df7977e
commit 9a2a4023b5
2 changed files with 59 additions and 27 deletions

View File

@@ -124,10 +124,22 @@ class DefenseService(
studentId: UUID,
code: String,
): DefenseSession {
val s = sessions.findByCode(code.trim()) ?: throw BadRequestException("Код не найден")
if (s.studentId != studentId) throw ForbiddenException("Этот код выдан другому студенту")
if (s.status != DefenseStatus.waiting.name) throw BadRequestException("Защита по этому коду уже начата")
return s
val session = findSessionByCode(code)
requireOwnerAndWaiting(session, studentId)
return session
}
private fun findSessionByCode(code: String): DefenseSession =
sessions.findByCode(code.trim()) ?: throw BadRequestException("Код не найден")
private fun requireOwnerAndWaiting(
session: DefenseSession,
studentId: UUID,
) {
if (session.studentId != studentId) throw ForbiddenException("Этот код выдан другому студенту")
if (session.status != DefenseStatus.waiting.name) {
throw BadRequestException("Защита по этому коду уже начата")
}
}
@Transactional