# Generated by Django 5.0.11 on 2025-05-02 15:27

import ckeditor.fields
import django.db.models.deletion
import uuid
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('status', models.IntegerField(choices=[(1, 'User Submitted'), (2, 'Unverified'), (3, 'Verified')], default=2)),
                ('name', models.CharField(help_text='name', max_length=255)),
                ('image', models.ImageField(help_text='image', upload_to='')),
                ('description', models.CharField(help_text='description', max_length=255)),
                ('affilation', models.CharField(help_text='affilation', max_length=255)),
                ('phone', models.CharField(help_text='phone', unique=True)),
                ('email', models.EmailField(help_text='email', max_length=254, unique=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BlogCategory',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('title', models.CharField(help_text='title', max_length=255)),
                ('slug', models.SlugField(editable=False, help_text='URL-friendly version of the title', max_length=255, unique=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('name', models.CharField(help_text='name', max_length=255)),
                ('mail', models.EmailField(help_text='mail', max_length=254)),
                ('phone', models.CharField(help_text='phone')),
                ('message', models.CharField(help_text='message', max_length=1000)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Poll',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('question', models.CharField(max_length=255)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='SiteAnalytics',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(unique=True)),
                ('total_views', models.IntegerField(default=0)),
                ('unique_visitors', models.IntegerField(default=0)),
                ('new_subscribers', models.IntegerField(default=0)),
                ('new_authors', models.IntegerField(default=0)),
                ('new_blogs', models.IntegerField(default=0)),
            ],
            options={
                'ordering': ['-date'],
            },
        ),
        migrations.CreateModel(
            name='Subscriber',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('name', models.CharField(max_length=100)),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('is_active', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Task',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('due_date', models.DateField()),
                ('priority', models.CharField(choices=[('high', 'High'), ('medium', 'Medium'), ('low', 'Low')], default='medium', max_length=20)),
                ('status', models.CharField(choices=[('pending', 'Pending'), ('in_progress', 'In Progress'), ('completed', 'Completed'), ('cancelled', 'Cancelled')], default='pending', max_length=20)),
                ('assigned_to', models.IntegerField(blank=True, help_text='Assigned To User ID', null=True)),
                ('completed_at', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ['due_date', '-priority'],
            },
        ),
        migrations.CreateModel(
            name='TeamMember',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('name', models.CharField(max_length=100)),
                ('role', models.CharField(max_length=100)),
                ('image', models.ImageField(upload_to='team_images/')),
                ('facebook_link', models.URLField(blank=True, null=True)),
                ('insta_link', models.URLField(blank=True, null=True)),
                ('twitter_link', models.URLField(blank=True, null=True)),
                ('email', models.EmailField(blank=True, max_length=254, null=True, unique=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Topics',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('title', models.CharField(help_text='title', max_length=255)),
                ('slug', models.SlugField(editable=False, help_text='URL-friendly version of the title', max_length=255, unique=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Blog',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('meta_image', models.ImageField(blank=True, help_text='meta_image', null=True, upload_to='')),
                ('meta_title', models.CharField(blank=True, help_text='meta_title', max_length=255, null=True)),
                ('meta_description', models.CharField(blank=True, help_text='meta_description', max_length=999, null=True)),
                ('meta_keywords', models.CharField(blank=True, help_text='meta_keywords', max_length=999, null=True)),
                ('status', models.IntegerField(choices=[(1, 'Publish Now'), (2, 'Save Draft'), (3, 'User Submitted'), (4, 'Archived')], default=2)),
                ('title', models.CharField(max_length=255)),
                ('content', ckeditor.fields.RichTextField()),
                ('feature_this', models.BooleanField(default=False)),
                ('slug', models.SlugField(editable=False, help_text='URL-friendly version of the title', max_length=255, unique=True)),
                ('published_time', models.DateTimeField(blank=True, null=True)),
                ('authors', models.ManyToManyField(related_name='blogs', to='mimansha_main.author')),
                ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blogs', to='mimansha_main.blogcategory')),
                ('related_topics', models.ManyToManyField(blank=True, related_name='related_topics', to='mimansha_main.topics')),
                ('topic', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='blogs', to='mimansha_main.topics')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Option',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('option_text', models.CharField(max_length=255)),
                ('votes', models.IntegerField(default=0)),
                ('poll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='options', to='mimansha_main.poll')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='AuthorAnalytics',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('date', models.DateField()),
                ('total_views', models.IntegerField(default=0)),
                ('total_blogs', models.IntegerField(default=0)),
                ('engagement_rate', models.FloatField(default=0.0)),
                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analytics', to='mimansha_main.author')),
            ],
            options={
                'ordering': ['-date'],
                'unique_together': {('author', 'date')},
            },
        ),
        migrations.CreateModel(
            name='BlogAnalytics',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('date', models.DateField()),
                ('views', models.IntegerField(default=0)),
                ('unique_visitors', models.IntegerField(default=0)),
                ('avg_reading_time', models.IntegerField(default=0)),
                ('engagement_score', models.FloatField(default=0.0)),
                ('blog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analytics', to='mimansha_main.blog')),
            ],
            options={
                'ordering': ['-date'],
                'unique_together': {('blog', 'date')},
            },
        ),
        migrations.CreateModel(
            name='BlogView',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('ip_address', models.GenericIPAddressField()),
                ('user_agent', models.CharField(blank=True, max_length=255)),
                ('session_id', models.CharField(blank=True, max_length=100)),
                ('blog', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='views', to='mimansha_main.blog')),
            ],
            options={
                'indexes': [models.Index(fields=['blog', 'created_at'], name='mimansha_ma_blog_id_55d0cc_idx'), models.Index(fields=['ip_address', 'session_id'], name='mimansha_ma_ip_addr_401279_idx')],
            },
        ),
        migrations.CreateModel(
            name='Vote',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('guid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('ldm', models.DateTimeField(auto_now=True)),
                ('user', models.IntegerField(blank=True, default=0, editable=False, help_text='User ID')),
                ('rskey', models.IntegerField(default=0, editable=False, help_text='Record Status Key')),
                ('ip_address', models.GenericIPAddressField()),
                ('voted_at', models.DateTimeField(auto_now_add=True)),
                ('poll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mimansha_main.poll')),
            ],
            options={
                'unique_together': {('poll', 'ip_address')},
            },
        ),
    ]
