[ADD] user account registration endpoint for api-docs
Added alias for /user_api endpoints FIX quality violations IMPROVED urls_common for readability Removed redundant URL entry from urls_common file
This commit is contained in:
@@ -30,7 +30,7 @@ urlpatterns = [
|
||||
url(
|
||||
r'^user_api/v1/preferences/email_opt_in/$',
|
||||
user_api_views.UpdateEmailOptInPreference.as_view(),
|
||||
name="preferences_email_opt_in"
|
||||
name="preferences_email_opt_in_legacy"
|
||||
),
|
||||
url(
|
||||
r'^user_api/v1/preferences/time_zones/$',
|
||||
|
||||
@@ -61,9 +61,9 @@ from ..tests.factories import UserPreferenceFactory
|
||||
from ..tests.test_constants import SORTED_COUNTRIES
|
||||
from .test_helpers import TestCaseForm
|
||||
|
||||
USER_LIST_URI = "/user_api/v1/users/"
|
||||
USER_PREFERENCE_LIST_URI = "/user_api/v1/user_prefs/"
|
||||
ROLE_LIST_URI = "/user_api/v1/forum_roles/Moderator/users/"
|
||||
USER_LIST_URI = "/api/user/v1/users/"
|
||||
USER_PREFERENCE_LIST_URI = "/api/user/v1/user_prefs/"
|
||||
ROLE_LIST_URI = "/api/user/v1/forum_roles/Moderator/users/"
|
||||
|
||||
|
||||
class UserAPITestCase(ApiTestCase):
|
||||
@@ -514,7 +514,7 @@ class PreferenceUsersListViewTest(UserApiTestCase):
|
||||
"""
|
||||
Test cases covering the list viewing behavior for user preferences
|
||||
"""
|
||||
LIST_URI = "/user_api/v1/preferences/key0/users/"
|
||||
LIST_URI = "/api/user/v1/preferences/key0/users/"
|
||||
|
||||
def test_options(self):
|
||||
self.assertAllowedMethods(self.LIST_URI, ["OPTIONS", "GET", "HEAD"])
|
||||
@@ -676,8 +676,8 @@ class CountryTimeZoneListViewTest(UserApiTestCase):
|
||||
"""
|
||||
Test cases covering the list viewing behavior for country time zones
|
||||
"""
|
||||
ALL_TIME_ZONES_URI = "/user_api/v1/preferences/time_zones/"
|
||||
COUNTRY_TIME_ZONES_URI = "/user_api/v1/preferences/time_zones/?country_code=cA"
|
||||
ALL_TIME_ZONES_URI = "/api/user/v1/preferences/time_zones/"
|
||||
COUNTRY_TIME_ZONES_URI = "/api/user/v1/preferences/time_zones/?country_code=cA"
|
||||
|
||||
@ddt.data(ALL_TIME_ZONES_URI, COUNTRY_TIME_ZONES_URI)
|
||||
def test_options(self, country_uri):
|
||||
|
||||
@@ -4,7 +4,8 @@ Defines the URL routes for this app.
|
||||
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url
|
||||
from django.conf.urls import include, url
|
||||
from rest_framework import routers
|
||||
|
||||
from ..profile_images.views import ProfileImageView
|
||||
from .accounts.views import (
|
||||
@@ -17,6 +18,8 @@ from .accounts.views import (
|
||||
LMSAccountRetirementView,
|
||||
UsernameReplacementView
|
||||
)
|
||||
from . import views as user_api_views
|
||||
from .models import UserPreference
|
||||
from .preferences.views import PreferencesDetailView, PreferencesView
|
||||
from .verification_api.views import IDVerificationStatusView, IDVerificationStatusDetailsView
|
||||
|
||||
@@ -70,6 +73,10 @@ RETIREMENT_LMS_POST = LMSAccountRetirementView.as_view({
|
||||
'post': 'post',
|
||||
})
|
||||
|
||||
USER_API_ROUTER = routers.DefaultRouter()
|
||||
USER_API_ROUTER.register(r'users', user_api_views.UserViewSet)
|
||||
USER_API_ROUTER.register(r'user_prefs', user_api_views.UserPreferenceViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
url(
|
||||
r'^v1/me$',
|
||||
@@ -171,4 +178,31 @@ urlpatterns = [
|
||||
PreferencesDetailView.as_view(),
|
||||
name='preferences_detail_api'
|
||||
),
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(r'^v1/', include(USER_API_ROUTER.urls)),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^v1/preferences/(?P<pref_key>{})/users/$'.format(UserPreference.KEY_REGEX),
|
||||
user_api_views.PreferenceUsersListView.as_view()
|
||||
),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^v1/forum_roles/(?P<name>[a-zA-Z]+)/users/$',
|
||||
user_api_views.ForumRoleUsersListView.as_view()
|
||||
),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^v1/preferences/email_opt_in/$',
|
||||
user_api_views.UpdateEmailOptInPreference.as_view(),
|
||||
name="preferences_email_opt_in"
|
||||
),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^v1/preferences/time_zones/$',
|
||||
user_api_views.CountryTimeZoneListView.as_view(),
|
||||
),
|
||||
]
|
||||
|
||||
@@ -148,9 +148,9 @@ class CountryTimeZoneListView(generics.ListAPIView):
|
||||
|
||||
**Example Requests**
|
||||
|
||||
GET /user_api/v1/preferences/time_zones/
|
||||
GET /api/user/v1/preferences/time_zones/
|
||||
|
||||
GET /user_api/v1/preferences/time_zones/?country_code=FR
|
||||
GET /api/user/v1/preferences/time_zones/?country_code=FR
|
||||
|
||||
**Example GET Response**
|
||||
|
||||
|
||||
@@ -23,13 +23,24 @@ urlpatterns = [
|
||||
url(r'^create_account$', register.RegistrationView.as_view(), name='create_account'),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^api/user/v1/account/registration/$',
|
||||
register.RegistrationView.as_view(),
|
||||
name="user_api_registration"
|
||||
),
|
||||
# `user_api` prefix is preserved for backwards compatibility.
|
||||
url(r'^user_api/v1/account/registration/$', register.RegistrationView.as_view(),
|
||||
name="user_api_registration"),
|
||||
name="user_api_registration_legacy"),
|
||||
|
||||
# V2 is created to avoid backward compatibility issue with confirm_email
|
||||
url(
|
||||
r'^api/user/v2/account/registration/$',
|
||||
register.RegistrationView.as_view(),
|
||||
name="user_api_registration_v2"
|
||||
),
|
||||
# legacy url
|
||||
url(r'^user_api/v2/account/registration/$', register.RegistrationView.as_view(),
|
||||
name="user_api_registration_v2"),
|
||||
name="user_api_registration_v2_legacy"),
|
||||
|
||||
# Moved from user_api/urls.py
|
||||
# `api/user` prefix is preserved for backwards compatibility.
|
||||
@@ -42,9 +53,14 @@ urlpatterns = [
|
||||
url(r'^login_ajax$', login.login_user, name="login_api"),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^api/user/v1/account/login_session/$',
|
||||
login.LoginSessionView.as_view(),
|
||||
name="user_api_login_session"
|
||||
),
|
||||
# `user_api` prefix is preserved for backwards compatibility.
|
||||
url(r'^user_api/v1/account/login_session/$', login.LoginSessionView.as_view(),
|
||||
name="user_api_login_session"),
|
||||
name="user_api_login_session_legacy"),
|
||||
|
||||
# Login Refresh of JWT Cookies
|
||||
url(r'^login_refresh$', login.login_refresh, name="login_refresh"),
|
||||
@@ -52,8 +68,14 @@ urlpatterns = [
|
||||
url(r'^logout$', logout.LogoutView.as_view(), name='logout'),
|
||||
|
||||
# Moved from user_api/legacy_urls.py
|
||||
url(
|
||||
r'^api/user/v1/account/password_reset/$',
|
||||
password_reset.PasswordResetView.as_view(),
|
||||
name="user_api_password_reset"
|
||||
),
|
||||
# legacy url
|
||||
url(r'^user_api/v1/account/password_reset/$', password_reset.PasswordResetView.as_view(),
|
||||
name="user_api_password_reset"),
|
||||
name="user_api_password_reset_legacy"),
|
||||
|
||||
# Password reset api views.
|
||||
url(r'^password_reset/$', password_reset.password_reset, name='password_reset'),
|
||||
@@ -65,8 +87,14 @@ urlpatterns = [
|
||||
url(r'^account/password$', password_reset.password_change_request_handler, name='password_change_request'),
|
||||
|
||||
# logistration MFE flow
|
||||
url(
|
||||
r'^api/user/v1/account/password_reset/token/validate/$',
|
||||
password_reset.PasswordResetTokenValidation.as_view(),
|
||||
name="user_api_password_reset_token_validate"
|
||||
),
|
||||
# legacy url
|
||||
url(r'^user_api/v1/account/password_reset/token/validate/$', password_reset.PasswordResetTokenValidation.as_view(),
|
||||
name="user_api_password_reset_token_validate"),
|
||||
name="user_api_password_reset_token_validate_legacy"),
|
||||
|
||||
# logistration MFE reset flow
|
||||
url(
|
||||
|
||||
@@ -581,7 +581,7 @@ class LoginSessionView(APIView):
|
||||
|
||||
Example Usage:
|
||||
|
||||
POST /user_api/v1/login_session
|
||||
POST /api/user/v1/login_session
|
||||
with POST params `email`, `password`.
|
||||
|
||||
200 {'success': true}
|
||||
|
||||
Reference in New Issue
Block a user