diff options
author | Andrew Godwin | 2022-11-18 08:28:15 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-11-18 11:28:16 -0700 |
commit | 81de10b70c85c5222b17d8c4358a8aa8812f2559 (patch) | |
tree | 8e028b62d3a883294caedc82c5870f23273e2032 /activities/migrations/0001_initial.py | |
parent | 1b44a253316a84f40070264ea8134c86d1223441 (diff) | |
download | takahe-81de10b70c85c5222b17d8c4358a8aa8812f2559.tar.gz takahe-81de10b70c85c5222b17d8c4358a8aa8812f2559.tar.bz2 takahe-81de10b70c85c5222b17d8c4358a8aa8812f2559.zip |
Migration reset, start of docs, env vars
Diffstat (limited to 'activities/migrations/0001_initial.py')
-rw-r--r-- | activities/migrations/0001_initial.py | 239 |
1 files changed, 229 insertions, 10 deletions
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"), }, }, ), |