From feb5d9b74fa1e8454eaaf29afae3643c6d7c81f1 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Fri, 11 Nov 2022 22:02:43 -0700 Subject: Got up to incoming posts working --- activities/migrations/0001_initial.py | 155 ++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 activities/migrations/0001_initial.py (limited to 'activities/migrations/0001_initial.py') diff --git a/activities/migrations/0001_initial.py b/activities/migrations/0001_initial.py new file mode 100644 index 0000000..a97146d --- /dev/null +++ b/activities/migrations/0001_initial.py @@ -0,0 +1,155 @@ +# Generated by Django 4.1.3 on 2022-11-11 20:02 + +import django.db.models.deletion +from django.db import migrations, models + +import activities.models.post +import stator.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("users", "0001_initial"), + ] + + operations = [ + migrations.CreateModel( + name="Post", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("state_ready", models.BooleanField(default=False)), + ("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.PostStates, + max_length=100, + ), + ), + ("local", models.BooleanField()), + ("object_uri", models.CharField(blank=True, max_length=500, null=True)), + ( + "visibility", + models.IntegerField( + choices=[ + (0, "Public"), + (1, "Unlisted"), + (2, "Followers"), + (3, "Mentioned"), + ], + default=0, + ), + ), + ("content", models.TextField()), + ("sensitive", models.BooleanField(default=False)), + ("summary", models.TextField(blank=True, null=True)), + ("url", models.CharField(blank=True, max_length=500, null=True)), + ( + "in_reply_to", + models.CharField(blank=True, max_length=500, 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", + to="users.identity", + ), + ), + ( + "mentions", + models.ManyToManyField( + related_name="posts_mentioning", to="users.identity" + ), + ), + ( + "to", + models.ManyToManyField( + related_name="posts_to", to="users.identity" + ), + ), + ], + options={ + "abstract": False, + }, + ), + migrations.CreateModel( + name="TimelineEvent", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "type", + models.CharField( + choices=[ + ("post", "Post"), + ("mention", "Mention"), + ("like", "Like"), + ("follow", "Follow"), + ("boost", "Boost"), + ], + max_length=100, + ), + ), + ("created", models.DateTimeField(auto_now_add=True)), + ( + "identity", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="timeline_events", + to="users.identity", + ), + ), + ( + "subject_identity", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="timeline_events_about_us", + to="users.identity", + ), + ), + ( + "subject_post", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="timeline_events_about_us", + to="activities.post", + ), + ), + ], + options={ + "index_together": { + ("identity", "type", "subject_post", "subject_identity"), + ("identity", "type", "subject_identity"), + }, + }, + ), + ] -- cgit v1.2.3