Verified Commit 1974c17e authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Fix #200: Instances can now indicate on the nodeinfo endpoint if they want to remain private

parent ceccaa13
......@@ -85,6 +85,20 @@ class InstanceNodeinfoEnabled(types.BooleanPreference):
)
@global_preferences_registry.register
class InstanceNodeinfoPrivate(types.BooleanPreference):
show_in_api = False
section = instance
name = 'nodeinfo_private'
default = False
verbose_name = 'Enable nodeinfo endpoint'
help_text = (
'Indicate in the nodeinfo endpoint that you do not want your instance'
'to be tracked by third-party services.'
'There is no guarantee these tools will honor this setting though.'
)
@global_preferences_registry.register
class InstanceNodeinfoStatsEnabled(types.BooleanPreference):
show_in_api = False
......
......@@ -12,6 +12,7 @@ memo = memoize.Memoizer(store, namespace='instance:stats')
def get():
share_stats = preferences.get('instance__nodeinfo_stats_enabled')
private = preferences.get('instance__nodeinfo_private')
data = {
'version': '2.0',
'software': {
......@@ -30,6 +31,7 @@ def get():
}
},
'metadata': {
'private': preferences.get('instance__nodeinfo_private'),
'shortDescription': preferences.get('instance__short_description'),
'longDescription': preferences.get('instance__long_description'),
'nodeName': preferences.get('instance__name'),
......
......@@ -36,6 +36,7 @@ def test_nodeinfo_dump(preferences, mocker):
}
},
'metadata': {
'private': preferences['instance__nodeinfo_private'],
'shortDescription': preferences['instance__short_description'],
'longDescription': preferences['instance__long_description'],
'nodeName': preferences['instance__name'],
......@@ -92,6 +93,7 @@ def test_nodeinfo_dump_stats_disabled(preferences, mocker):
}
},
'metadata': {
'private': preferences['instance__nodeinfo_private'],
'shortDescription': preferences['instance__short_description'],
'longDescription': preferences['instance__long_description'],
'nodeName': preferences['instance__name'],
......
Instances can now indicate on the nodeinfo endpoint if they want to remain private (#200)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment