From af3142ac3adb0d1f31d160edcb6d076b293020b1 Mon Sep 17 00:00:00 2001 From: Michael Manfre Date: Thu, 15 Dec 2022 02:50:54 -0500 Subject: Basic Emoji suppport (#157) --- activities/migrations/0004_emoji_post_emojis.py | 91 +++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 activities/migrations/0004_emoji_post_emojis.py (limited to 'activities/migrations') diff --git a/activities/migrations/0004_emoji_post_emojis.py b/activities/migrations/0004_emoji_post_emojis.py new file mode 100644 index 0000000..89bc825 --- /dev/null +++ b/activities/migrations/0004_emoji_post_emojis.py @@ -0,0 +1,91 @@ +# Generated by Django 4.1.4 on 2022-12-14 23:49 + +import functools + +import django.db.models.deletion +from django.db import migrations, models + +import activities.models.emoji +import core.uploads +import stator.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0003_identity_followers_etc"), + ("activities", "0003_postattachment_null_thumb"), + ] + + operations = [ + migrations.CreateModel( + name="Emoji", + 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)), + ("shortcode", models.SlugField(max_length=100)), + ("local", models.BooleanField(default=True)), + ("public", models.BooleanField(null=True)), + ( + "object_uri", + models.CharField( + blank=True, max_length=500, null=True, unique=True + ), + ), + ("mimetype", models.CharField(max_length=200)), + ( + "file", + models.ImageField( + blank=True, + null=True, + upload_to=functools.partial( + core.uploads.upload_emoji_namer, *("emoji",), **{} + ), + ), + ), + ("remote_url", models.CharField(blank=True, max_length=500, null=True)), + ("category", models.CharField(blank=True, max_length=100, null=True)), + ( + "state", + stator.models.StateField( + choices=[("outdated", "outdated"), ("updated", "updated")], + default="outdated", + graph=activities.models.emoji.EmojiStates, + max_length=100, + ), + ), + ("created", models.DateTimeField(auto_now_add=True)), + ("updated", models.DateTimeField(auto_now=True)), + ( + "domain", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + to="users.domain", + ), + ), + ], + options={ + "unique_together": {("domain", "shortcode")}, + }, + ), + migrations.AddField( + model_name="post", + name="emojis", + field=models.ManyToManyField( + blank=True, related_name="posts_using_emoji", to="activities.emoji" + ), + ), + ] -- cgit v1.2.3