skeleton frontend_settings api endpoint

This commit is contained in:
Michael Shamoon
2022-05-06 22:29:30 -07:00
parent 8f2687e390
commit 4b37c1963b
3 changed files with 60 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ from unicodedata import normalize
from urllib.parse import quote
from django.conf import settings
from django.contrib.auth.models import User
from django.db.models import Case
from django.db.models import Count
from django.db.models import IntegerField
@@ -70,6 +71,7 @@ from .serialisers import CorrespondentSerializer
from .serialisers import DocumentListSerializer
from .serialisers import DocumentSerializer
from .serialisers import DocumentTypeSerializer
from .serialisers import FrontendSettingsViewSerializer
from .serialisers import PostDocumentSerializer
from .serialisers import SavedViewSerializer
from .serialisers import TagSerializer
@@ -715,3 +717,36 @@ class RemoteVersionView(GenericAPIView):
"feature_is_set": feature_is_set,
},
)
class FrontendSettingsView(GenericAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = FrontendSettingsViewSerializer
def get(self, request, format=None):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = User.objects.get(pk=request.user.id)
settings = []
if hasattr(user, "frontend_settings"):
settings = user.frontend_settings.settings
return Response(
{
"user_id": user.id,
"settings": settings,
},
)
def post(self, request, format=None):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save(user=self.request.user)
return Response(
{
"success": True,
},
)