Files
tutor-service/internal/httpapi/progression.go
2026-04-26 16:39:19 +09:00

47 lines
1.1 KiB
Go

package httpapi
import (
"errors"
"net/http"
"tutor/internal/learnermemory"
)
func (h Handler) getReadinessMap(w http.ResponseWriter, r *http.Request) {
if h.progress == nil {
writeError(w, http.StatusNotFound, "progression not configured")
return
}
readiness, err := h.progress.ReadinessMap(r.PathValue("userID"))
if errors.Is(err, learnermemory.ErrProfileNotFound) {
writeError(w, http.StatusNotFound, "learner memory not found")
return
}
if err != nil {
writeError(w, http.StatusBadRequest, err.Error())
return
}
writeJSON(w, http.StatusOK, readiness)
}
func (h Handler) getNextChallenge(w http.ResponseWriter, r *http.Request) {
if h.progress == nil {
writeError(w, http.StatusNotFound, "progression not configured")
return
}
challenge, err := h.progress.NextChallenge(r.PathValue("userID"))
if errors.Is(err, learnermemory.ErrProfileNotFound) {
writeError(w, http.StatusNotFound, "learner memory not found")
return
}
if err != nil {
writeError(w, http.StatusBadRequest, err.Error())
return
}
writeJSON(w, http.StatusOK, challenge)
}