from django.core.management.base import BaseCommand
from recharge.models import Operator, Circle

class Command(BaseCommand):
    help = 'Loads all Indian telecom operators and circles into DB'

    def handle(self, *args, **options):
        operators = [
            {"name": "Jio", "code": "JIO", "service_type": "prepaid"},
            {"name": "Airtel", "code": "AIRTEL", "service_type": "prepaid"},
            {"name": "Vi (Vodafone Idea)", "code": "VI", "service_type": "prepaid"},
            {"name": "BSNL", "code": "BSNL", "service_type": "prepaid"},
            {"name": "Tata Play DTH", "code": "TATADTH", "service_type": "dth"},
            {"name": "Airtel DTH", "code": "AIRDTH", "service_type": "dth"},
            {"name": "Sun Direct", "code": "SUNDTH", "service_type": "dth"},
        ]

        circles = [
            {"name": "Andhra Pradesh", "code": "AP"},
            {"name": "Assam", "code": "AS"},
            {"name": "Bihar", "code": "BR"},
            {"name": "Chennai", "code": "CH"},
            {"name": "Delhi", "code": "DL"},
            {"name": "Gujarat", "code": "GJ"},
            {"name": "Haryana", "code": "HR"},
            {"name": "Himachal Pradesh", "code": "HP"},
            {"name": "Jammu & Kashmir", "code": "JK"},
            {"name": "Karnataka", "code": "KA"},
            {"name": "Kerala", "code": "KL"},
            {"name": "Kolkata", "code": "KO"},
            {"name": "Madhya Pradesh", "code": "MP"},
            {"name": "Maharashtra", "code": "MH"},
            {"name": "Mumbai", "code": "MU"},
            {"name": "North East", "code": "NE"},
            {"name": "Odisha", "code": "OR"},
            {"name": "Punjab", "code": "PB"},
            {"name": "Rajasthan", "code": "RJ"},
            {"name": "Tamil Nadu", "code": "TN"},
            {"name": "Uttar Pradesh (East)", "code": "UPE"},
            {"name": "Uttar Pradesh (West)", "code": "UPW"},
            {"name": "West Bengal", "code": "WB"},
        ]

        Operator.objects.all().delete()
        Circle.objects.all().delete()

        for op in operators:
            Operator.objects.create(**op)

        for c in circles:
            Circle.objects.create(**c)

        self.stdout.write(self.style.SUCCESS("Operators and Circles inserted successfully."))
