From 9413dacaf28d9448e0774215b2d092d644c95510 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 10 Sep 2021 11:44:01 -0700 Subject: [PATCH] Updates instance info endpoint --- ..._sitesettings_instance_short_description.py | 18 ++++++++++++++++++ bookwyrm/models/site.py | 1 + bookwyrm/views/wellknown.py | 11 +++++++---- 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 bookwyrm/migrations/0092_sitesettings_instance_short_description.py diff --git a/bookwyrm/migrations/0092_sitesettings_instance_short_description.py b/bookwyrm/migrations/0092_sitesettings_instance_short_description.py new file mode 100644 index 000000000..4c62dd7be --- /dev/null +++ b/bookwyrm/migrations/0092_sitesettings_instance_short_description.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.4 on 2021-09-10 18:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0091_merge_0090_auto_20210908_2346_0090_emailblocklist"), + ] + + operations = [ + migrations.AddField( + model_name="sitesettings", + name="instance_short_description", + field=models.TextField(blank=True, null=True), + ), + ] diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index d9289b148..cf3a94b2c 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -20,6 +20,7 @@ class SiteSettings(models.Model): max_length=150, default="Social Reading and Reviewing" ) instance_description = models.TextField(default="This instance has no description.") + instance_short_description = models.TextField(blank=True, null=True) # about page registration_closed_text = models.TextField( diff --git a/bookwyrm/views/wellknown.py b/bookwyrm/views/wellknown.py index 9c76beafa..426d0cdcf 100644 --- a/bookwyrm/views/wellknown.py +++ b/bookwyrm/views/wellknown.py @@ -8,7 +8,7 @@ from django.utils import timezone from django.views.decorators.http import require_GET from bookwyrm import models -from bookwyrm.settings import DOMAIN, VERSION +from bookwyrm.settings import DOMAIN, VERSION, MEDIA_FULL_URL @require_GET @@ -95,21 +95,24 @@ def instance_info(_): status_count = models.Status.objects.filter(user__local=True).count() site = models.SiteSettings.get() + logo_path = site.logo_small or "images/logo-small.png" + logo = f"{MEDIA_FULL_URL}{logo_path}" return JsonResponse( { "uri": DOMAIN, "title": site.name, - "short_description": "", + "short_description": site.instance_short_description, "description": site.instance_description, - "version": "0.0.1", + "version": VERSION, "stats": { "user_count": user_count, "status_count": status_count, }, - "thumbnail": "https://%s/static/images/logo.png" % DOMAIN, + "thumbnail": logo, "languages": ["en"], "registrations": site.allow_registration, "approval_required": False, + "email": site.admin_email, } )