DraftDT-4662Exercise AI
Do-Test API — Guided Practice
Áp dụng cho GUIDED_PRACTICE. Scaffolded — chưa có endpoint riêng. Hiện chỉ:
content=GuidedProgressContent→questions[]=GuidedQuestionProgress(chỉ field basequestionId/order/state, chưa có payload riêng — TBD).- Làm bài qua các Common API:
start,demo-start,GET /{progressId},next,skip,submit. computeSubmitSummarycho guided hiện no-op (chưa có tổng kết riêng).
Ví dụ — GET /{progressId} (content guided)
{
"id": "6700a1b2c3d4e5f60718293a",
"exerciseType": "GUIDED_PRACTICE",
"status": "IN_PROGRESS",
"currentIndex": 0,
"totalQuestion": 10,
"content": {
"questions": [
{ "questionId": "665fae11b2c3d4e5f6071900", "order": 0, "state": "ANSWERING" },
{ "questionId": "665fae11b2c3d4e5f6071901", "order": 1, "state": "NOT_ANSWER" }
]
}
}Request/response của
start,skip,next,submitgiống hệt Common API — guided chưa có biến thể riêng.
Khi bổ sung luồng guided
Thêm payload cho GuidedQuestionProgress + endpoint mutation riêng, cập nhật computeSubmitSummary,
và đồng bộ trang này. Tham chiếu PRD khi shape được chốt.