From 81de10b70c85c5222b17d8c4358a8aa8812f2559 Mon Sep 17 00:00:00 2001
From: Andrew Godwin
Date: Fri, 18 Nov 2022 08:28:15 -0700
Subject: Migration reset, start of docs, env vars

---
 activities/migrations/0001_initial.py              | 239 ++++++++++++++++++++-
 activities/migrations/0002_fan_out.py              | 103 ---------
 .../migrations/0003_alter_post_object_uri.py       |  18 --
 ...ed_post_published_alter_fanout_type_and_more.py | 126 -----------
 ...005_post_hashtags_alter_fanout_type_and_more.py |  48 -----
 activities/migrations/0006_alter_post_hashtags.py  |  18 --
 activities/migrations/0007_post_edited.py          |  18 --
 activities/migrations/0008_postattachment.py       |  69 ------
 .../migrations/0009_alter_postattachment_file.py   |  28 ---
 9 files changed, 229 insertions(+), 438 deletions(-)
 delete mode 100644 activities/migrations/0002_fan_out.py
 delete mode 100644 activities/migrations/0003_alter_post_object_uri.py
 delete mode 100644 activities/migrations/0004_rename_authored_post_published_alter_fanout_type_and_more.py
 delete mode 100644 activities/migrations/0005_post_hashtags_alter_fanout_type_and_more.py
 delete mode 100644 activities/migrations/0006_alter_post_hashtags.py
 delete mode 100644 activities/migrations/0007_post_edited.py
 delete mode 100644 activities/migrations/0008_postattachment.py
 delete mode 100644 activities/migrations/0009_alter_postattachment_file.py

(limited to 'activities/migrations')

diff --git a/activities/migrations/0001_initial.py b/activities/migrations/0001_initial.py
index 0b350ef..19f3026 100644
--- a/activities/migrations/0001_initial.py
+++ b/activities/migrations/0001_initial.py
@@ -1,9 +1,16 @@
-# Generated by Django 4.1.3 on 2022-11-11 20:02
+# Generated by Django 4.1.3 on 2022-11-18 17:49
+
+import functools
 
 import django.db.models.deletion
+import django.utils.timezone
 from django.db import migrations, models
 
+import activities.models.fan_out
 import activities.models.post
+import activities.models.post_attachment
+import activities.models.post_interaction
+import core.uploads
 import stator.models
 
 
@@ -42,7 +49,12 @@ class Migration(migrations.Migration):
                     ),
                 ),
                 ("local", models.BooleanField()),
