from django.shortcuts import get_object_or_404 from rest_framework import generics from rest_framework.response import Response from core.apps.shared.models import UsdCourse from core.apps.shared.serializers.usd_course import UsdCourseSerializer from core.apps.accounts.permissions.permissions import HasRolePermission class UsdCourseApiView(generics.GenericAPIView): serializer_class = UsdCourseSerializer queryset = UsdCourse.objects.all() permission_classes = [HasRolePermission] def get(self, request): value = UsdCourse.objects.first() serializer = self.serializer_class(value) return Response(serializer.data, status=200) def patch(self, request, id): usd_cource = get_object_or_404(UsdCourse, id=id) serializer = self.serializer_class(data=request.data) if serializer.is_valid(): return Response(serializer.errors, status=400) value = serializer.validated_data.get('value') usd_cource.value = value usd_cource.save() return Response({'new_value': usd_cource.value, 'old_value': value}, status=200)