From 67894e2d5f7176785c9f19d78f73894b91d736a2 Mon Sep 17 00:00:00 2001 From: Marnanel Thurman Date: Sat, 4 Apr 2020 20:43:05 +0100 Subject: [PATCH] intermediate --- .../migrations/0028_auto_20200404_1940.py | 23 ++++++++++++++++ kepi/trilby_api/models/person.py | 4 +-- kepi/trilby_api/models/status.py | 27 +++++++++++++++++-- kepi/trilby_api/tests/test_rest.py | 4 +-- 4 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 kepi/trilby_api/migrations/0028_auto_20200404_1940.py diff --git a/kepi/trilby_api/migrations/0028_auto_20200404_1940.py b/kepi/trilby_api/migrations/0028_auto_20200404_1940.py new file mode 100644 index 0000000..abfc5bf --- /dev/null +++ b/kepi/trilby_api/migrations/0028_auto_20200404_1940.py @@ -0,0 +1,23 @@ +# Generated by Django 3.0.4 on 2020-04-04 19:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('trilby_api', '0027_auto_20200331_0123'), + ] + + operations = [ + migrations.AlterField( + model_name='person', + name='default_visibility', + field=models.CharField(default='A', max_length=1), + ), + migrations.AlterField( + model_name='status', + name='visibility', + field=models.CharField(default='A', help_text="Visiblity of this status.\n\n Public (A): visible to anyone.\n Unlisted (U): visible to anyone, but\n doesn't appear in timelines.\n Private (X): only visible to followers.\n Direct (D): visible to nobody except tagged people.\n\n Additionally, a person tagged in a status can\n always view that status.", max_length=1), + ), + ] diff --git a/kepi/trilby_api/models/person.py b/kepi/trilby_api/models/person.py index 74bcf8d..09b5422 100644 --- a/kepi/trilby_api/models/person.py +++ b/kepi/trilby_api/models/person.py @@ -124,8 +124,8 @@ class Person(models.Model): ) default_visibility = models.CharField( - max_length = 255, - default = 'public', + max_length = 1, + default = 'A', # public ) default_sensitive = models.BooleanField( diff --git a/kepi/trilby_api/models/status.py b/kepi/trilby_api/models/status.py index e042394..bcf57d5 100644 --- a/kepi/trilby_api/models/status.py +++ b/kepi/trilby_api/models/status.py @@ -55,9 +55,32 @@ class Status(models.Model): default = '', ) + PUBLIC = 'A' + UNLISTED = 'U' + PRIVATE = 'X' + DIRECT = 'D' + + TYPE_CHOICES = [ + (PUBLIC, 'public'), + (UNLISTED, 'unlisted'), + (PRIVATE, 'private'), + (DIRECT, 'direct'), + ] + + visibility = models.CharField( - max_length = 255, - default = 'public', + max_length = 1, + default = PUBLIC, + help_text = """Visiblity of this status. + + Public (A): visible to anyone. + Unlisted (U): visible to anyone, but + doesn't appear in timelines. + Private (X): only visible to followers. + Direct (D): visible to nobody except tagged people. + + Additionally, a person tagged in a status can + always view that status.""", ) language = models.CharField( diff --git a/kepi/trilby_api/tests/test_rest.py b/kepi/trilby_api/tests/test_rest.py index 889ade7..6d198b8 100644 --- a/kepi/trilby_api/tests/test_rest.py +++ b/kepi/trilby_api/tests/test_rest.py @@ -30,7 +30,7 @@ ACCOUNT_EXPECTED = [ ] ACCOUNT_SOURCE_EXPECTED = [ - ('privacy', 'public'), + ('privacy', 'A'), ('sensitive', False), ('language', settings.KEPI['LANGUAGES'][0]), # FIXME ] @@ -46,7 +46,7 @@ STATUS_EXPECTED = [ ('muted', False), ('sensitive', False), ('spoiler_text', ''), - ('visibility', 'public'), + ('visibility', 'A'), ('media_attachments', []), ('mentions', []), ('tags', []),