-                ("object_uri", models.CharField(blank=True, max_length=500, null=True)),
+                (
+                    "object_uri",
+                    models.CharField(
+                        blank=True, max_length=500, null=True, unique=True
+                    ),
+                ),
                 (
                     "visibility",
                     models.IntegerField(
@@ -63,26 +75,222 @@ class Migration(migrations.Migration):
                     "in_reply_to",
                     models.CharField(blank=True, max_length=500, null=True),
                 ),
+                ("hashtags", models.JSONField(blank=True, null=True)),
+                ("published", models.DateTimeField(default=django.utils.timezone.now)),
+                ("edited", models.DateTimeField(blank=True, null=True)),
                 ("created", models.DateTimeField(auto_now_add=True)),
                 ("updated", models.DateTimeField(auto_now=True)),
                 (
                     "author",
                     models.ForeignKey(
                         on_delete=django.db.models.deletion.PROTECT,
-                        related_name="statuses",
+                        related_name="posts",
                         to="users.identity",
                     ),
                 ),
                 (
                     "mentions",
                     models.ManyToManyField(
-                        related_name="posts_mentioning", to="users.identity"
+                        blank=True, related_name="posts_mentioning", to="users.identity"
                     ),
                 ),
                 (
                     "to",
                     models.ManyToManyField(
-                        related_name="posts_to", to="users.identity"
+                        blank=True, related_name="posts_to", to="users.identity"
+                    ),
+                ),
+            ],
+            options={
+                "abstract": False,
+            },
+        ),
+        migrations.CreateModel(
+            name="PostInteraction",
+            fields=[
+                (
+                    "id",
+                    models.BigAutoField(
+                        auto_created=True,
+                        primary_key=True,
+                        serialize=False,
+                        verbose_name="ID",
+                    ),
+                ),
+                ("state_ready", models.BooleanField(default=True)),
+                ("state_changed", models.DateTimeField(auto_now_add=True)),
+                ("state_attempted", models.DateTimeField(blank=True, null=True)),
+                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
+                (
+                    "state",
+                    stator.models.StateField(
+                        choices=[
+                            ("new", "new"),
+                            ("fanned_out", "fanned_out"),
+                            ("undone", "undone"),
+                            ("undone_fanned_out", "undone_fanned_out"),
+                        ],
+                        default="new",
+                        graph=activities.models.post_interaction.PostInteractionStates,
+                        max_length=100,
+                    ),
+                ),
+                (
+                    "object_uri",
+                    models.CharField(
+                        blank=True, max_length=500, null=True, unique=True
+                    ),
+                ),
+                (
+                    "type",
+                    models.CharField(
+                        choices=[("like", "Like"), ("boost", "Boost")], max_length=100
+                    ),
+                ),
+                ("published", models.DateTimeField(default=django.utils.timezone.now)),
+                ("created", models.DateTimeField(auto_now_add=True)),
+                ("updated", models.DateTimeField(auto_now=True)),
+                (
+                    "identity",
+                    models.ForeignKey(
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="interactions",
+                        to="users.identity",
+                    ),
+                ),
+                (
+                    "post",
+                    models.ForeignKey(
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="interactions",
+                        to="activities.post",
+                    ),
+                ),
+            ],
+            options={
+                "index_together": {("type", "identity", "post")},
+            },
+        ),
+        migrations.CreateModel(
+            name="PostAttachment",
+            fields=[
+                (
+                    "id",
+                    models.BigAutoField(
+                        auto_created=True,
+                        primary_key=True,
+                        serialize=False,
+                        verbose_name="ID",
+                    ),
+                ),
+                ("state_ready", models.BooleanField(default=True)),
+                ("state_changed", models.DateTimeField(auto_now_add=True)),
+                ("state_attempted", models.DateTimeField(blank=True, null=True)),
+                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
+                (
+                    "state",
+                    stator.models.StateField(
+                        choices=[("new", "new"), ("fetched", "fetched")],
+                        default="new",
+                        graph=activities.models.post_attachment.PostAttachmentStates,
+                        max_length=100,
+                    ),
+                ),
+                ("mimetype", models.CharField(max_length=200)),
+                (
+                    "file",
+                    models.FileField(
+                        blank=True,
+                        null=True,
+                        upload_to=functools.partial(
+                            core.uploads.upload_namer, *("attachments",), **{}
+                        ),
+                    ),
+                ),
+                ("remote_url", models.CharField(blank=True, max_length=500, null=True)),
+                ("name", models.TextField(blank=True, null=True)),
+                ("width", models.IntegerField(blank=True, null=True)),
+                ("height", models.IntegerField(blank=True, null=True)),
+                ("focal_x", models.IntegerField(blank=True, null=True)),
+                ("focal_y", models.IntegerField(blank=True, null=True)),
+                ("blurhash", models.TextField(blank=True, null=True)),
+                (
+                    "post",
+                    models.ForeignKey(
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="attachments",
+                        to="activities.post",
+                    ),
+                ),
+            ],
+            options={
+                "abstract": False,
+            },
+        ),
+        migrations.CreateModel(
+            name="FanOut",
+            fields=[
+                (
+                    "id",
+                    models.BigAutoField(
+                        auto_created=True,
+                        primary_key=True,
+                        serialize=False,
+                        verbose_name="ID",
+                    ),
+                ),
+                ("state_ready", models.BooleanField(default=True)),
+                ("state_changed", models.DateTimeField(auto_now_add=True)),
+                ("state_attempted", models.DateTimeField(blank=True, null=True)),
+                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
+                (
+                    "state",
+                    stator.models.StateField(
+                        choices=[("new", "new"), ("sent", "sent")],
+                        default="new",
+                        graph=activities.models.fan_out.FanOutStates,
+                        max_length=100,
+                    ),
+                ),
+                (
+                    "type",
+                    models.CharField(
+                        choices=[
+                            ("post", "Post"),
+                            ("interaction", "Interaction"),
+                            ("undo_interaction", "Undo Interaction"),
+                        ],
+                        max_length=100,
+                    ),
+                ),
+                ("created", models.DateTimeField(auto_now_add=True)),
+                ("updated", models.DateTimeField(auto_now=True)),
+                (
+                    "identity",
+                    models.ForeignKey(
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="fan_outs",
+                        to="users.identity",
+                    ),
+                ),
+                (
+                    "subject_post",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="fan_outs",
+                        to="activities.post",
+                    ),
+                ),
+                (
+                    "subject_post_interaction",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="fan_outs",
+                        to="activities.postinteraction",
                     ),
                 ),
             ],
