# Generated by Django 5.2.1 on 2026-01-14 11:48

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('cms', '0016_remove_abtestview_variant_conversionmetric_and_more'),
    ]

    operations = [
        migrations.CreateModel(
            name='AuthorProfile',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(help_text='Author name', max_length=255)),
                ('slug', models.SlugField(help_text='URL-friendly identifier', unique=True)),
                ('bio', models.TextField(help_text='Author biography')),
                ('photo', models.ImageField(blank=True, help_text='Author photo', upload_to='author_photos/')),
                ('title', models.CharField(help_text='Professional title', max_length=255)),
                ('expertise_areas', models.JSONField(default=list, help_text='Areas of expertise')),
                ('certifications', models.JSONField(default=list, help_text='Professional certifications')),
                ('years_experience', models.IntegerField(help_text='Years of experience')),
                ('website', models.URLField(blank=True, help_text='Personal website')),
                ('linkedin_url', models.URLField(blank=True, help_text='LinkedIn profile URL')),
                ('twitter_handle', models.CharField(blank=True, help_text='Twitter handle', max_length=100)),
                ('github_url', models.URLField(blank=True, help_text='GitHub profile URL')),
                ('articles_published', models.IntegerField(default=0, help_text='Number of articles published')),
                ('speaking_engagements', models.IntegerField(default=0, help_text='Number of speaking engagements')),
                ('media_mentions', models.IntegerField(default=0, help_text='Number of media mentions')),
                ('domain_authority', models.IntegerField(default=0, help_text='Personal domain authority')),
                ('social_followers', models.IntegerField(default=0, help_text='Total social media followers')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Author Profile',
                'verbose_name_plural': 'Author Profiles',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='MediaOutreach',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(help_text='Outreach title', max_length=255)),
                ('outreach_type', models.CharField(choices=[('publication', 'Publication'), ('podcast', 'Podcast'), ('speaking', 'Speaking Event'), ('interview', 'Interview'), ('guest_post', 'Guest Post'), ('webinar', 'Webinar'), ('conference', 'Conference')], help_text='Type of outreach', max_length=50)),
                ('target_publication', models.CharField(help_text='Target publication/platform', max_length=255)),
                ('target_audience', models.CharField(help_text='Target audience', max_length=255)),
                ('contact_name', models.CharField(blank=True, help_text='Contact person name', max_length=255)),
                ('contact_email', models.EmailField(blank=True, help_text='Contact email', max_length=254)),
                ('topic', models.CharField(help_text='Topic or subject', max_length=255)),
                ('description', models.TextField(help_text='Outreach description')),
                ('status', models.CharField(choices=[('pitch_sent', 'Pitch Sent'), ('in_discussion', 'In Discussion'), ('confirmed', 'Confirmed'), ('completed', 'Completed'), ('rejected', 'Rejected'), ('archived', 'Archived')], default='pitch_sent', help_text='Outreach status', max_length=50)),
                ('pitch_date', models.DateField(help_text='Date pitch was sent')),
                ('scheduled_date', models.DateField(blank=True, help_text='Scheduled date', null=True)),
                ('completion_date', models.DateField(blank=True, help_text='Completion date', null=True)),
                ('result_url', models.URLField(blank=True, help_text='URL of published content')),
                ('reach', models.IntegerField(default=0, help_text='Estimated reach/audience')),
                ('engagement', models.IntegerField(default=0, help_text='Engagement metrics')),
                ('backlinks_generated', models.IntegerField(default=0, help_text='Backlinks generated')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Media Outreach',
                'verbose_name_plural': 'Media Outreach',
                'ordering': ['-pitch_date'],
            },
        ),
        migrations.CreateModel(
            name='ResearchProject',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(help_text='Research project title', max_length=255)),
                ('slug', models.SlugField(help_text='URL-friendly identifier', unique=True)),
                ('description', models.TextField(help_text='Project description')),
                ('research_type', models.CharField(choices=[('survey', 'Industry Survey'), ('study', 'Research Study'), ('report', 'Industry Report'), ('whitepaper', 'Whitepaper'), ('case_study', 'Case Study'), ('benchmark', 'Benchmark Report')], help_text='Type of research', max_length=50)),
                ('objective', models.TextField(help_text='Research objective and goals')),
                ('methodology', models.TextField(help_text='Research methodology')),
                ('sample_size', models.IntegerField(blank=True, help_text='Sample size for surveys', null=True)),
                ('key_findings', models.JSONField(default=list, help_text='Key findings from research')),
                ('status', models.CharField(choices=[('planning', 'Planning'), ('in_progress', 'In Progress'), ('completed', 'Completed'), ('published', 'Published'), ('archived', 'Archived')], default='planning', help_text='Project status', max_length=50)),
                ('start_date', models.DateField(help_text='Project start date')),
                ('completion_date', models.DateField(blank=True, help_text='Project completion date', null=True)),
                ('publication_date', models.DateField(blank=True, help_text='Publication date', null=True)),
                ('published_url', models.URLField(blank=True, help_text='URL where research is published')),
                ('media_mentions', models.IntegerField(default=0, help_text='Number of media mentions')),
                ('backlinks_generated', models.IntegerField(default=0, help_text='Number of backlinks generated')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Research Project',
                'verbose_name_plural': 'Research Projects',
                'ordering': ['-publication_date', '-created_at'],
            },
        ),
    ]
