split cards
This commit is contained in:
@@ -16,7 +16,14 @@ from .auth import (
|
||||
verify_password,
|
||||
)
|
||||
from .curriculum import QUESTIONS
|
||||
from .program_content import decode_asset_token, get_content_status, get_lesson, list_lessons_for_grade, normalize_grade
|
||||
from .program_content import (
|
||||
decode_asset_token,
|
||||
get_content_status,
|
||||
get_lesson,
|
||||
list_lessons_for_grade,
|
||||
normalize_grade,
|
||||
render_svg_section,
|
||||
)
|
||||
from .services import (
|
||||
build_llm_reply,
|
||||
ensure_student_mastery,
|
||||
@@ -214,6 +221,22 @@ def get_program_asset(
|
||||
return FileResponse(path, media_type="image/svg+xml")
|
||||
|
||||
|
||||
@app.get("/program/assets/{asset_token}/sections/{section_index}")
|
||||
def get_program_asset_section(
|
||||
asset_token: str,
|
||||
section_index: int,
|
||||
current_user: models.User = Depends(get_current_user),
|
||||
):
|
||||
try:
|
||||
path = decode_asset_token(asset_token)
|
||||
svg = render_svg_section(path, section_index)
|
||||
except IndexError as exc:
|
||||
raise HTTPException(status_code=404, detail="Étape introuvable") from exc
|
||||
except Exception as exc:
|
||||
raise HTTPException(status_code=400, detail="Ressource invalide") from exc
|
||||
return Response(content=svg, media_type="image/svg+xml")
|
||||
|
||||
|
||||
@app.get("/students/{student_id}/program", response_model=schemas.StudentProgramResponse)
|
||||
def get_student_program(
|
||||
student_id: int,
|
||||
|
||||
Reference in New Issue
Block a user