Skip to content

Commit

Permalink
feat: Add an api-docs page that lives at [LMS_ROOT_URL]/enterprise/ap…
Browse files Browse the repository at this point in the history
…i-docs/

Also installs edx-api-doc-tools and its dependencies into our test requirements files.
  • Loading branch information
iloveagent57 committed Nov 9, 2023
1 parent e79fce1 commit 40e01dc
Show file tree
Hide file tree
Showing 11 changed files with 258 additions and 52 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ Change Log
Unreleased
----------
Nothing unreleased.

[4.7.0]
--------
feat: Add an ``api-docs`` page that lives at ``[LMS_ROOT_URL]/enterprise/api-docs/``

[4.6.12]
--------
feat: unlink degreed2 inactive user
Expand Down
2 changes: 1 addition & 1 deletion enterprise/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Your project description goes here.
"""

__version__ = "4.6.12"
__version__ = "4.7.0"
29 changes: 23 additions & 6 deletions enterprise/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
URLs for enterprise.
"""

from edx_api_doc_tools import make_api_info, make_docs_urls

from django.conf import settings
from django.urls import include, re_path
from django.urls import include, path, re_path

from enterprise.constants import COURSE_KEY_URL_PATTERN
from enterprise.heartbeat.views import heartbeat
Expand All @@ -17,6 +19,12 @@

ENTERPRISE_ROUTER = RouterView.as_view()

enterprise_rest_api_urls = re_path(
r'^enterprise/api/',
include('enterprise.api.urls'),
name='enterprise_api'
)

urlpatterns = [
re_path(r'^enterprise/grant_data_sharing_permissions', GrantDataSharingPermissions.as_view(),
name='grant_data_sharing_permissions'
Expand Down Expand Up @@ -52,15 +60,11 @@
ENTERPRISE_ROUTER,
name='enterprise_program_enrollment_page'
),
re_path(
r'^enterprise/api/',
include('enterprise.api.urls'),
name='enterprise_api'
),
re_path(
r'^enterprise/heartbeat/', heartbeat,
name='enterprise_heartbeat',
),
enterprise_rest_api_urls,
]

# Because ROOT_URLCONF points here, we are including the urls from the other apps here for now.
Expand Down Expand Up @@ -95,3 +99,16 @@
include('integrated_channels.api.urls')
),
]

api_docs_urlpatterns = make_docs_urls(
make_api_info(
title='Enterprise API',
version='v1',
description='Docs for the edx-enterprise `/enterprise/api/v1` REST API.',
),
api_url_patterns=[enterprise_rest_api_urls],
)

