diff --git a/chapeau/trilby_api/models.py b/chapeau/trilby_api/models.py index 52300de..5eb498f 100644 --- a/chapeau/trilby_api/models.py +++ b/chapeau/trilby_api/models.py @@ -32,6 +32,14 @@ class TrilbyUser(AbstractUser): def display_name(self): return self.actor.f_name + @property + def avatar(self): + return self.actor.icon + + @property + def header(self): + return self.actor.header + @property def locked(self): return False # TODO diff --git a/chapeau/trilby_api/serializers.py b/chapeau/trilby_api/serializers.py index 9bc37a2..dec5e93 100644 --- a/chapeau/trilby_api/serializers.py +++ b/chapeau/trilby_api/serializers.py @@ -25,19 +25,17 @@ class UserSerializer(serializers.ModelSerializer): source='username', read_only = True) - avatar = serializers.CharField( - read_only = True) - header = serializers.CharField( - read_only = True) + avatar = serializers.CharField() + header = serializers.CharField() # for the moment, treat these as the same. # the spec doesn't actually explain the difference! avatar_static = serializers.CharField( source='avatar', - read_only = True) + ) header_static = serializers.CharField( source='header', - read_only = True) + ) following_count = serializers.SerializerMethodField() followers_count = serializers.SerializerMethodField() diff --git a/chapeau/trilby_api/tests/test_rest.py b/chapeau/trilby_api/tests/test_rest.py index 8932719..e3524fd 100644 --- a/chapeau/trilby_api/tests/test_rest.py +++ b/chapeau/trilby_api/tests/test_rest.py @@ -20,6 +20,11 @@ ACCOUNT_EXPECTED = [ ('fields', []), ('emojis', []), + ('avatar', ''), + ('header', ''), + ('avatar_static', ''), + ('header_static', ''), + ('bot', False), ]