# Generated by Django 6.0 on 2025-12-08 16:43

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='EmailTemplate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('template_type', models.CharField(choices=[('WELCOME', 'Welcome Email'), ('ORDER_CONFIRMATION', 'Order Confirmation'), ('SHIPPING_UPDATE', 'Shipping Update'), ('PASSWORD_RESET', 'Password Reset'), ('VERIFICATION', 'Email Verification'), ('NEWSLETTER', 'Newsletter'), ('PROMOTIONAL', 'Promotional'), ('ABANDONED_CART', 'Abandoned Cart')], max_length=50, unique=True)),
                ('subject', models.CharField(max_length=300)),
                ('html_content', models.TextField(help_text='HTML email template')),
                ('text_content', models.TextField(blank=True, help_text='Plain text fallback')),
                ('from_email', models.EmailField(blank=True, max_length=254)),
                ('from_name', models.CharField(blank=True, max_length=200)),
                ('is_active', models.BooleanField(default=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'ordering': ['template_type'],
            },
        ),
        migrations.CreateModel(
            name='SocialMediaPost',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('platform', models.CharField(choices=[('FACEBOOK', 'Facebook'), ('TWITTER', 'Twitter'), ('INSTAGRAM', 'Instagram'), ('LINKEDIN', 'LinkedIn')], max_length=20)),
                ('post_url', models.URLField()),
                ('embed_code', models.TextField(blank=True, help_text='Embed code from social platform')),
                ('image', models.ImageField(blank=True, upload_to='social_posts/')),
                ('caption', models.TextField(blank=True)),
                ('is_featured', models.BooleanField(default=False)),
                ('is_active', models.BooleanField(default=True)),
                ('display_order', models.IntegerField(default=0)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'ordering': ['display_order', '-created_at'],
            },
        ),
        migrations.CreateModel(
            name='SiteConfiguration',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('site_name', models.CharField(default='AiBiMagics', max_length=200)),
                ('site_tagline', models.CharField(default='Your AI-Powered Shopping Destination', max_length=300)),
                ('site_description', models.TextField(default='Amazing products with AI-powered recommendations')),
                ('logo', models.ImageField(blank=True, help_text='Main site logo', null=True, upload_to='branding/')),
                ('logo_dark', models.ImageField(blank=True, help_text='Dark version of logo', null=True, upload_to='branding/')),
                ('favicon', models.ImageField(blank=True, help_text='16x16 or 32x32 favicon', null=True, upload_to='branding/')),
                ('contact_email', models.EmailField(default='contact@aibimagics.com', max_length=254)),
                ('support_email', models.EmailField(default='support@aibimagics.com', max_length=254)),
                ('sales_email', models.EmailField(default='sales@aibimagics.com', max_length=254)),
                ('phone', models.CharField(blank=True, max_length=20)),
                ('whatsapp', models.CharField(blank=True, help_text='With country code, e.g., +1234567890', max_length=20)),
                ('address_line1', models.CharField(blank=True, max_length=255)),
                ('address_line2', models.CharField(blank=True, max_length=255)),
                ('city', models.CharField(blank=True, max_length=100)),
                ('state', models.CharField(blank=True, max_length=100)),
                ('country', models.CharField(blank=True, max_length=100)),
                ('postal_code', models.CharField(blank=True, max_length=20)),
                ('facebook_url', models.URLField(blank=True)),
                ('twitter_url', models.URLField(blank=True)),
                ('instagram_url', models.URLField(blank=True)),
                ('linkedin_url', models.URLField(blank=True)),
                ('youtube_url', models.URLField(blank=True)),
                ('pinterest_url', models.URLField(blank=True)),
                ('tiktok_url', models.URLField(blank=True)),
                ('telegram_url', models.URLField(blank=True)),
                ('business_hours', models.TextField(blank=True, default='Monday - Friday: 9:00 AM - 6:00 PM\nSaturday: 10:00 AM - 4:00 PM\nSunday: Closed')),
                ('meta_keywords', models.TextField(blank=True, help_text='Comma-separated keywords')),
                ('meta_description', models.TextField(blank=True)),
                ('google_analytics_id', models.CharField(blank=True, help_text='GA4 Measurement ID', max_length=50)),
                ('google_tag_manager_id', models.CharField(blank=True, max_length=50)),
                ('facebook_pixel_id', models.CharField(blank=True, max_length=50)),
                ('smtp_host', models.CharField(blank=True, default='smtp.gmail.com', max_length=200)),
                ('smtp_port', models.IntegerField(default=587)),
                ('smtp_username', models.CharField(blank=True, max_length=200)),
                ('smtp_password', models.CharField(blank=True, max_length=200)),
                ('smtp_use_tls', models.BooleanField(default=True)),
                ('admin_notification_email', models.EmailField(default='admin@aibimagics.com', max_length=254)),
                ('order_notification_email', models.EmailField(default='orders@aibimagics.com', max_length=254)),
                ('footer_about', models.TextField(blank=True, default='AiBiMagics is your trusted e-commerce platform powered by AI.')),
                ('copyright_text', models.CharField(default='© 2025 AiBiMagics. All rights reserved.', max_length=300)),
                ('enable_chat', models.BooleanField(default=True, help_text='Enable live chat widget')),
                ('enable_newsletter', models.BooleanField(default=True)),
                ('enable_wishlist', models.BooleanField(default=True)),
                ('enable_reviews', models.BooleanField(default=True)),
                ('enable_ai_recommendations', models.BooleanField(default=True)),
                ('maintenance_mode', models.BooleanField(default=False)),
                ('maintenance_message', models.TextField(blank=True, default='We are currently undergoing maintenance. We will be back shortly!')),
                ('custom_css', models.TextField(blank=True, help_text='Custom CSS to inject into all pages')),
                ('custom_js', models.TextField(blank=True, help_text='Custom JavaScript to inject into all pages')),
                ('header_scripts', models.TextField(blank=True, help_text='Scripts to add in <head>')),
                ('footer_scripts', models.TextField(blank=True, help_text='Scripts to add before </body>')),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('updated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Site Configuration',
                'verbose_name_plural': 'Site Configuration',
            },
        ),
    ]
