Migration 000062 adds lessons.publish_status (DRAFT default for new rows; existing rows published). Editors see all lessons; learners see published-only lists and GET by id. Sequential prerequisites and completion counts ignore drafts. Course lesson_count counts published lessons only. Swagger documents publish_status on create/update bodies. Co-authored-by: Cursor <cursoragent@cursor.com>
10 lines
445 B
SQL
10 lines
445 B
SQL
-- Draft vs published visibility for LMS lessons (mirrors lms_practices.publish_status).
|
|
|
|
ALTER TABLE lessons
|
|
ADD COLUMN publish_status VARCHAR(16) NOT NULL DEFAULT 'PUBLISHED'
|
|
CONSTRAINT chk_lessons_publish_status CHECK (publish_status IN ('DRAFT', 'PUBLISHED'));
|
|
|
|
-- New inserts default to draft unless the API sends PUBLISHED; existing rows stay published.
|
|
ALTER TABLE lessons
|
|
ALTER COLUMN publish_status SET DEFAULT 'DRAFT';
|