from django.core.management.base import BaseCommand
from extractly.models import (
    AdsManual
)
from django.db import transaction

class Command(BaseCommand):
    help = "Usuwa wszystkie wpisy związane z NetworkMonitoringAdvertisements i powiązanymi tabelami."

    def handle(self, *args, **options):
        self.stdout.write(self.style.WARNING("Rozpoczynam czyszczenie bazy danych..."))

        try:
            with transaction.atomic():
                # Usuwanie wpisów z tabel powiązanych
                models_to_clear = [
                    AdsManual,
                ]

                for model in models_to_clear:
                    count = model.objects.count()
                    model.objects.all().delete()
                    self.stdout.write(self.style.SUCCESS(f"Usunięto {count} wpisów z {model.__name__}"))

                # # Usunięcie głównych ofert
                # count_ads = NetworkMonitoringAdvertisements.objects.count()
                # NetworkMonitoringAdvertisements.objects.all().delete()
                # self.stdout.write(self.style.SUCCESS(f"Usunięto {count_ads} wpisów z NetworkMonitoringAdvertisements"))

                self.stdout.write(self.style.SUCCESS("✅ Czyszczenie bazy danych zakończone pomyślnie!"))
        
        except Exception as e:
            self.stderr.write(self.style.ERROR(f"❌ Błąd podczas czyszczenia bazy danych: {e}"))
