Delete a course with its lessons, private answers and enrollments, and the files its lessons use that no other course uses.
Delete a lesson's content (for example, a lesson added for one client that is no longer wanted).
Enroll a client: create their enrollment and let them read the course
outline. Opens no lessons (see syncAccess). Enrolling a client who was
removed reactivates their enrollment and reopens the lessons they had;
enrolling an active client returns their enrollment unchanged.
Let the enrolled client read these lessons' content and the files they use. Backends that decide access on the server can treat this as a no-op.
Courses this user owns.
An overview of every enrollment in one of this user's courses, including which lessons each client has completed — enough for progress tables, review queues and deciding what to open, without loading each client's progress. Implement it cheaply: it is called often.
Enrollments in this user's courses, optionally for one course or one client.
Optionalquery: { clientId?: string; courseId?: string }Enrollments where this user is the client.
The private quiz answers for a course, or null when none are saved.
A lesson's content, or null when it isn't open to this user or has no content yet.
A client's progress, or null when nothing has been saved yet.
This provider's review settings, or null when none are saved.
A URL to load a stored file from. stream asks for a URL suited to playback.
Optionaloptions: { stream?: boolean }Stop the client reading the course, its lessons, their files, the provider's review attachments and the enrollment.
Take these lessons (and the files only they use) back from the client, for example when a rule closes again.
Save changes to an enrollment, merged with any copy saved from another device. Files attached to review comments become readable by the client.
Save a lesson's content. Clients the lesson is already open to can read the new content, including any newly added files, straight away.
Save this provider's review settings. Rejects with 'conflict' if they were saved elsewhere since they were loaded.
OptionalsubscribeBe told when something this user can see changes. Returns an unsubscribe function.
Where courses, enrollments and progress are kept.
Each document has one writer. The provider who owns a course writes the course, its lessons, its private quiz answers and every enrollment in it; a client writes only their own progress. Save calls return the document as saved, with its
revisionincreased andupdatedAtset.Access follows the lesson rules: a client can read a course's outline once enrolled, a lesson's content only once it has been opened to them (
grantLessonAccess), their own enrollment, and their own progress. The provider can read everything in their courses, including clients' progress.