From 1764490d74757edec62b655a4bbf1e13eee7b0d6 Mon Sep 17 00:00:00 2001 From: ITQ Date: Wed, 3 Apr 2024 01:30:59 +0300 Subject: [PATCH] Added event users endpoint --- backend/project/api/events/urls.py | 2 ++ backend/project/api/events/views.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/backend/project/api/events/urls.py b/backend/project/api/events/urls.py index 5f43cc1..e71a7e9 100644 --- a/backend/project/api/events/urls.py +++ b/backend/project/api/events/urls.py @@ -1,6 +1,7 @@ from django.urls import include, path from rest_framework import routers +from api.events import views from api.events.views import EventViewSet app_name = "events" @@ -9,4 +10,5 @@ router.register("", EventViewSet) urlpatterns = [ path("", include(router.urls)), + path("/users/", views.EventUsersApiView.as_view(), name="users"), ] diff --git a/backend/project/api/events/views.py b/backend/project/api/events/views.py index f4a5ddf..a79dc82 100644 --- a/backend/project/api/events/views.py +++ b/backend/project/api/events/views.py @@ -1,9 +1,29 @@ +from rest_framework import status +from rest_framework.response import Response +from rest_framework.views import APIView from rest_framework.viewsets import ModelViewSet from api.events.models import Event from api.events.serializers import EventSerializer +from api.users.serializers import UserSerializer class EventViewSet(ModelViewSet): queryset = Event.objects.all() serializer_class = EventSerializer + + +class EventUsersApiView(APIView): + def get(self, request, event_id): # noqa: ARG002 + try: + event = Event.objects.get(pk=event_id) + except Event.DoesNotExist: + return Response( + {"error": "Event does not exist"}, + status=status.HTTP_404_NOT_FOUND, + ) + + users = event.users.all() + serializer = UserSerializer(users, many=True) + + return Response(serializer.data)