Bump sort_order before reassignment for programs, courses, and modules so batch reorder no longer violates uq_courses_program_sort and sibling constraints.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add PUT /api/v1/modules/:moduleId/lessons/reorder with lessons.reorder permission, matching the existing modules and exam-prep lesson reorder patterns.
Co-authored-by: Cursor <cursoragent@cursor.com>