# Generated by Django 4.1.4 on 2023-03-15 01:49

from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import model_utils.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("account", "0006_account_account_id_profile_indexing_type_and_more"),
        ("activity", "0001_initial"),
    ]

    operations = [
        migrations.CreateModel(
            name="Acct",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("acct_id", models.BigIntegerField()),
                ("username", models.CharField(max_length=1024)),
                ("url", models.URLField()),
                ("acct", models.CharField(max_length=1024)),
                (
                    "account",
                    models.OneToOneField(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="acct",
                        to="account.account",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Application",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("name", models.CharField(max_length=1024)),
                ("website", models.CharField(blank=True, max_length=1024, null=True)),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Tag",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("name", models.CharField(max_length=1024)),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="TextEmoji",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("text", models.CharField(max_length=1024)),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Post",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("post_id", models.BigIntegerField()),
                ("content", models.TextField()),
                ("text_content", models.TextField()),
                ("url", models.URLField()),
                ("created_at", models.DateTimeField()),
                ("reply_id", models.BigIntegerField(blank=True, null=True)),
                ("is_poll", models.BooleanField(default=False)),
                ("visibility", models.CharField(max_length=255)),
                ("replies_count", models.BigIntegerField(default=0)),
                ("reblogs_count", models.BigIntegerField(default=0)),
                ("favourites_count", models.BigIntegerField(default=0)),
                ("edited_at", models.DateTimeField(blank=True, null=True)),
                ("is_favourited", models.BooleanField(default=False)),
                ("is_reblogged", models.BooleanField(default=False)),
                ("is_muted", models.BooleanField(default=False)),
                ("is_bookmarked", models.BooleanField(default=False)),
                ("is_pinned", models.BooleanField(default=False)),
                ("language", models.CharField(blank=True, max_length=32, null=True)),
                (
                    "acct",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="posts",
                        to="activity.acct",
                    ),
                ),
                ("mentions", models.ManyToManyField(to="activity.acct")),
                ("tags", models.ManyToManyField(to="activity.tag")),
                ("text_emojis", models.ManyToManyField(to="activity.textemoji")),
            ],
            options={
                "abstract": False,
            },
        ),
    ]
