권주희

implement delete permanently api

...@@ -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'),
......