12ad59c409
Add draft vs published status for LMS and exam-prep practices.
...
Expose publish_status on create/update, filter learner-facing lists and gates, and add migration 000060.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 03:57:43 -07:00
1136a166f5
Shift sibling sort_order when creating or updating LMS hierarchy rows.
...
Sequential reorder uses a temporary negative id slot plus range shifts so UNIQUE constraints on programs, courses, modules, and lessons stay valid; replaces module pairwise swap-only behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 02:38:29 -07:00
d28bddace1
Accept optional sort_order when creating LMS programs.
...
Preserve append-after-max ordering when omitting sort_order and keep global uniqueness enforced by DB.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-19 02:10:49 -07:00
5b53929d92
learning progress implementation
2026-04-23 03:58:27 -07:00
152478a96c
added program
2026-04-23 00:59:01 -07:00