From e9d951e4cd1fd51323814951b5e82b0bc289b607 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 10:33:57 -0700 Subject: [PATCH] Add user model field for followers url --- .../migrations/0086_auto_20210828_1724.py | 26 +++++++++++++++++++ bookwyrm/models/user.py | 7 +++-- 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 bookwyrm/migrations/0086_auto_20210828_1724.py diff --git a/bookwyrm/migrations/0086_auto_20210828_1724.py b/bookwyrm/migrations/0086_auto_20210828_1724.py new file mode 100644 index 000000000..35b17758b --- /dev/null +++ b/bookwyrm/migrations/0086_auto_20210828_1724.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.4 on 2021-08-28 17:24 + +import bookwyrm.models.fields +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0085_user_saved_lists'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='followers_url', + field=bookwyrm.models.fields.CharField(default='/followers', max_length=255), + preserve_default=False, + ), + migrations.AlterField( + model_name='user', + name='followers', + field=models.ManyToManyField(through='bookwyrm.UserFollows', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 0ef23d3f0..1f501dfc0 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -82,13 +82,12 @@ class User(OrderedCollectionPageMixin, AbstractUser): preview_image = models.ImageField( upload_to="previews/avatars/", blank=True, null=True ) - followers = fields.ManyToManyField( + followers_url = fields.CharField(max_length=255, activitypub_field="followers") + followers = models.ManyToManyField( "self", - link_only=True, symmetrical=False, through="UserFollows", through_fields=("user_object", "user_subject"), - related_name="following", ) follow_requests = models.ManyToManyField( "self", @@ -228,7 +227,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): def to_followers_activity(self, **kwargs): """activitypub followers list""" - remote_id = "%s/followers" % self.remote_id + remote_id = self.followers_url return self.to_ordered_collection( self.followers.order_by("-updated_date").all(), remote_id=remote_id,