Skip to content

Commit b3ec076

Browse files
Implement ImageDetailView
1 parent cae52de commit b3ec076

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

images/urls.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
from django.urls import re_path
44

5-
from .views import ImageDeleteView, ImageNotesUpdateView, ListImagesView
5+
from .views import ImageDeleteView, ImageDetailView, ImageNotesUpdateView, ListImagesView
66

77

88
urlpatterns = [ # pylint: disable=invalid-name
99
re_path('all/?$', ListImagesView.as_view(), name='images-all'),
1010
re_path('delete/', ImageDeleteView.as_view(), name='image-delete'),
1111
re_path('update_notes/$', ImageNotesUpdateView.as_view(), name='image-notes-update'),
12+
re_path('image_detail/(?P<image_id>[0-9a-f-]+)/$', ImageDetailView.as_view(), name='image-detail'),
1213
]

images/views.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from .models import Image
1111
from .serializers import (
1212
ImageDeleteSerializer,
13+
ImageDetailSerializer,
1314
ImageNotesUpdateSerializer,
1415
ImageSerializer,
1516
)
@@ -55,6 +56,18 @@ def delete(self, request, *args, **kwargs):
5556
return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
5657

5758

59+
class ImageDetailView(generics.RetrieveAPIView):
60+
"""Returns the image which belong to the authenticated user. """
61+
62+
serializer_class = ImageDetailSerializer
63+
permission_classes = (permissions.IsAuthenticated, )
64+
lookup_field = 'image_id'
65+
66+
def get_queryset(self):
67+
user = self.request.user
68+
return Image.objects.filter(user=user)
69+
70+
5871
class ImageNotesUpdateView(generics.UpdateAPIView):
5972
"""Update image notes. """
6073

0 commit comments

Comments
 (0)