2018-03-28 18:20:12 +00:00
|
|
|
from dynamic_preferences import types
|
|
|
|
from dynamic_preferences.registries import global_preferences_registry
|
|
|
|
|
2018-06-09 13:36:16 +00:00
|
|
|
federation = types.Section("federation")
|
2018-04-13 19:31:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
@global_preferences_registry.register
|
|
|
|
class MusicCacheDuration(types.IntPreference):
|
|
|
|
show_in_api = True
|
|
|
|
section = federation
|
2018-06-09 13:36:16 +00:00
|
|
|
name = "music_cache_duration"
|
2018-04-13 19:31:40 +00:00
|
|
|
default = 60 * 24 * 2
|
2018-06-09 13:36:16 +00:00
|
|
|
verbose_name = "Music cache duration"
|
2018-04-13 19:31:40 +00:00
|
|
|
help_text = (
|
2019-09-04 09:01:37 +00:00
|
|
|
"How many minutes do you want to keep a copy of federated tracks "
|
2018-06-09 13:36:16 +00:00
|
|
|
"locally? Federated files that were not listened in this interval "
|
|
|
|
"will be erased and refetched from the remote on the next listening."
|
2018-04-13 19:31:40 +00:00
|
|
|
)
|
2018-06-09 13:36:16 +00:00
|
|
|
field_kwargs = {"required": False}
|
2018-04-28 03:55:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
@global_preferences_registry.register
|
2020-08-03 13:47:14 +00:00
|
|
|
class Enabled(types.BooleanPreference):
|
2018-04-28 03:55:21 +00:00
|
|
|
section = federation
|
2018-06-09 13:36:16 +00:00
|
|
|
name = "enabled"
|
2020-08-03 13:47:14 +00:00
|
|
|
default = True
|
2018-06-09 13:36:16 +00:00
|
|
|
verbose_name = "Federation enabled"
|
2018-04-28 03:55:21 +00:00
|
|
|
help_text = (
|
2018-06-09 13:36:16 +00:00
|
|
|
"Use this setting to enable or disable federation logic and API" " globally."
|
2018-04-28 03:55:21 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@global_preferences_registry.register
|
2020-08-03 13:47:14 +00:00
|
|
|
class CollectionPageSize(types.IntPreference):
|
2018-04-28 03:55:21 +00:00
|
|
|
section = federation
|
2018-06-09 13:36:16 +00:00
|
|
|
name = "collection_page_size"
|
2020-08-03 13:47:14 +00:00
|
|
|
default = 50
|
2018-06-09 13:36:16 +00:00
|
|
|
verbose_name = "Federation collection page size"
|
2019-09-04 09:01:37 +00:00
|
|
|
help_text = "How many items to display in ActivityPub collections."
|
2018-06-09 13:36:16 +00:00
|
|
|
field_kwargs = {"required": False}
|
2018-04-28 03:55:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
@global_preferences_registry.register
|
2020-08-03 13:47:14 +00:00
|
|
|
class ActorFetchDelay(types.IntPreference):
|
2018-04-28 03:55:21 +00:00
|
|
|
section = federation
|
2018-06-09 13:36:16 +00:00
|
|
|
name = "actor_fetch_delay"
|
2020-08-03 13:47:14 +00:00
|
|
|
default = 60 * 12
|
2018-06-09 13:36:16 +00:00
|
|
|
verbose_name = "Federation actor fetch delay"
|
2018-04-28 03:55:21 +00:00
|
|
|
help_text = (
|
2019-09-04 09:01:37 +00:00
|
|
|
"How many minutes to wait before refetching actors on "
|
2018-06-09 13:36:16 +00:00
|
|
|
"request authentication."
|
2018-04-28 03:55:21 +00:00
|
|
|
)
|
2018-06-09 13:36:16 +00:00
|
|
|
field_kwargs = {"required": False}
|
2020-07-28 12:21:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
@global_preferences_registry.register
|
|
|
|
class PublicIndex(types.BooleanPreference):
|
|
|
|
show_in_api = True
|
|
|
|
section = federation
|
|
|
|
name = "public_index"
|
|
|
|
default = True
|
|
|
|
verbose_name = "Enable public index"
|
|
|
|
help_text = "If this is enabled, public channels and libraries will be crawlable by other pods and bots"
|