import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('insights', '0002_insight_view_count'),
    ]

    operations = [
        # SEO fields
        migrations.AddField(
            model_name='insight', name='meta_title',
            field=models.CharField(blank=True, max_length=70,
                help_text='SEO title (30-60 chars). Leave empty to use article title.'),
        ),
        migrations.AddField(
            model_name='insight', name='focus_keyword',
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name='insight', name='canonical_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='insight', name='og_image_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='insight', name='tags',
            field=models.CharField(blank=True, max_length=500),
        ),
        # GEO fields
        migrations.AddField(
            model_name='insight', name='tldr',
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name='insight', name='faq_json',
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name='insight', name='sources_json',
            field=models.TextField(blank=True),
        ),
        # Structure fields
        migrations.AddField(
            model_name='insight', name='article_type',
            field=models.CharField(
                choices=[('pillar', 'Pillar'), ('cluster', 'Cluster')],
                default='pillar', max_length=10),
        ),
        migrations.AddField(
            model_name='insight', name='pillar',
            field=models.ForeignKey(
                blank=True, null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='clusters', to='insights.insight'),
        ),
        migrations.AddField(
            model_name='insight', name='priority',
            field=models.CharField(
                choices=[('critical', 'Critical'), ('high', 'High'),
                         ('medium', 'Medium'), ('low', 'Low')],
                default='medium', max_length=10),
        ),
        # Author E-E-A-T
        migrations.AddField(
            model_name='insight', name='author_title',
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name='insight', name='author_bio',
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name='insight', name='author_linkedin',
            field=models.URLField(blank=True),
        ),
        # Editorial
        migrations.AddField(
            model_name='insight', name='update_date',
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name='insight', name='revision_note',
            field=models.CharField(blank=True, max_length=300),
        ),
        # Expand status choices
        migrations.AlterField(
            model_name='insight', name='status',
            field=models.CharField(
                choices=[
                    ('draft', 'Draft'),
                    ('review', 'In Review'),
                    ('approved', 'Approved'),
                    ('ready', 'Ready to Publish'),
                    ('published', 'Published'),
                    ('needs_update', 'Needs Update'),
                ],
                default='draft', max_length=20),
        ),
    ]
