from django.core.management.base import BaseCommand
from settings.models import AppSettings

class Command(BaseCommand):
    help = 'Seeds the database with initial settings.'

    def handle(self, *args, **options):
        settings_to_seed = [
            {'key': 'use_cache', 'value': False, 'description': 'Enable or disable caching.'},
            {'key': 'use_gemini_ai', 'value': False, 'description': 'Use Gemini AI instead of OpenAI for routine parsing.'},
            {'key': 'use_open_ai', 'value': False, 'description': 'Use Open AI instead of OpenAI for routine parsing.'},
            {'key': 'enable_image_processing', 'value': True, 'description': 'Enable creating routines from images/PDFs.'},
        ]

        for setting_data in settings_to_seed:
            setting, created = AppSettings.objects.get_or_create(
                key=setting_data['key'],
                defaults={'value': setting_data['value'], 'description': setting_data['description']}
            )
            if created:
                self.stdout.write(self.style.SUCCESS(f"Successfully created setting: {setting.key}"))
            else:
                self.stdout.write(self.style.WARNING(f"Setting already exists: {setting.key}"))
