from rest_framework import permissions, viewsets from apps.bookings.models import Booking from apps.bookings.serializers import BookingCreateSerializer, BookingSerializer class BookingViewSet(viewsets.ModelViewSet): permission_classes = [permissions.IsAuthenticated] def get_queryset(self): user = self.request.user if getattr(user, "is_superuser", False) or user.role == "admin": return Booking.objects.all().order_by("-created_at") if user.role == "manager": return Booking.objects.filter(salon__owner=user).order_by("-created_at") if user.role == "staff": return Booking.objects.filter(staff__user=user).order_by("-created_at") return Booking.objects.filter(customer=user).order_by("-created_at") def get_serializer_class(self): if self.action == "create": return BookingCreateSerializer return BookingSerializer