summaryrefslogtreecommitdiffstats
path: root/activities/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'activities/migrations')
-rw-r--r--activities/migrations/0001_initial.py155
-rw-r--r--activities/migrations/__init__.py0
2 files changed, 155 insertions, 0 deletions
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"),
+ },
+ },
+ ),
+ ]
diff --git a/activities/migrations/__init__.py b/activities/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/activities/migrations/__init__.py