Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions backend/api/v1/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,8 @@ class DocumentViewSet(viewsets.ModelViewSet):
queryset = Document.objects.all()
serializer_class = DocumentReadSerializerMinified
http_method_names = ("get", "post", "patch", "delete")
permissions_classes = (IsAuthenticated,)
# permissions_classes = (IsAuthenticated,)
permissions_classes = (AllowAny,)
filter_backends = (
filters.SearchFilter,
filters.OrderingFilter,
Expand All @@ -164,8 +165,12 @@ class DocumentViewSet(viewsets.ModelViewSet):

def get_queryset(self):
"""Выдаем только список документов текущего пользователя."""
#ЗАглушка
if self.request.user.is_authenticated:
return self.request.user.documents
else:
user = User.objects.get(id=1)
return Document.objects.get(owner=user)
return Document.objects.none()

def get_serializer_class(self):
Expand All @@ -182,7 +187,8 @@ def perform_create(self, serializer):
@action(
detail=False,
permission_classes=[
IsAuthenticated,
# IsAuthenticated,
AllowAny,
],
url_path=r"draft",
)
Expand All @@ -206,7 +212,7 @@ def history_documents(self, request):
"""Возвращает список законченных документов/история"""
user = self.request.user
queryset = Document.objects.filter(completed=True, owner=user)
serializer = DocumentReadSerializer(
serializer = DocumentReadSerializerMinified(
queryset, many=True, context={"request": request}
)
return Response(serializer.data, status=status.HTTP_200_OK)
Expand Down Expand Up @@ -257,17 +263,19 @@ class DocumentFieldViewSet(viewsets.ModelViewSet):

serializer_class = DocumentFieldSerializer
http_method_names = ("get",)
permissions_classes = (IsAuthenticated,)
# permissions_classes = (IsAuthenticated,)
permissions_classes = (AllowAny,)
pagination_class = None

def get_queryset(self):
document_id = self.kwargs.get("document_id")
document = get_object_or_404(Document, id=document_id)
if (
not (self.request.user.is_authenticated)
or document.owner != self.request.user
):
raise PermissionDenied()
#ЗАглушка
# if (
# not (self.request.user.is_authenticated)
# or document.owner != self.request.user
# ):
# raise PermissionDenied()
return document.document_fields.objects.all()


Expand Down Expand Up @@ -299,9 +307,7 @@ def delete(self, request, **kwargs):
)
# проверка, что такой FavTemplate существует в БД
if not queryset.exists():
raise serializers.ValidationError(
"Этот шаблон отсутствует в Избранном!"
)
return Response(status=status.HTTP_404_NOT_FOUND)
queryset.delete()
return Response(status=status.HTTP_204_NO_CONTENT)

Expand Down Expand Up @@ -334,9 +340,7 @@ def delete(self, request, **kwargs):
)
# проверка, что такой FavDocument существует в БД
if not queryset.exists():
raise serializers.ValidationError(
"Этот документ отсутствует в Избранном!"
)
return Response(status=status.HTTP_404_NOT_FOUND)
queryset.delete()
return Response(status=status.HTTP_204_NO_CONTENT)

Expand Down
7 changes: 4 additions & 3 deletions backend/request/documents.http
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
@TOKEN = Token bb4f5dbedaafd2730f35803e7087e797479d68f5
@URL = https://documents-template.site/
# @URL = https://documents-template.site/
@URL = http://127.0.0.1:8000

###
GET {{URL}}/api/documents/32/
Content-Type: application/json
Authorization: {{TOKEN}}
# Authorization: {{TOKEN}}

{
}

###
POST {{URL}}/api/documents/
Content-Type: application/json
Authorization: {{TOKEN}}
# Authorization: {{TOKEN}}

{
"description": "doc1",
Expand Down
8 changes: 4 additions & 4 deletions backend/request/users.http
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
@TOKEN = Token b5b767cb36da725f900892f627a28dc1c0e40488
@URL = https://documents-template.site
# @URL = http://127.0.0.1:8000
# @URL = https://documents-template.site
@URL = http://127.0.0.1:8000

###
POST {{URL}}/api/users/
Content-Type: application/json

{
"email": "nikox11882@mail.ru",
"email": "nikox1181182@mail.ru",
"username": "nikox1122@mail.ru",
"password": "456852Zx",
"first_name": "kewk",
Expand All @@ -19,7 +19,7 @@ POST {{URL}}/api/auth/token/login/
Content-Type: application/json

{
"email": "nikox112@mail.ru",
"email": "nikox118182@mail.ru",
"password": "456852Zx"
}

Expand Down