Browse Source

Add TagDetail API

pull/1349/head
Hironsan 4 years ago
parent
commit
8b98c91934
3 changed files with 14 additions and 8 deletions
  1. 5
      backend/api/urls.py
  2. 13
      backend/api/views/tag.py
  3. 4
      frontend/repositories/tag/apiTagRepository.ts

5
backend/api/urls.py

@ -72,6 +72,11 @@ urlpatterns_project = [
view=views.TagList.as_view(),
name='tag_list'
),
path(
route='tags/<int:tag_id>',
view=views.TagDetail.as_view(),
name='tag_detail'
),
path(
route='docs/<int:doc_id>/comments',
view=views.CommentListDoc.as_view(),

13
backend/api/views/tag.py

@ -1,7 +1,6 @@
from django.shortcuts import get_object_or_404
from rest_framework import generics, status
from rest_framework import generics
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from ..models import Project, Tag
from ..permissions import IsInProjectReadOnlyOrAdmin
@ -21,7 +20,9 @@ class TagList(generics.ListCreateAPIView):
project = get_object_or_404(Project, pk=self.kwargs['project_id'])
serializer.save(project=project)
def delete(self, request, *args, **kwargs):
delete_id = request.data['id']
Tag.objects.get(id=delete_id).delete()
return Response(status=status.HTTP_204_NO_CONTENT)
class TagDetail(generics.DestroyAPIView):
queryset = Tag.objects.all()
serializer_class = TagSerializer
lookup_url_kwarg = 'tag_id'
permission_classes = [IsAuthenticated & IsInProjectReadOnlyOrAdmin]

4
frontend/repositories/tag/apiTagRepository.ts

@ -28,7 +28,7 @@ export class APITagRepository implements TagRepository {
}
async delete(projectId: string, tagId: number): Promise<void> {
const url = `/projects/${projectId}/tags`
await this.request.delete(url, { id: tagId })
const url = `/projects/${projectId}/tags/${tagId}`
await this.request.delete(url)
}
}
Loading…
Cancel
Save