diff --git a/app/api/study_topics.py b/app/api/study_topics.py index 7817692..f362b55 100644 --- a/app/api/study_topics.py +++ b/app/api/study_topics.py @@ -1538,21 +1538,12 @@ async def get_quiz_session( ).scalars().all() by_id = {q.id: q for q in rows} - # 이미지 batch - img_rows = ( - await session.execute( - select(StudyQuestionImage) - .where(StudyQuestionImage.study_question_id.in_(qids)) - .order_by(StudyQuestionImage.study_question_id, StudyQuestionImage.position) - ) - ).scalars().all() - images_map: dict[int, list[dict]] = {} - for im in img_rows: - images_map.setdefault(im.study_question_id, []).append({ - "id": im.id, - "served_url": f"/api/study-questions/{im.study_question_id}/images/{im.id}", - "position": im.position, - }) + # 이미지 batch — 기존 study_questions._images_for_questions_batch 재사용 (sort_order 기준). + from api.study_questions import _images_for_questions_batch + images_typed = await _images_for_questions_batch(session, qids) + images_map: dict[int, list[dict]] = { + qid: [it.model_dump() for it in items] for qid, items in images_typed.items() + } # attempt count batch (per question) stat_rows = (