Files
ibapp-backend/core/apps/shared/views/usd_course.py
2025-10-30 14:36:59 +05:00

34 lines
1.2 KiB
Python

from django.shortcuts import get_object_or_404
from rest_framework import generics
from rest_framework.response import Response
from core.apps.accounts.permissions.permissions import HasRolePermission
from core.apps.shared.models import UsdCourse
from core.apps.shared.serializers.usd_course import UsdCourseSerializer
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):
usd_cource = UsdCourse.objects.first()
if not usd_cource:
usd_cource = UsdCourse.objects.create(value=0)
old_value = usd_cource.value
serializer = self.serializer_class(data=request.data)
if not 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": old_value}, status=200
)