urlpatterns.append(
path('enterprise/', include(api_docs_urlpatterns)),
)
8 changes: 4 additions & 4 deletions requirements/celery53.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
amqp==5.1.1
billiard==4.1.0
amqp==5.2.0
billiard==4.2.0
celery==5.3.4
click==8.1.7
click-didyoumean==0.3.0
click-repl==0.3.0
kombu==5.3.2
kombu==5.3.3
prompt-toolkit==3.0.39
vine==5.0.0
vine==5.1.0
77 changes: 68 additions & 9 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ alabaster==0.7.13
# via
# -r requirements/doc.txt
# sphinx
amqp==5.1.1
amqp==5.2.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -77,14 +77,13 @@ backports-zoneinfo[tzdata]==0.2.1
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# backports-zoneinfo
# celery
# kombu
beautifulsoup4==4.12.2
# via
# -r requirements/doc.txt
# pydata-sphinx-theme
billiard==4.1.0
billiard==4.2.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -171,10 +170,22 @@ code-annotations==1.5.0
# -r requirements/test.txt
# edx-lint
# edx-toggles
coreapi==2.3.3
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# drf-yasg
coreschema==0.0.4
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# coreapi
# drf-yasg
coverage[toml]==7.3.2
# via
# -r requirements/test.txt
# coverage
# pytest-cov
cryptography==38.0.4
# via
Expand Down Expand Up @@ -223,6 +234,8 @@ django==3.2.22
# django-waffle
# djangorestframework
# drf-jwt
# drf-yasg
# edx-api-doc-tools
# edx-django-utils
# edx-drf-extensions
# edx-i18n-tools
Expand Down Expand Up @@ -309,6 +322,8 @@ djangorestframework==3.14.0
# -r requirements/test.txt
# django-config-models
# drf-jwt
# drf-yasg
# edx-api-doc-tools
# edx-drf-extensions
djangorestframework-xml==2.0.0
# via
Expand All @@ -331,6 +346,17 @@ drf-jwt==1.19.2
# -r requirements/test-master.txt
# -r requirements/test.txt
# edx-drf-extensions
drf-yasg==1.21.5
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# edx-api-doc-tools
edx-api-doc-tools==1.7.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
edx-braze-client==0.1.8
# via
# -r requirements/doc.txt
Expand Down Expand Up @@ -361,7 +387,6 @@ edx-opaque-keys[django]==2.5.1
# -r requirements/test-master.txt
# -r requirements/test.txt
# edx-drf-extensions
# edx-opaque-keys
edx-rbac==1.8.0
# via
# -r requirements/doc.txt
Expand All @@ -387,7 +412,7 @@ factory-boy==3.3.0
# -c requirements/constraints.txt
# -r requirements/doc.txt
# -r requirements/test.txt
faker==19.12.1
faker==19.13.0
# via
# -r requirements/doc.txt
# -r requirements/test.txt
Expand Down Expand Up @@ -428,6 +453,12 @@ importlib-metadata==6.8.0
# -r requirements/doc.txt
# build
# sphinx
inflection==0.5.1
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# drf-yasg
iniconfig==2.0.0
# via
# -r requirements/doc.txt
Expand All @@ -437,12 +468,19 @@ isort==5.12.0
# via
# -r requirements/dev.in
# pylint
itypes==1.2.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# coreapi
jinja2==3.1.2
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# code-annotations
# coreschema
# diff-cover
# sphinx
jsondiff==2.0.0
Expand All @@ -461,7 +499,7 @@ jwcrypto==1.5.0
# -r requirements/test-master.txt
# -r requirements/test.txt
# django-oauth-toolkit
kombu==5.3.2
kombu==5.3.3
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down Expand Up @@ -521,6 +559,7 @@ packaging==23.2
# -r requirements/test-master.txt
# -r requirements/test.txt
# build
# drf-yasg
# pydata-sphinx-theme
# pytest
# snowflake-connector-python
Expand Down Expand Up @@ -637,7 +676,6 @@ pyjwt[crypto]==2.8.0
# drf-jwt
# edx-drf-extensions
# edx-rest-api-client
# pyjwt
# snowflake-connector-python
pylint==3.0.2
# via
Expand Down Expand Up @@ -706,6 +744,7 @@ pytz==2022.7.1
# babel
# django
# djangorestframework
# drf-yasg
# edx-tincan-py35
# snowflake-connector-python
pyyaml==6.0.1
Expand All @@ -722,6 +761,7 @@ requests==2.31.0
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# coreapi
# django-oauth-toolkit
# edx-drf-extensions
# edx-rest-api-client
Expand All @@ -742,6 +782,18 @@ restructuredtext-lint==1.4.0
# via
# -r requirements/doc.txt
# doc8
ruamel-yaml==0.17.35
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# drf-yasg
ruamel-yaml-clib==0.2.8
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# ruamel-yaml
rules==3.3
# via
# -r requirements/doc.txt
Expand Down Expand Up @@ -913,14 +965,21 @@ unicodecsv==0.14.1
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
uritemplate==4.1.1
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# coreapi
# drf-yasg
urllib3==1.26.17
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
# -r requirements/test.txt
# requests
# snowflake-connector-python
vine==5.0.0
vine==5.1.0
# via
# -r requirements/doc.txt
# -r requirements/test-master.txt
Expand Down
Loading

0 comments on commit 40e01dc

Please sign in to comment.