From d14c47f18a7292a465dd89c25b097fafb36b2d8b Mon Sep 17 00:00:00 2001 From: Marsel Narbekov Date: Wed, 17 Jul 2024 12:12:30 +0300 Subject: [PATCH] PRO-350: full file info Now endpoin projects/{id}/responses/ returns full file info. --- projects/views.py | 4 ++-- vacancy/serializers.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/views.py b/projects/views.py index 530252d9..c67b796c 100644 --- a/projects/views.py +++ b/projects/views.py @@ -43,7 +43,7 @@ from users.models import LikesOnProject from users.serializers import UserListSerializer from vacancy.models import VacancyResponse -from vacancy.serializers import VacancyResponseListSerializer +from vacancy.serializers import VacancyResponseFullFileInfoListSerializer logger = logging.getLogger() @@ -281,7 +281,7 @@ class AchievementDetail(generics.RetrieveUpdateDestroyAPIView): class ProjectVacancyResponses(generics.GenericAPIView): - serializer_class = VacancyResponseListSerializer + serializer_class = VacancyResponseFullFileInfoListSerializer permission_classes = [IsAuthenticated] def get_queryset(self): diff --git a/vacancy/serializers.py b/vacancy/serializers.py index 89f66169..00086c4c 100644 --- a/vacancy/serializers.py +++ b/vacancy/serializers.py @@ -5,6 +5,7 @@ from core.models import Skill, SkillToObject from core.serializers import SkillToObjectSerializer from files.models import UserFile +from files.serializers import UserFileSerializer from projects.models import Project from users.serializers import UserDetailSerializer from vacancy.models import Vacancy, VacancyResponse @@ -178,6 +179,11 @@ def create(self, validated_data): return vacancy_response +class VacancyResponseFullFileInfoListSerializer(VacancyResponseListSerializer): + """Returns full file info.""" + accompanying_file = UserFileSerializer(read_only=True) + + class VacancyResponseDetailSerializer(serializers.ModelSerializer[VacancyResponse]): user = UserDetailSerializer(many=False, read_only=True) vacancy = VacancyListSerializer(many=False, read_only=True)