Files
edx-platform/cms/lib/spectacular.py
2025-07-10 17:05:42 +05:30

24 lines
1.0 KiB
Python

""" Helper functions for drf-spectacular """
def cms_api_filter(endpoints):
"""
At the moment, we are only enabling drf-spectacular for the CMS API.
Filter out endpoints that are not part of the CMS API.
"""
filtered = []
for (path, path_regex, method, callback) in endpoints:
# Add only paths to the list that are part of the CMS API
if (
# Don't just replace this with /v1 when switching to a later version of the CMS API.
# That would include some unintended endpoints.
path.startswith("/api/contentstore/v0/xblock") or
path.startswith("/api/contentstore/v0/videos") or
path.startswith("/api/contentstore/v0/video_transcripts") or
path.startswith("/api/contentstore/v0/file_assets") or
path.startswith("/api/contentstore/v0/youtube_transcripts") or
path.startswith("/api/courses/") and "bulk_enable_disable_discussions" in path
):
filtered.append((path, path_regex, method, callback))
return filtered