Skip to content

feat(courses): add course draft/publish lifecycle validation - #878

Merged
MaryammAli merged 1 commit into
BlockDash-Studios:mainfrom
demilade18-git:feat/course-publish-validation
Sep 25, 2026
Merged

MaryammAli merged 1 commit into
BlockDash-Studios:mainfrom
demilade18-git:feat/course-publish-validation

Conversation

@demilade18-git

Copy link
Copy Markdown
Contributor

Adds course draft/publish lifecycle validation backing the course builder's publish action (BE-077).

  • assertCanPublish() throws 400 INSUFFICIENT_CONTENT_TO_PUBLISH unless the course has at least 1 lesson and 1 task across its sections
  • isVisibleInCatalog() keeps drafts hidden from the catalog regardless of content
  • Operates on a minimal CoursePublishInput shape independent of the course entity itself (which doesn't exist in this codebase yet), so it can be wired into whichever persistence layer the course builder module ends up using

Closes #830
Closes #829
Closes #831
Closes #832

Adds CoursePublishValidator backing the course builder's publish action
(BE-077). assertCanPublish() throws a 400 INSUFFICIENT_CONTENT_TO_PUBLISH
BadRequestException unless the course has at least one lesson and one
task across its sections; isVisibleInCatalog() keeps drafts hidden from
the catalog regardless of content. Operates on a minimal
CoursePublishInput shape independent of the course entity itself, which
does not exist in this codebase yet, so it can be wired into whichever
persistence layer the course builder module ends up using.
@drips-wave

drips-wave Bot commented Sep 25, 2026

Copy link
Copy Markdown

@demilade18-git Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@MaryammAli MaryammAli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MaryammAli
MaryammAli merged commit 116a3a0 into BlockDash-Studios:main Sep 25, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants