Showing
2 changed files
with
11 additions
and
1 deletions
... | @@ -221,6 +221,16 @@ class ItemViewSet(viewsets.ViewSet): | ... | @@ -221,6 +221,16 @@ class ItemViewSet(viewsets.ViewSet): |
221 | return Response({'message': 'restore complete'}, status=status.HTTP_200_OK) | 221 | return Response({'message': 'restore complete'}, status=status.HTTP_200_OK) |
222 | return Response({'message': 'item is not existed.'}, status=status.HTTP_204_NO_CONTENT) | 222 | return Response({'message': 'item is not existed.'}, status=status.HTTP_204_NO_CONTENT) |
223 | 223 | ||
224 | + @action(methods=['DELETE'], detail=True, permission_classes=[AllowAny], url_path='delete', url_name='delete') | ||
225 | + def delete(self, request, pk): | ||
226 | + if request.method == 'DELETE': | ||
227 | + item = get_object_or_None(Item, item_id=pk) | ||
228 | + if item != None: | ||
229 | + if item.is_folder == True: # 폴더는 삭제 안되도록 처리 | ||
230 | + return Response({'message': 'This item is folder.'}, status=status.HTTP_200_OK) | ||
231 | + item.delete() | ||
232 | + return Response({'message': 'delete permanently complete'}, status=status.HTTP_200_OK) | ||
233 | + return Response({'message': 'item is not existed.'}, status=status.HTTP_204_NO_CONTENT) | ||
224 | 234 | ||
225 | # url: items/11/move | 235 | # url: items/11/move |
226 | # 마지막 slash도 써주어야함 | 236 | # 마지막 slash도 써주어야함 | ... | ... |
... | @@ -30,7 +30,7 @@ urlpatterns = [ | ... | @@ -30,7 +30,7 @@ urlpatterns = [ |
30 | path('admin/', admin.site.urls), | 30 | path('admin/', admin.site.urls), |
31 | path('', include(router.urls)), | 31 | path('', include(router.urls)), |
32 | url(r'^search/$', views.ItemViewSet.search, name='search'), | 32 | url(r'^search/$', views.ItemViewSet.search, name='search'), |
33 | - # url(r'^<int:pk>/delete/$', views.ItemViewSet.delete, name='delete'), | 33 | + url(r'^<int:pk>/delete/$', views.ItemViewSet.delete, name='delete'), |
34 | url(r'^<int:pk>/restore/$', views.ItemViewSet.restore, name='restore'), | 34 | url(r'^<int:pk>/restore/$', views.ItemViewSet.restore, name='restore'), |
35 | url(r'^<int:pk>/share/$', views.SharedItemViewSet.share, name='share'), | 35 | url(r'^<int:pk>/share/$', views.SharedItemViewSet.share, name='share'), |
36 | url(r'^<int:pk>/move/$', views.ItemViewSet.move, name='move'), | 36 | url(r'^<int:pk>/move/$', views.ItemViewSet.move, name='move'), | ... | ... |
-
Please register or login to post a comment