From 3db367f4bc67560dff1135f376b17db16b7ba455 Mon Sep 17 00:00:00 2001 From: Georg Krause Date: Fri, 24 Nov 2023 13:37:11 +0000 Subject: [PATCH] feat(api): Add codeOfConduct to NodeInfo Endpoint Part-of: --- api/funkwhale_api/instance/serializers.py | 8 ++++++++ api/tests/instance/test_nodeinfo.py | 1 + 2 files changed, 9 insertions(+) diff --git a/api/funkwhale_api/instance/serializers.py b/api/funkwhale_api/instance/serializers.py index 87dc1b139..7856df065 100644 --- a/api/funkwhale_api/instance/serializers.py +++ b/api/funkwhale_api/instance/serializers.py @@ -205,6 +205,14 @@ class Metadata21Serializer(MetadataSerializer): location = serializers.CharField() content = MetadataContentSerializer() features = serializers.ListField(child=serializers.CharField()) + codeOfConduct = serializers.SerializerMethodField() + + def get_codeOfConduct(self, obj) -> str: + return ( + full_url("/about/pod#rules") + if obj["preferences"].get("instance__rules") + else "" + ) class NodeInfo20Serializer(serializers.Serializer): diff --git a/api/tests/instance/test_nodeinfo.py b/api/tests/instance/test_nodeinfo.py index 4f31aee2a..e8896e3bd 100644 --- a/api/tests/instance/test_nodeinfo.py +++ b/api/tests/instance/test_nodeinfo.py @@ -155,6 +155,7 @@ def test_nodeinfo_21(api_client): ("topPodcastCategories", []), ] ), + "codeOfConduct": "", }, }