# Generated by Django 5.0.6

import django.utils.timezone
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='BlogPost',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('slug', models.SlugField(max_length=200, unique=True)),
                ('title', models.CharField(max_length=200)),
                ('excerpt', models.CharField(max_length=300)),
                ('body', models.TextField(help_text='Markdown.')),
                ('category', models.CharField(choices=[('ai', 'AI'), ('space', 'Space'), ('robotics', 'Robotics'), ('engineering', 'Engineering'), ('company', 'Company')], default='company', max_length=20)),
                ('author_name', models.CharField(max_length=120)),
                ('read_time_minutes', models.PositiveIntegerField(default=5)),
                ('cover_image_url', models.URLField(blank=True)),
                ('is_published', models.BooleanField(default=True)),
                ('published_at', models.DateTimeField(default=django.utils.timezone.now)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={'ordering': ['-published_at']},
        ),
        migrations.CreateModel(
            name='ContactSubmission',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=120)),
                ('email', models.EmailField(max_length=254)),
                ('company', models.CharField(blank=True, max_length=160)),
                ('role', models.CharField(blank=True, max_length=120)),
                ('country', models.CharField(blank=True, max_length=80)),
                ('interest', models.CharField(choices=[('ai-ip', 'AI Inference IP'), ('security-ip', 'Cybersecurity IP'), ('comms-ip', 'Communication IP'), ('custom-asic', 'Custom ASIC'), ('careers', 'Careers'), ('press', 'Press'), ('other', 'Other')], default='other', max_length=20)),
                ('message', models.TextField()),
                ('referrer', models.CharField(blank=True, max_length=200)),
                ('user_agent', models.CharField(blank=True, max_length=400)),
                ('ip_address', models.GenericIPAddressField(blank=True, null=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={'verbose_name': 'Contact submission', 'ordering': ['-created_at']},
        ),
        migrations.CreateModel(
            name='Founder',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=120)),
                ('role', models.CharField(max_length=160)),
                ('domain', models.CharField(help_text='Short description of the technical domain they own.', max_length=240)),
                ('bio', models.TextField(help_text='~80-word bio. Markdown allowed.')),
                ('photo_url', models.URLField(blank=True)),
                ('linkedin_url', models.URLField(blank=True)),
                ('sort_order', models.PositiveIntegerField(default=0)),
                ('is_published', models.BooleanField(default=True)),
            ],
            options={'ordering': ['sort_order', 'name']},
        ),
        migrations.CreateModel(
            name='JobApplication',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=120)),
                ('email', models.EmailField(max_length=254)),
                ('role_applied_for', models.CharField(max_length=160)),
                ('portfolio_url', models.URLField(blank=True)),
                ('message', models.TextField(blank=True)),
                ('cv', models.FileField(blank=True, null=True, upload_to='applications/%Y/%m/')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={'ordering': ['-created_at']},
        ),
        migrations.CreateModel(
            name='JobOpening',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('slug', models.SlugField(max_length=120, unique=True)),
                ('title', models.CharField(max_length=160)),
                ('location', models.CharField(choices=[('surat', 'Surat, India'), ('iist', 'STIIC / IIST, Thiruvananthapuram'), ('remote', 'Remote (India)'), ('hybrid', 'Hybrid')], default='surat', max_length=20)),
                ('employment_type', models.CharField(default='Full-time', max_length=40)),
                ('description', models.TextField(help_text='Markdown.')),
                ('is_open', models.BooleanField(default=True)),
                ('posted_at', models.DateField(default=django.utils.timezone.now)),
            ],
            options={'ordering': ['-posted_at']},
        ),
        migrations.CreateModel(
            name='NewsletterSignup',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('source', models.CharField(blank=True, help_text='e.g. footer, blog, contact', max_length=120)),
                ('confirmed', models.BooleanField(default=False)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={'ordering': ['-created_at']},
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('slug', models.SlugField(max_length=80, unique=True)),
                ('name', models.CharField(max_length=120)),
                ('category', models.CharField(choices=[('ai', 'AI Inference'), ('security', 'Cybersecurity'), ('comms', 'Communication Protocol'), ('asic', 'Custom ASIC Services'), ('other', 'Other')], max_length=20)),
                ('tagline', models.CharField(max_length=200)),
                ('summary', models.TextField(help_text='2–3 sentence overview shown on the products grid.')),
                ('description', models.TextField(help_text='Long-form description shown on the product detail page (markdown).')),
                ('benefits', models.JSONField(blank=True, default=list, help_text='List of benefit strings. Example: ["High throughput per watt", "INT8/INT4"].')),
                ('features', models.JSONField(blank=True, default=list)),
                ('spec_table', models.JSONField(blank=True, default=list, help_text='List of {"label": "...", "value": "..."} pairs for the spec table.')),
                ('primary_cta_label', models.CharField(default='Request evaluation', max_length=60)),
                ('is_published', models.BooleanField(default=True)),
                ('sort_order', models.PositiveIntegerField(default=0)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={'ordering': ['sort_order', 'name']},
        ),
    ]
