@insignia-education/api-sdk-js 0.25.12 → 0.25.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/api/v1/Employee.js +2 -0
- package/src/api/v1/Teacher.js +2 -0
package/package.json
CHANGED
package/src/api/v1/Employee.js
CHANGED
|
@@ -22,6 +22,8 @@ export default class Employee {
|
|
|
22
22
|
courseDateStudents: (courseDateId) => this.#client.get(`${base}/course-dates/${courseDateId}/students`),
|
|
23
23
|
/** One enrolled student's quiz attempts in this course_date's course (any teacher's date) — same shape as Teacher.dashboard().courseDateStudentQuizzes(). Grade them with Users.quizzes(studentId).detail()/grade(). Not enrolled → 403. */
|
|
24
24
|
courseDateStudentQuizzes: (courseDateId, studentId) => this.#client.get(`${base}/course-dates/${courseDateId}/students/${studentId}/quizzes`),
|
|
25
|
+
/** Per-student progress for any course_date, keyed by student id — same shape as Teacher.dashboard().courseDateStudentOverviews(). */
|
|
26
|
+
courseDateStudentOverviews: (courseDateId) => this.#client.get(`${base}/course-dates/${courseDateId}/students/overview`),
|
|
25
27
|
/** Save the ranking of one course_date's students: `studentIds` in order, first = rank 1. Returns the re-ranked roster. Ids not enrolled → 422. */
|
|
26
28
|
rankCourseDateStudents: (courseDateId, studentIds) => this.#client.put(`${base}/course-dates/${courseDateId}/students/ranking`, { student_ids: studentIds }),
|
|
27
29
|
/** Mark a student's attendance on any teacher's session. */
|
package/src/api/v1/Teacher.js
CHANGED
|
@@ -56,6 +56,8 @@ export default class Teacher {
|
|
|
56
56
|
courseDateSessions: (courseDateId) => this.#client.get(`${base}/course-dates/${courseDateId}/sessions`),
|
|
57
57
|
/** Enrolled roster ({id, name, email, rank}, ranked first — unranked last) for one CourseDate, read straight off enrollment — shows up even before any session has been synced. Read-only: does not move students between dates. */
|
|
58
58
|
courseDateStudents: (courseDateId) => this.#client.get(`${base}/course-dates/${courseDateId}/students`),
|
|
59
|
+
/** Per-student progress for one CourseDate, keyed by student id: `quiz_progress` {approved, taken, total, percentage}, `level_exams` (each level's last quiz: status not_taken|pending|approved|failed|none) and `next_course` {exists, purchased, pending_payment}. Course quiz structure is cached server-side per course. */
|
|
60
|
+
courseDateStudentOverviews: (courseDateId) => this.#client.get(`${base}/course-dates/${courseDateId}/students/overview`),
|
|
59
61
|
/** Save the teacher's ranking of one CourseDate's students: `studentIds` in order, first = rank 1. Returns the re-ranked roster ({id, name, email, rank}). Ids not enrolled → 422. */
|
|
60
62
|
rankCourseDateStudents: (courseDateId, studentIds) => this.#client.put(`${base}/course-dates/${courseDateId}/students/ranking`, { student_ids: studentIds }),
|
|
61
63
|
/** One student's quiz attempts in this CourseDate's course, every one of them - not just needs_teacher_correction=1 (auto-graded ones never show up in the "Quizzes por corregir" surfaces below). Each row carries `quiz.needs_teacher_correction`, `level`/`lesson`, `final_score_percentage`; filter by level/lesson client-side. */
|