[feat] users by event

This commit is contained in:
Тимур
2024-04-03 02:40:41 +03:00
parent 0eda4df17a
commit 635dfcd114
2 changed files with 23 additions and 1 deletions
+7 -1
View File
@@ -5,6 +5,7 @@ from api.users.views import (
DownloadUsersFromExcelView, DownloadUsersFromExcelView,
RegisterUsersFromExcelView, RegisterUsersFromExcelView,
UserViewSet, UserViewSet,
UsersByEvent,
) )
app_name = "users" app_name = "users"
@@ -15,6 +16,11 @@ router.register("", UserViewSet)
urlpatterns = [ urlpatterns = [
path("", include(router.urls)), path("", include(router.urls)),
path(
"by-event/<event_id>/",
UsersByEvent.as_view(),
name="users-by-event",
),
path( path(
"upload/excel/<event_id>/", "upload/excel/<event_id>/",
RegisterUsersFromExcelView.as_view(), RegisterUsersFromExcelView.as_view(),
@@ -24,5 +30,5 @@ urlpatterns = [
"download/excel/<event_id>/", "download/excel/<event_id>/",
DownloadUsersFromExcelView.as_view(), DownloadUsersFromExcelView.as_view(),
name="excel-download", name="excel-download",
) ),
] ]
+16
View File
@@ -18,6 +18,22 @@ class UserViewSet(ModelViewSet):
serializer_class = UserSerializer serializer_class = UserSerializer
class UsersByEvent(APIView):
def get(self, _, event_id):
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)
class RegisterUsersFromExcelView(APIView): class RegisterUsersFromExcelView(APIView):
def post(self, request, event_id): def post(self, request, event_id):
try: try: