Skip to content

Class roster

class_enrollments is soft-stateful: unenrolling a student sets status='inactive' rather than deleting the row, because unique(class_id, student_id) means a re-enroll has to update the existing row, not insert a duplicate. This is the same upsert-by-status logic apps/web’s class detail page uses.

Every enrollment row for a class, active and inactive.

ArgumentTypeRequired
class_iduuidyes

Sets status='active'. Does not enforce classes.capacity — neither does the staff UI.

ArgumentTypeRequired
class_iduuidyes
student_iduuidyes

Sets status='inactive'. The row is kept, not deleted.

ArgumentTypeRequired
class_iduuidyes
student_iduuidyes