From b244e01231cfdaca51aaa809a9e98b23fce7b64e Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 9 Mar 2021 10:41:43 +0100 Subject: [PATCH] Add simple view to give OAuth information Signed-off-by: Yohann D'ANELLO --- apps/api/urls.py | 2 ++ apps/api/views.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 apps/api/views.py diff --git a/apps/api/urls.py b/apps/api/urls.py index 7131c657..8b0e1a6e 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -5,6 +5,7 @@ from django.conf import settings from django.conf.urls import url, include from rest_framework import routers +from .views import UserInformationView from .viewsets import ContentTypeViewSet, UserViewSet # Routers provide an easy way of automatically determining the URL conf. @@ -47,5 +48,6 @@ app_name = 'api' # Additionally, we include login URLs for the browsable API. urlpatterns = [ url('^', include(router.urls)), + url('me', UserInformationView.as_view()), url('^api-auth/', include('rest_framework.urls', namespace='rest_framework')), ] diff --git a/apps/api/views.py b/apps/api/views.py new file mode 100644 index 00000000..c8ccd442 --- /dev/null +++ b/apps/api/views.py @@ -0,0 +1,17 @@ +# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay +# SPDX-License-Identifier: GPL-3.0-or-later + +from django.contrib.auth.models import User +from rest_framework.generics import RetrieveAPIView + +from .serializers import UserSerializer + + +class UserInformationView(RetrieveAPIView): + serializer_class = UserSerializer + + def get_queryset(self): + return User.objects.filter(pk=self.request.user.pk) + + def get_object(self): + return self.request.user