# app: recharge/management/commands/clear_plans_cache.py
from django.core.management.base import BaseCommand
from recharge.models import PlanCache

class Command(BaseCommand):
    help = "Clear plans cache. Use --provider, --operator, --circle to target entries."

    def add_arguments(self, parser):
        parser.add_argument("--provider", type=str, help="Provider source (e.g., Goter)")
        parser.add_argument("--operator", type=str, help="Operator code")
        parser.add_argument("--circle", type=str, help="Circle code")

    def handle(self, *args, **opts):
        qs = PlanCache.objects.all()
        if opts.get("provider"):
            qs = qs.filter(provider_source=opts["provider"])
        if opts.get("operator"):
            qs = qs.filter(operator_code=opts["operator"])
        if opts.get("circle"):
            qs = qs.filter(circle_code=opts["circle"])
        count = qs.count()
        qs.delete()
        self.stdout.write(self.style.SUCCESS(f"Deleted {count} PlanCache row(s)."))
