SIGN IN SIGN UP

feat: configure drf-spectacular on LMS for enrollment API schema gene… (#38849)

* feat: add drf-spectacular on LMS for enrollment API schema generation

Adds drf-spectacular support to LMS so the openedx-platform-sdk can
generate enrollment v2 API bindings from a proper LMS schema rather than
mounting enrollment URLs in CMS as a workaround.

Changes:
- openedx/envs/common.py: add DEFAULT_SCHEMA_CLASS to REST_FRAMEWORK so
  drf-spectacular's AutoSchema is used across all LMS environments
- lms/envs/common.py: add drf_spectacular to INSTALLED_APPS
- lms/lib/spectacular.py: preprocessing hook that filters to enrollment
  v2 endpoints only (/api/enrollment/v\d+/)
- lms/envs/devstack.py, lms/envs/production.py: SPECTACULAR_SETTINGS with
  path prefix trim and enrollment-only title
- lms/urls.py: expose schema at /lms-api/schema/ via SpectacularAPIView
- cms/lib/spectacular.py: revert enrollment URL workaround (no longer needed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: move settings to common.py

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
M
Muhammad Faraz Maqsood committed
174666613771635ce6cbfe9530ce992c53eb9f80
Parent: ef554c5
Committed by Feanil Patel <feanil@axim.org> on 7/29/2026, 2:26:48 PM