adds views for user endpoints still WIP

This commit is contained in:
Emanuel Rodriguez 2022-08-09 20:39:16 -07:00
parent ec0a86bd6e
commit efa1329432
4 changed files with 45 additions and 11 deletions

View File

@ -27,5 +27,5 @@ class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ["id", "username", "snippet"]
fields = ["id", "username", "snippets"]

View File

@ -3,5 +3,7 @@ from snippets import views
urlpatterns = [
path("snippets/", views.SnippetList.as_view()),
path("snippets/<int:pk>/", views.SnippetDetail.as_view())
path("snippets/<int:pk>/", views.SnippetDetail.as_view()),
path("user/", views.UserList.as_view()),
path("user/<int:pk>", views.UserDetail.as_view())
]

View File

@ -2,10 +2,13 @@ from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.permissions import IsAuthenticatedOrReadOnly
from django.http import Http404
from django.contrib.auth.models import User
from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from snippets.serializers import SnippetSerializer, UserSerializer
# @api_view(["GET", "POST"])
# def snippet_list(request):
@ -90,3 +93,27 @@ class SnippetDetail(APIView):
return Response(status=status.HTTP_204_NO_CONTENT)
class UserList(APIView):
permission_classes = [IsAuthenticatedOrReadOnly]
def get(self, request, format=None):
user = User.objects.all()
serializer = UserSerializer(user, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
class UserDetail(APIView):
permission_classes = [IsAuthenticatedOrReadOnly]
def get_user(self, pk):
try:
return User.objects.get(pk=pk)
except User.DoesNotExist:
raise Http404
def get(self, request, pk, format=None):
user = self.get_user(pk=pk)
serializer = UserSerializer(user)
return Response(serializer.data)

View File

@ -3,6 +3,10 @@
{
"selected_items":
[
[
"hight",
"highlighted"
],
[
"JSON",
"JSONParser"
@ -81,6 +85,7 @@
},
"file_history":
[
"/C/Users/eeman/learning/django-rest-tutorial/.venv/Lib/site-packages/django/contrib/auth/migrations/0005_alter_user_last_login_null.py",
"/C/Users/eeman/learning/django-rest-tutorial/snippets/models.py",
"/C/Users/eeman/learning/django-rest-tutorial/snippets/serializers.py",
"/C/Users/eeman/learning/django-rest-tutorial/.gitignore",
@ -146,20 +151,20 @@
"selected_items":
[
[
"views",
"snippets\\views.py"
],
[
"urls",
"tutorial\\urls.py"
"seria",
"snippets\\serializers.py"
],
[
"model",
"snippets\\models.py"
],
[
"seria",
"snippets\\serializers.py"
"urls",
"snippets\\urls.py"
],
[
"views",
"snippets\\views.py"
],
[
"gitig",