Skip to content

Commit 5f52fe8

Browse files
SilviaAmAmsvenvandescheur
authored andcommitted
✨ Add whoami endpoint
1 parent 9228539 commit 5f52fe8

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

backend/src/openbeheer/accounts/api/__init__.py

Whitespace-only changes.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from rest_framework import serializers
2+
3+
from ..models import User
4+
5+
6+
class UserSerializer(serializers.ModelSerializer):
7+
8+
class Meta:
9+
model = User
10+
fields = ("pk", "username", "first_name", "last_name", "email")
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from django.utils.translation import gettext_lazy as _
2+
3+
from drf_spectacular.utils import extend_schema
4+
from rest_framework.generics import RetrieveAPIView
5+
6+
from ..models import User
7+
from .serializers import UserSerializer
8+
9+
10+
@extend_schema(
11+
tags=["Users"],
12+
summary=_("Who Am I"),
13+
description=_("Returns the current logged in user."),
14+
responses={
15+
200: UserSerializer(),
16+
},
17+
)
18+
class WhoAmIView(RetrieveAPIView):
19+
serializer_class = UserSerializer
20+
21+
def get_object(self) -> User:
22+
return self.request.user

backend/src/openbeheer/api/urls.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
SpectacularRedocView,
77
)
88

9+
from openbeheer.accounts.api.views import WhoAmIView
10+
911
app_name = "api"
1012

1113
urlpatterns = [
@@ -34,4 +36,12 @@
3436
include("openbeheer.api.authentication.urls", namespace="authentication"),
3537
),
3638
# Actual endpoints
39+
path(
40+
"v1/",
41+
include(
42+
[
43+
path("whoami/", WhoAmIView.as_view(), name="whoami"),
44+
]
45+
),
46+
),
3747
]

0 commit comments

Comments
 (0)