@insignia-education/api-sdk-js 0.15.97 → 0.15.99

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insignia-education/api-sdk-js",
3
- "version": "0.15.97",
3
+ "version": "0.15.99",
4
4
  "description": "JavaScript SDK for the Insignia Education API",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -24,6 +24,9 @@ export default class Courses {
24
24
  edit(id, data) { return this.#client.patch(`/courses/${id}`, data); }
25
25
  delete(id) { return this.#client.del(`/courses/${id}`); }
26
26
 
27
+ /** Replaces the full set of accepted-equivalent prerequisites (any ONE unlocks the course, not all of them) — e.g. english-5 accepting english-4, english-4-personal or english-4-semi. Pass [] to clear. */
28
+ updatePrerequisites(id, prerequisiteIds) { return this.#client.patch(`/courses/${id}/prerequisites`, { prerequisite_ids: prerequisiteIds }); }
29
+
27
30
  /** Users enrolled on this course as a teacher (user_courses.teacher = 1). */
28
31
  teachers(courseId) { return this.#client.get(`/courses/${courseId}/teachers`); }
29
32
 
@@ -25,7 +25,8 @@ export default class Quizzes {
25
25
  const client = this.#client;
26
26
  const base = `/quizzes/${quizId}/questions`;
27
27
  return {
28
- get: (id = null) => id ? client.get(`${base}/${id}`) : client.get(base),
28
+ /** Pass `{ forAttempt: true }` to get the authenticated user's next-attempt question subset (capped to Quiz.max_questions) instead of the full list. */
29
+ get: (id = null, { forAttempt = false } = {}) => id ? client.get(`${base}/${id}`) : client.get(base, forAttempt ? { for_attempt: 1 } : undefined),
29
30
  create: (data) => client.put(base, data),
30
31
  edit: (id, data) => client.patch(`${base}/${id}`, data),
31
32
  delete: (id) => client.del(`${base}/${id}`),