@@ -107,10 +315,11 @@ class Migration(migrations.Migration):
                     models.CharField(
                         choices=[
                             ("post", "Post"),
-                            ("mention", "Mention"),
-                            ("like", "Like"),
-                            ("follow", "Follow"),
                             ("boost", "Boost"),
+                            ("mentioned", "Mentioned"),
+                            ("liked", "Liked"),
+                            ("followed", "Followed"),
+                            ("boosted", "Boosted"),
                         ],
                         max_length=100,
                     ),
@@ -140,15 +349,25 @@ class Migration(migrations.Migration):
                         blank=True,
                         null=True,
                         on_delete=django.db.models.deletion.CASCADE,
-                        related_name="timeline_events_about_us",
+                        related_name="timeline_events",
                         to="activities.post",
                     ),
                 ),
+                (
+                    "subject_post_interaction",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        related_name="timeline_events",
+                        to="activities.postinteraction",
+                    ),
+                ),
             ],
             options={
                 "index_together": {
-                    ("identity", "type", "subject_post", "subject_identity"),
                     ("identity", "type", "subject_identity"),
+                    ("identity", "type", "subject_post", "subject_identity"),
                 },
             },
         ),
diff --git a/activities/migrations/0002_fan_out.py b/activities/migrations/0002_fan_out.py
deleted file mode 100644
index f3b626e..0000000
--- a/activities/migrations/0002_fan_out.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-12 05:36
-
-import django.db.models.deletion
-import django.utils.timezone
-from django.db import migrations, models
-
-import activities.models.fan_out
-import stator.models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0001_initial"),
-        ("activities", "0001_initial"),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name="post",
-            name="authored",
-            field=models.DateTimeField(default=django.utils.timezone.now),
-        ),
-        migrations.AlterField(
-            model_name="post",
-            name="author",
-            field=models.ForeignKey(
-                on_delete=django.db.models.deletion.PROTECT,
-                related_name="posts",
-                to="users.identity",
-            ),
-        ),
-        migrations.AlterField(
-            model_name="post",
-            name="mentions",
-            field=models.ManyToManyField(
-                blank=True, related_name="posts_mentioning", to="users.identity"
-            ),
-        ),
-        migrations.AlterField(
-            model_name="post",
-            name="to",
-            field=models.ManyToManyField(
-                blank=True, related_name="posts_to", to="users.identity"
-            ),
-        ),
-        migrations.CreateModel(
-            name="FanOut",
-            fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("state_ready", models.BooleanField(default=True)),
-                ("state_changed", models.DateTimeField(auto_now_add=True)),
-                ("state_attempted", models.DateTimeField(blank=True, null=True)),
-                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
-                (
-                    "state",
-                    stator.models.StateField(
-                        choices=[("new", "new"), ("sent", "sent")],
-                        default="new",
-                        graph=activities.models.fan_out.FanOutStates,
-                        max_length=100,
-                    ),
-                ),
-                (
-                    "type",
-                    models.CharField(
-                        choices=[("post", "Post"), ("boost", "Boost")], max_length=100
-                    ),
-                ),
-                ("created", models.DateTimeField(auto_now_add=True)),
-                ("updated", models.DateTimeField(auto_now=True)),
-                (
-                    "identity",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="fan_outs",
-                        to="users.identity",
-                    ),
-                ),
-                (
-                    "subject_post",
-                    models.ForeignKey(
-                        blank=True,
-                        null=True,
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="fan_outs",
-                        to="activities.post",
-                    ),
-                ),
-            ],
-            options={
-                "abstract": False,
-            },
-        ),
-    ]
diff --git a/activities/migrations/0003_alter_post_object_uri.py b/activities/migrations/0003_alter_post_object_uri.py
deleted file mode 100644
index 4f98bc9..0000000
--- a/activities/migrations/0003_alter_post_object_uri.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-13 03:09
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("activities", "0002_fan_out"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="post",
-            name="object_uri",
-            field=models.CharField(blank=True, max_length=500, null=True, unique=True),
-        ),
-    ]
diff --git a/activities/migrations/0004_rename_authored_post_published_alter_fanout_type_and_more.py b/activities/migrations/0004_rename_authored_post_published_alter_fanout_type_and_more.py
deleted file mode 100644
index 7972f18..0000000
--- a/activities/migrations/0004_rename_authored_post_published_alter_fanout_type_and_more.py
+++ /dev/null
@@ -1,126 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-14 00:41
-
-import django.db.models.deletion
-import django.utils.timezone
-from django.db import migrations, models
-
-import activities.models.post_interaction
-import stator.models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("users", "0002_identity_public_key_id"),
-        ("activities", "0003_alter_post_object_uri"),
-    ]
-
-    operations = [
-        migrations.RenameField(
-            model_name="post",
-            old_name="authored",
-            new_name="published",
-        ),
-        migrations.AlterField(
-            model_name="fanout",
-            name="type",
-            field=models.CharField(
-                choices=[("post", "Post"), ("interaction", "Interaction")],
-                max_length=100,
-            ),
-        ),
-        migrations.AlterField(
-            model_name="timelineevent",
-            name="subject_post",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="timeline_events",
-                to="activities.post",
-            ),
-        ),
-        migrations.CreateModel(
-            name="PostInteraction",
-            fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("state_ready", models.BooleanField(default=True)),
-                ("state_changed", models.DateTimeField(auto_now_add=True)),
-                ("state_attempted", models.DateTimeField(blank=True, null=True)),
-                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
-                (
-                    "state",
-                    stator.models.StateField(
-                        choices=[("new", "new"), ("fanned_out", "fanned_out")],
-                        default="new",
-                        graph=activities.models.post_interaction.PostInteractionStates,
-                        max_length=100,
-                    ),
-                ),
-                (
-                    "object_uri",
-                    models.CharField(
-                        blank=True, max_length=500, null=True, unique=True
-                    ),
-                ),
-                (
-                    "type",
-                    models.CharField(
-                        choices=[("like", "Like"), ("boost", "Boost")], max_length=100
-                    ),
-                ),
-                ("published", models.DateTimeField(default=django.utils.timezone.now)),
-                ("created", models.DateTimeField(auto_now_add=True)),
-                ("updated", models.DateTimeField(auto_now=True)),
-                (
-                    "identity",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="interactions",
-                        to="users.identity",
-                    ),
-                ),
-                (
-                    "post",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="interactions",
-                        to="activities.post",
-                    ),
-                ),
-            ],
-            options={
-                "index_together": {("type", "identity", "post")},
-            },
-        ),
-        migrations.AddField(
-            model_name="fanout",
-            name="subject_post_interaction",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="fan_outs",
-                to="activities.postinteraction",
-            ),
-        ),
-        migrations.AddField(
-            model_name="timelineevent",
-            name="subject_post_interaction",
-            field=models.ForeignKey(
-                blank=True,
-                null=True,
-                on_delete=django.db.models.deletion.CASCADE,
-                related_name="timeline_events",
-                to="activities.postinteraction",
-            ),
-        ),
-    ]
diff --git a/activities/migrations/0005_post_hashtags_alter_fanout_type_and_more.py b/activities/migrations/0005_post_hashtags_alter_fanout_type_and_more.py
deleted file mode 100644
index 07d5cca..0000000
--- a/activities/migrations/0005_post_hashtags_alter_fanout_type_and_more.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-16 20:18
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        (
-            "activities",
-            "0004_rename_authored_post_published_alter_fanout_type_and_more",
-        ),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name="post",
-            name="hashtags",
-            field=models.JSONField(default=[]),
-        ),
-        migrations.AlterField(
-            model_name="fanout",
-            name="type",
-            field=models.CharField(
-                choices=[
-                    ("post", "Post"),
-                    ("interaction", "Interaction"),
-                    ("undo_interaction", "Undo Interaction"),
-                ],
-                max_length=100,
-            ),
-        ),
-        migrations.AlterField(
-            model_name="timelineevent",
-            name="type",
-            field=models.CharField(
-                choices=[
-                    ("post", "Post"),
-                    ("boost", "Boost"),
-                    ("mentioned", "Mentioned"),
-                    ("liked", "Liked"),
-                    ("followed", "Followed"),
-                    ("boosted", "Boosted"),
-                ],
-                max_length=100,
-            ),
-        ),
-    ]
diff --git a/activities/migrations/0006_alter_post_hashtags.py b/activities/migrations/0006_alter_post_hashtags.py
deleted file mode 100644
index b6149ea..0000000
--- a/activities/migrations/0006_alter_post_hashtags.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-17 04:18
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("activities", "0005_post_hashtags_alter_fanout_type_and_more"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="post",
-            name="hashtags",
-            field=models.JSONField(blank=True, null=True),
-        ),
-    ]
diff --git a/activities/migrations/0007_post_edited.py b/activities/migrations/0007_post_edited.py
deleted file mode 100644
index d4a661f..0000000
--- a/activities/migrations/0007_post_edited.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-17 04:50
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("activities", "0006_alter_post_hashtags"),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name="post",
-            name="edited",
-            field=models.DateTimeField(blank=True, null=True),
-        ),
-    ]
diff --git a/activities/migrations/0008_postattachment.py b/activities/migrations/0008_postattachment.py
deleted file mode 100644
index 168ed58..0000000
--- a/activities/migrations/0008_postattachment.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-17 05:42
-
-import django.db.models.deletion
-from django.db import migrations, models
-
-import activities.models.post_attachment
-import stator.models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("activities", "0007_post_edited"),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name="PostAttachment",
-            fields=[
-                (
-                    "id",
-                    models.BigAutoField(
-                        auto_created=True,
-                        primary_key=True,
-                        serialize=False,
-                        verbose_name="ID",
-                    ),
-                ),
-                ("state_ready", models.BooleanField(default=True)),
-                ("state_changed", models.DateTimeField(auto_now_add=True)),
-                ("state_attempted", models.DateTimeField(blank=True, null=True)),
-                ("state_locked_until", models.DateTimeField(blank=True, null=True)),
-                (
-                    "state",
-                    stator.models.StateField(
-                        choices=[("new", "new"), ("fetched", "fetched")],
-                        default="new",
-                        graph=activities.models.post_attachment.PostAttachmentStates,
-                        max_length=100,
-                    ),
-                ),
-                ("mimetype", models.CharField(max_length=200)),
-                (
-                    "file",
-                    models.FileField(
-                        blank=True, null=True, upload_to="attachments/%Y/%m/%d/"
-                    ),
-                ),
-                ("remote_url", models.CharField(blank=True, max_length=500, null=True)),
-                ("name", models.TextField(blank=True, null=True)),
-                ("width", models.IntegerField(blank=True, null=True)),
-                ("height", models.IntegerField(blank=True, null=True)),
-                ("focal_x", models.IntegerField(blank=True, null=True)),
-                ("focal_y", models.IntegerField(blank=True, null=True)),
-                ("blurhash", models.TextField(blank=True, null=True)),
-                (
-                    "post",
-                    models.ForeignKey(
-                        on_delete=django.db.models.deletion.CASCADE,
-                        related_name="attachments",
-                        to="activities.post",
-                    ),
-                ),
-            ],
-            options={
-                "abstract": False,
-            },
-        ),
-    ]
diff --git a/activities/migrations/0009_alter_postattachment_file.py b/activities/migrations/0009_alter_postattachment_file.py
deleted file mode 100644
index 0a250c3..0000000
--- a/activities/migrations/0009_alter_postattachment_file.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Generated by Django 4.1.3 on 2022-11-18 01:40
-
-import functools
-
-from django.db import migrations, models
-
-import core.uploads
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ("activities", "0008_postattachment"),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name="postattachment",
-            name="file",
-            field=models.FileField(
-                blank=True,
-                null=True,
-                upload_to=functools.partial(
-                    core.uploads.upload_namer, *("attachments",), **{}
-                ),
-            ),
-        ),
-    ]
-- 
cgit v1.2.3