-
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathviews.py
More file actions
25 lines (22 loc) · 1.07 KB
/
views.py
File metadata and controls
25 lines (22 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from rest_framework import status
from rest_framework.decorators import api_view, permission_classes
from api.permissions import IsSuperUser
from rest_framework.response import Response
from drf_spectacular.utils import extend_schema
from .models import AI_Settings
from .serializers import AISettingsSerializer
@extend_schema(request=AISettingsSerializer, responses={200: AISettingsSerializer(many=True), 201: AISettingsSerializer})
@api_view(['GET', 'POST'])
@permission_classes([IsSuperUser])
def settings_view(request):
if request.method == 'GET':
settings = AI_Settings.objects.all()
serializer = AISettingsSerializer(settings, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = AISettingsSerializer(
data=request.data, context={'request': request})
if serializer.is_valid():
serializer.save(ModifiedByUser=request.user)
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)