from django.core.management.base import BaseCommand

from notifications.scheduling import ensure_notification_schedule


class Command(BaseCommand):
    help = "Cria ou atualiza os agendamentos Celery Beat usados pelo módulo de notificações."

    def add_arguments(self, parser):
        parser.add_argument("--hour", default="8", help="Hora diária para preparar avisos (0-23).")
        parser.add_argument("--minute", default="0", help="Minuto diário para preparar avisos (0-59).")

    def handle(self, *args, **options):
        tasks = ensure_notification_schedule(hour=options["hour"], minute=options["minute"])
        self.stdout.write(self.style.SUCCESS(f"{len(tasks)} agendamentos criados/atualizados."))
