Refactor: split loop/throws helpers; drop deprecated JSON accessors
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user