from rest_framework.renderers import JSONRenderer from rest_framework.response import Response from rest_framework.views import APIView from storage.api import add_comment from storage.models import File, Comment from storage.serializers import FileSerializer, CommentSerializer class FileView(APIView): renderer_classes = (JSONRenderer,) @staticmethod def get(request): tokens = request.GET.getlist('tokens', None) if not tokens: return Response("Attribute tokens not set", status=400) file_list = [] for token in tokens: try: file_list.append(FileSerializer(File.objects.get(token=token)).data) except File.DoesNotExist: file_list.append({'upload': 'error'}) return Response(file_list, status=200) class CommentView(APIView): renderer_classes = (JSONRenderer,) @staticmethod def post(request): text = request.JSON.get('text', None) user_key = request.JSON.get('user_token', None) files = request.JSON.get('files', []) if user_key: print(user_key) comment = add_comment(text=text, out_key=user_key, files=files) print(comment) return Response(CommentSerializer(comment).data, status=200) return Response("user_token mast be set", status=400) @staticmethod def get(request): tokens = request.GET.getlist('tokens', None) if not tokens: return Response("Attribute tokens not set", status=400) comment_list = [] for token in tokens: try: comment_list.append(CommentSerializer(Comment.objects.get(token=token)).data) except Comment.DoesNotExist: comment_list.append({'upload': 'error'}) return Response(comment_list, status=200)