Move discussion_api to discussion/rest_api

This commit is contained in:
Nimisha Asthagiri
2019-04-29 00:50:23 -04:00
parent 2839851bde
commit 3d1bb23809
26 changed files with 35 additions and 39 deletions

1
.github/CODEOWNERS vendored
View File

@@ -22,7 +22,6 @@ common/lib/xmodule/xmodule/capa_module.py @edx/platform-core-extensions
common/lib/xmodule/xmodule/html_module.py @edx/platform-core-extensions
common/lib/xmodule/xmodule/video_module @edx/platform-core-extensions
lms/djangoapps/discussion/ @edx/platform-core-extensions
lms/djangoapps/discussion_api/ @edx/platform-core-extensions
lms/djangoapps/edxnotes @edx/platform-core-extensions
lms/djangoapps/notifier_api/ @edx/platform-core-extensions

View File

@@ -10,7 +10,6 @@ Discussions related functionality is scattered across a number of places and sho
* ``common/djangoapps/django_comment_common``
* ``lms/djangoapps/discussion``
* ``lms/djangoapps/discussion_api``
* ``lms/djangoapps/django_comment_client``
* ``lms/djangoapps/notification_prefs``
* ``lms/djangoapps/notifier_api``

View File

@@ -12,7 +12,7 @@ from openedx.core.djangoapps.plugins.constants import ProjectType, SettingsType,
class DiscussionConfig(AppConfig):
"""
Application Configuration for Grades.
Application Configuration for Discussion.
"""
name = u'lms.djangoapps.discussion'

View File

@@ -15,15 +15,15 @@ from opaque_keys.edx.locator import CourseKey
from rest_framework.exceptions import PermissionDenied
from courseware.courses import get_course_with_access
from discussion_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
from discussion_api.forms import CommentActionsForm, ThreadActionsForm
from discussion_api.permissions import (
from lms.djangoapps.discussion.rest_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
from lms.djangoapps.discussion.rest_api.forms import CommentActionsForm, ThreadActionsForm
from lms.djangoapps.discussion.rest_api.permissions import (
can_delete,
get_editable_fields,
get_initializable_comment_fields,
get_initializable_thread_fields
)
from discussion_api.serializers import CommentSerializer, DiscussionTopicSerializer, ThreadSerializer, get_context
from lms.djangoapps.discussion.rest_api.serializers import CommentSerializer, DiscussionTopicSerializer, ThreadSerializer, get_context
from django_comment_client.base.views import track_comment_created_event, track_thread_created_event, track_voted_event
from django_comment_client.utils import get_accessible_discussion_xblocks, get_group_id_for_user, is_commentable_divided
from django_comment_common.comment_client.comment import Comment
@@ -41,7 +41,7 @@ from django_comment_common.signals import (
)
from django_comment_common.utils import get_course_discussion_settings
from lms.djangoapps.courseware.exceptions import CourseAccessRedirect
from lms.djangoapps.discussion_api.pagination import DiscussionAPIPagination
from lms.djangoapps.discussion.rest_api.pagination import DiscussionAPIPagination
from openedx.core.djangoapps.user_api.accounts.views import AccountViewSet
from openedx.core.lib.exceptions import CourseNotFoundError, DiscussionNotFoundError, PageNotFoundError
@@ -175,7 +175,7 @@ def get_course(request, course_key):
Returns:
The course information; see discussion_api.views.CourseView for more
The course information; see discussion.rest_api.views.CourseView for more
detail.
Raises:
@@ -305,7 +305,7 @@ def get_course_topics(request, course_key, topic_ids=None):
Returns:
A course topic listing dictionary; see discussion_api.views.CourseTopicViews
A course topic listing dictionary; see discussion.rest_api.views.CourseTopicViews
for more detail.
Raises:
@@ -510,7 +510,7 @@ def get_thread_list(
Returns:
A paginated result containing a list of threads; see
discussion_api.views.ThreadViewSet for more detail.
discussion.rest_api.views.ThreadViewSet for more detail.
Raises:
@@ -612,7 +612,7 @@ def get_comment_list(request, thread_id, endorsed, page, page_size, requested_fi
Returns:
A paginated result containing a list of comments; see
discussion_api.views.CommentViewSet for more detail.
discussion.rest_api.views.CommentViewSet for more detail.
"""
response_skip = page_size * (page - 1)
cc_thread, context = _get_thread_and_context(
@@ -809,7 +809,7 @@ def create_thread(request, thread_data):
Returns:
The created thread; see discussion_api.views.ThreadViewSet for more
The created thread; see discussion.rest_api.views.ThreadViewSet for more
detail.
"""
course_id = thread_data.get("course_id")
@@ -859,7 +859,7 @@ def create_comment(request, comment_data):
Returns:
The created comment; see discussion_api.views.CommentViewSet for more
The created comment; see discussion.rest_api.views.CommentViewSet for more
detail.
"""
thread_id = comment_data.get("thread_id")
@@ -902,7 +902,7 @@ def update_thread(request, thread_id, update_data):
Returns:
The updated thread; see discussion_api.views.ThreadViewSet for more
The updated thread; see discussion.rest_api.views.ThreadViewSet for more
detail.
"""
cc_thread, context = _get_thread_and_context(request, thread_id, retrieve_kwargs={"with_responses": True})
@@ -941,7 +941,7 @@ def update_comment(request, comment_id, update_data):
Returns:
The updated comment; see discussion_api.views.CommentViewSet for more
The updated comment; see discussion.rest_api.views.CommentViewSet for more
detail.
Raises:

View File

@@ -10,8 +10,8 @@ from django.urls import reverse
from rest_framework import serializers
from discussion.views import get_divided_discussions
from discussion_api.permissions import NON_UPDATABLE_COMMENT_FIELDS, NON_UPDATABLE_THREAD_FIELDS, get_editable_fields
from discussion_api.render import render_body
from lms.djangoapps.discussion.rest_api.permissions import NON_UPDATABLE_COMMENT_FIELDS, NON_UPDATABLE_THREAD_FIELDS, get_editable_fields
from lms.djangoapps.discussion.rest_api.render import render_body
from django_comment_client.utils import is_comment_too_deep, get_group_id_for_user, get_group_name
from django_comment_common.models import (
FORUM_ROLE_ADMINISTRATOR,

View File

@@ -17,8 +17,8 @@ from rest_framework.exceptions import PermissionDenied
from common.test.utils import MockSignalHandlerMixin, disable_signal
from courseware.tests.factories import BetaTesterFactory, StaffFactory
from discussion_api import api
from discussion_api.api import (
from lms.djangoapps.discussion.rest_api import api
from lms.djangoapps.discussion.rest_api.api import (
create_comment,
create_thread,
delete_comment,
@@ -31,8 +31,8 @@ from discussion_api.api import (
update_comment,
update_thread
)
from discussion_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
from discussion_api.tests.utils import (
from lms.djangoapps.discussion.rest_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
from lms.djangoapps.discussion.rest_api.tests.utils import (
CommentsServiceMockMixin,
make_minimal_cs_comment,
make_minimal_cs_thread,

View File

@@ -9,7 +9,7 @@ import ddt
from django.http import QueryDict
from opaque_keys.edx.locator import CourseLocator
from discussion_api.forms import CommentListGetForm, ThreadListGetForm
from lms.djangoapps.discussion.rest_api.forms import CommentListGetForm, ThreadListGetForm
from openedx.core.djangoapps.util.test_forms import FormTestMixin

View File

@@ -5,8 +5,8 @@ from unittest import TestCase
from django.test import RequestFactory
from discussion_api.pagination import DiscussionAPIPagination
from discussion_api.tests.utils import make_paginated_api_response
from lms.djangoapps.discussion.rest_api.pagination import DiscussionAPIPagination
from lms.djangoapps.discussion.rest_api.tests.utils import make_paginated_api_response
class PaginationSerializerTest(TestCase):

View File

@@ -5,7 +5,7 @@ import itertools
import ddt
from discussion_api.permissions import (
from lms.djangoapps.discussion.rest_api.permissions import (
can_delete,
get_editable_fields,
get_initializable_comment_fields,

View File

@@ -5,7 +5,7 @@ from unittest import TestCase
import ddt
from discussion_api.render import render_body
from lms.djangoapps.discussion.rest_api.render import render_body
def _add_p_tags(raw_body):

View File

@@ -9,8 +9,8 @@ import httpretty
import mock
from django.test.client import RequestFactory
from discussion_api.serializers import CommentSerializer, ThreadSerializer, get_context
from discussion_api.tests.utils import CommentsServiceMockMixin, make_minimal_cs_comment, make_minimal_cs_thread
from lms.djangoapps.discussion.rest_api.serializers import CommentSerializer, ThreadSerializer, get_context
from lms.djangoapps.discussion.rest_api.tests.utils import CommentsServiceMockMixin, make_minimal_cs_comment, make_minimal_cs_thread
from django_comment_client.tests.utils import ForumsEnableMixin
from django_comment_common.comment_client.comment import Comment
from django_comment_common.comment_client.thread import Thread

View File

@@ -21,8 +21,8 @@ from six import text_type
from common.test.utils import disable_signal
from course_modes.models import CourseMode
from course_modes.tests.factories import CourseModeFactory
from discussion_api import api
from discussion_api.tests.utils import (
from lms.djangoapps.discussion.rest_api import api
from lms.djangoapps.discussion.rest_api.tests.utils import (
CommentsServiceMockMixin,
ProfileImageTestMixin,
make_minimal_cs_comment,

View File

@@ -5,7 +5,7 @@ from django.conf import settings
from django.conf.urls import include, url
from rest_framework.routers import SimpleRouter
from discussion_api.views import (
from lms.djangoapps.discussion.rest_api.views import (
CommentViewSet,
CourseDiscussionSettingsAPIView,
CourseDiscussionRolesAPIView,

View File

@@ -24,7 +24,7 @@ from django_comment_common.utils import get_course_discussion_settings, set_cour
from instructor.access import update_forum_role
from discussion.views import get_divided_discussions
from discussion_api.api import (
from lms.djangoapps.discussion.rest_api.api import (
create_comment,
create_thread,
delete_comment,
@@ -38,13 +38,13 @@ from discussion_api.api import (
update_comment,
update_thread
)
from discussion_api.forms import (
from lms.djangoapps.discussion.rest_api.forms import (
CommentGetForm,
CommentListGetForm,
CourseDiscussionSettingsForm,
ThreadListGetForm,
CourseDiscussionRolesForm)
from discussion_api.serializers import (
from lms.djangoapps.discussion.rest_api.serializers import (
DiscussionRolesSerializer,
DiscussionRolesListSerializer,
DiscussionSettingsSerializer,

View File

@@ -1 +0,0 @@
See ``lms/djangoapps/discussion/README.rst``

View File

@@ -82,7 +82,7 @@ def comment_endorsed_handler(sender, **kwargs): # pylint: disable=unused-argume
def handle_activity(user, post, original_author_id=None):
"""
Handle user activity from django_comment_client and discussion_api
Handle user activity from django_comment_client and discussion.rest_api
and update the user's last activity date. Checks if the user who
performed the action is the original author, and that the
discussion has the team context.

View File

@@ -2125,7 +2125,6 @@ INSTALLED_APPS = [
# Discussion forums
'django_comment_client',
'django_comment_common',
'discussion_api',
# Notes
'notes',

View File

@@ -704,7 +704,7 @@ if settings.FEATURES.get('ENABLE_DISCUSSION_SERVICE'):
urlpatterns += [
url(
r'^api/discussion/',
include('discussion_api.urls')
include('discussion.rest_api.urls')
),
url(
r'^courses/{}/discussion/'.format(