Complete distribution flow and student UI

- progress-service: Distribute variants (round-robin per lab per level),
  student level assignment, API for levels/assignments
- progress-service: Inter-service clients (academic, identity) via RestClient
- web: Admin lab detail page with distribute/level buttons
- web: Student dashboard shows assigned labs from progress-service
- web: ApiClient methods for labs detail, distribute, levels, me/assignments
- academic-service: Add id to LabLevelDetail DTO for progress-service
- Fix: CSS-only layout, footer at bottom via flex column
This commit is contained in:
2026-09-10 22:18:47 +03:00
parent b48cf1d1e3
commit 0fdb9faab6
18 changed files with 753 additions and 26 deletions

View File

@@ -67,6 +67,7 @@ data class LabDetail(
)
data class LabLevelDetail(
val id: String = "",
val code: String,
val title: String,
val variants: List<VariantDetail>,

View File

@@ -112,6 +112,7 @@ class LabService(
val vs = variantsRepo.findByLabIdOrderByNumber(lab.id)
.filter { it.labLevel?.id == level.id }
LabLevelDetail(
id = level.id.toString(),
code = level.code,
title = level.title,
variants = vs.map { v ->