diff --git a/project/dalia/urls.py b/project/dalia/urls.py index 466998bd1de2851f85855e8ddc65edee69c1d260..1504260ae5c1fabd0682be1c202b82dddf59e933 100644 --- a/project/dalia/urls.py +++ b/project/dalia/urls.py @@ -21,4 +21,5 @@ urlpatterns = [ path('v1/curation/suggest/target-groups', views.CurationSuggestTargetGroupsView.as_view(), name="curation_suggest_target_groups"), path('v1/curation/suggest/media-types', views.CurationSuggestMediaTypesView.as_view(), name="curation_suggest_media_types"), path('v1/curation/suggest/relation-types', views.CurationSuggestRelationTypesView.as_view(), name="curation_suggest_relation_types"), + path("v1/hello/", views.HelloAPIView.as_view()), ] diff --git a/project/dalia/views.py b/project/dalia/views.py index c44f3e957ddda4b7d25c88f1c900b2647b3b419b..1c34045ff089d5a455a4122b45906e4cbad0904c 100644 --- a/project/dalia/views.py +++ b/project/dalia/views.py @@ -1,6 +1,8 @@ from uuid import UUID +from allauth.headless.contrib.rest_framework.authentication import XSessionTokenAuthentication from django.http import HttpResponse, HttpResponseNotFound +from rest_framework import authentication, permissions from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView @@ -182,3 +184,15 @@ class CurationSuggestRelationTypesView(APIView): get_relation_types_suggestions(), many=True ) return Response(serializer.data) + + +# Example view to demonstrate how to implement authentication checks +class HelloAPIView(APIView): + authentication_classes = [ + authentication.SessionAuthentication, + XSessionTokenAuthentication, + ] + permission_classes = [permissions.IsAuthenticated] + + def post(self, request: Request): + return Response({"message": f"Hello {request.user.username}!"})