Coverage for backend/django/core/auxiliary/viewsets/NoteViewSet.py: 71%
24 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-12-18 04:00 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-12-18 04:00 +0000
1from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
2from core.viewset import ModelViewSet
3from core.auxiliary.models.Note import Note
4from core.auxiliary.serializers.NoteSerializer import NoteSerializer
5from rest_framework import serializers, status
6from rest_framework.decorators import action
7from rest_framework.response import Response
10class EditNoteSerializer(serializers.Serializer):
11 note_id = serializers.IntegerField()
12 note_title = serializers.CharField()
13 note_content = serializers.CharField()
15class NoteViewSet(ModelViewSet):
16 serializer_class = NoteSerializer
18 def get_queryset(self, **kwargs):
19 return Note.objects.all()
21 @extend_schema(
22 parameters=[
23 OpenApiParameter(name="simulationObject", required=True, type=OpenApiTypes.INT),
24 ]
25 )
27 def list(self, request):
28 queryset = Note.objects.filter(simulationObject=self.request.query_params.get('simulationObject', None))
29 serializer = self.get_serializer(queryset, many=True)
30 return Response(serializer.data, status=status.HTTP_200_OK)
32 def update(self, request, *args, **kwargs):
33 # Update the savedDate field
34 instance = self.get_object()
35 instance.set_saved_date()
36 return super().update(request, *args, **kwargs)