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": "", }, }