from rest_framework.permissions import BasePermission
from user_ads_package.models.userpackage import UserPackage

class HasActivePackage(BasePermission):
    message = "Your package has expired. Please renew to continue posting."

    def has_permission(self, request, view):
        if request.method != 'POST':
            return True
        user = request.user
        if user.is_staff or user.is_superuser or user.role == "agent":
            return True
        user_package = UserPackage.objects.filter(user=request.user).order_by('-end_date').first()
        if not user_package or user_package.is_expired():
            return False
        return True