from rest_framework.decorators import api_view, authentication_classes, permission_classes from rest_framework.authentication import SessionAuthentication, TokenAuthentication from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework import status from core.models.Space import Space from core.serializers.SpaceSerializer import SpaceSerializer @api_view(['GET']) @authentication_classes([SessionAuthentication, TokenAuthentication]) @permission_classes([IsAuthenticated]) def getSpaces(request): # Get the spaces associated with the authenticated user and join with AssetBundleRoom data spaces = Space.objects.filter(userId=request.user).select_related('assetBundleRoomId') # Serialize the spaces and include all fields from the related AssetBundleRoom serializer = SpaceSerializer(spaces, many=True) # Return the serialized data as a response return Response({ "spaces": serializer.data }, status=status.HTTP_200_OK)