Commit faf9ac35 by Matt Drayer Committed by Zia Fazal

api-v1: Initial API implementation & group relationships

Includes:
* Initial API implementation
* API_KEY header fix
* Fixed indentation error
* move api from common to lms
* Course-Group Relationships
* wip
* add parsing of overview content blob
* initial implementation
* get course updates API method
* get course static tabs API methods
* add unit tests
* fix some merge conflicts and remove some extra print statements picked up in rebase
* better constrain some of the course url regexs to expect a triple for courseId
* add ability to enroll users into courses
* wip
* add queryable group lists
* add a GET endpoint to /api/groups/{groupid}/courses to get the list of courses associated with the group (program)
* return the display names when listing all courses in a group (program)
* create optimized course tree query API endpoint
* make sure group profile data is properly serialized and deserialized. There appears to be a difference between how the Django test client handles things. Disabling unit test for now to unblock UI devs
* null guard
* fix broken unit test
* add GET endpoint to group/user relationships
* Added Security to session api as requested in #785
* Storing passoword history of user and validation for user's email and username
* Moved security tests to lms also
* add two FEATURE flag overrides to enable the security features
* remove unnecessary settings overrides (because they are 'feature flags')
* Adding ratelimiting on login api
* Migrated from Function-Based Views to Class-Based-Views
* Create new Account/Login Audit Log
* The API should provide for an audit log when a user creates a new account or logs into the system.
* UserList.post() now creates UserProfile, UserPreference records
* Group Profile fix
* Filter group subgroups by group type
* Application reorganization
* Name is now required during group creation
* Added null check for profile name
* User must reset password functionality added
* User must reset password dunctionality added
* Added user password reset functionality
* Add password reset api and implemented Password history
* Remove unused imports, password reset message text
parent 879d03c4
...@@ -1722,7 +1722,6 @@ if FEATURES.get('ENABLE_CORS_HEADERS'): ...@@ -1722,7 +1722,6 @@ if FEATURES.get('ENABLE_CORS_HEADERS'):
CORS_ORIGIN_REGEX_WHITELIST = ('^http?://(\w+\.)?devstack\.local$',) CORS_ORIGIN_REGEX_WHITELIST = ('^http?://(\w+\.)?devstack\.local$',)
###################### Registration ################################## ###################### Registration ##################################
# For each of the fields, give one of the following values: # For each of the fields, give one of the following values:
......
...@@ -104,6 +104,11 @@ CC_PROCESSOR = { ...@@ -104,6 +104,11 @@ CC_PROCESSOR = {
} }
} }
########################### EDX API #################################
FEATURES['API'] = True
########################### External REST APIs ################################# ########################### External REST APIs #################################
FEATURES['ENABLE_MOBILE_REST_API'] = True FEATURES['ENABLE_MOBILE_REST_API'] = True
FEATURES['ENABLE_VIDEO_ABSTRACTION_LAYER_API'] = True FEATURES['ENABLE_VIDEO_ABSTRACTION_LAYER_API'] = True
......
...@@ -70,6 +70,9 @@ FEATURES['ALLOW_COURSE_STAFF_GRADE_DOWNLOADS'] = True ...@@ -70,6 +70,9 @@ FEATURES['ALLOW_COURSE_STAFF_GRADE_DOWNLOADS'] = True
# Toggles embargo on for testing # Toggles embargo on for testing
FEATURES['EMBARGO'] = True FEATURES['EMBARGO'] = True
# Toggles API on for testing
FEATURES['API'] = True
FEATURES['ENABLE_COMBINED_LOGIN_REGISTRATION'] = True FEATURES['ENABLE_COMBINED_LOGIN_REGISTRATION'] = True
# Toggles API on for testing # Toggles API on for testing
......
...@@ -79,6 +79,12 @@ urlpatterns = ('', # nopep8 ...@@ -79,6 +79,12 @@ urlpatterns = ('', # nopep8
) )
# OPEN EDX API
if settings.FEATURES["API"]:
urlpatterns += (
url(r'^api/*', include('api_manager.urls')),
)
if settings.FEATURES["ENABLE_MOBILE_REST_API"]: if settings.FEATURES["ENABLE_MOBILE_REST_API"]:
urlpatterns += ( urlpatterns += (
url(r'^api/mobile/v0.5/', include('mobile_api.urls')), url(r'^api/mobile/v0.5/', include('mobile_api.urls')),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment