fix: added pagination data

This commit is contained in:
adeel.tajamul
2022-06-15 08:24:12 +05:00
parent 19a23c7f35
commit 18cec24f15
2 changed files with 18 additions and 2 deletions

View File

@@ -1475,7 +1475,14 @@ class LearnerThreadViewAPITest(DiscussionAPIViewTestMixin, ModuleStoreTestCase):
for thread in expected_api_response:
for key in ['group_id', 'abuse_flagged_count', 'closed_by', 'close_reason_code']:
thread.pop(key)
assert response_data == expected_api_response
assert response_data["results"] == expected_api_response
assert response_data["pagination"] == {
"num_pages": 1,
"page": 1,
"count": 1,
"next": None,
"previous": None,
}
def test_no_user_id_given(self):
response = self.client.get(self.url)

View File

@@ -620,7 +620,16 @@ class LearnerThreadView(APIView):
is_staff = has_permission(request.user, 'openclose_thread', course_key)
is_community_ta = is_user_community_ta(request.user, course_key)
threads = [prepare_content(thread, course_key, is_staff, is_community_ta) for thread in threads]
return Response(threads)
return Response({
"results": threads,
"pagination": {
"num_pages": num_pages,
"page": page,
"count": len(threads),
"next": page + 1 if page < num_pages else None,
"previous": None if page <= 1 else page - 1,
}
})
@view_auth_classes()