from django.core.management.base import BaseCommand


class Command(BaseCommand):
    help = 'Seed masterdata: languages, currencies, document types'

    def handle(self, *args, **options):
        from apps.masterdata.models import Language, Currency, DocumentType

        languages = [
            ('en', 'English', 'English'),
            ('hi', 'Hindi', 'हिन्दी'),
            ('te', 'Telugu', 'తెలుగు'),
            ('es', 'Spanish', 'Español'),
        ]

        currencies = [
            ('USD', 'US Dollar', '$'),
            ('INR', 'Indian Rupee', '₹'),
            ('EUR', 'Euro', '€'),
        ]

        document_types = [
            ('passport', 'passport'),
            ('aadhaar', 'aadhaar'),
            ('driving_license', 'driving_license'),
            ('pan_card', 'pan_card'),
        ]

        self.stdout.write('Seeding Languages...')
        for code, name, native in languages:
            obj, created = Language.objects.get_or_create(code=code, defaults={'name': name, 'native_name': native, 'is_active': True})
            if created:
                self.stdout.write(f'  Created Language: {code} - {name}')

        self.stdout.write('Seeding Currencies...')
        for code, name, symbol in currencies:
            obj, created = Currency.objects.get_or_create(code=code, defaults={'name': name, 'symbol': symbol, 'is_active': True})
            if created:
                self.stdout.write(f'  Created Currency: {code} - {name}')

        self.stdout.write('Seeding Document Types...')
        for code, name in document_types:
            obj, created = DocumentType.objects.get_or_create(code=code, defaults={'name': name, 'is_active': True})
            if created:
                self.stdout.write(f'  Created DocumentType: {code}')

        self.stdout.write(self.style.SUCCESS('Masterdata seeding complete.'))
