from django.core.management.base import BaseCommand
from django_celery_beat.models import IntervalSchedule, PeriodicTask
import json

class Command(BaseCommand):
    help = 'Schedules the cart reminder task to run every 4 hours'

    def handle(self, *args, **kwargs):
        # Every 4 hr
        schedule, _ = IntervalSchedule.objects.get_or_create(
            every=4,
            period=IntervalSchedule.HOURS,
        )

        # Create or update the periodic task
        PeriodicTask.objects.update_or_create(
            name='Cart Reminder Task',
            defaults={
                'interval': schedule,
                'task': 'order.tasks.send_cart_reminder',
                'args': json.dumps([]),
                'enabled': True,
            }
        )

        self.stdout.write(self.style.SUCCESS('✅ Cart reminder schedule set to run every every 4 hours.'))
