from django.core.management.base import BaseCommand

from apps.billing.models import SubscriptionPackage


class Command(BaseCommand):
    help = "Create the free-tier SubscriptionPackage if it doesn't exist."

    def handle(self, *args, **options):
        pkg, created = SubscriptionPackage.objects.get_or_create(
            name="Free",
            defaults={
                "price": 0,
                "currency": "KES",
                "billing_cycle": "monthly",
                "member_limit": 15,
                "staff_accounts": 1,
                "description": "Get started with basic gym management",
                "features": [
                    "Up to 15 members",
                    "1 staff account",
                    "Basic dashboard",
                    "Member check-in",
                ],
                "is_popular": False,
                "is_active": True,
                "sort_order": 0,
            },
        )
        if created:
            self.stdout.write(self.style.SUCCESS(f"Created free package: {pkg}"))
        else:
            self.stdout.write(self.style.WARNING(f"Free package already exists: {pkg}"))
