
from rest_framework import throttling, filters, viewsets
from django_filters.rest_framework import DjangoFilterBackend
from apps.core.utils import create_dynamic_pagination
from apps.core.mixins import ToggleActiveStatusMixin 
from apps.core.permissions.user_permission import UserPermissionCheck
from rest_framework import permissions

class BaseViewSet(viewsets.ModelViewSet, ToggleActiveStatusMixin):
    permission_classes = [UserPermissionCheck]
    pagination_class = create_dynamic_pagination(10)
    throttle_classes = [throttling.ScopedRateThrottle]
    filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter]

    throttle_scope = 'custom_scope_one'

    
   