Improve Terms of Service

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2020-06-19 19:27:10 +02:00
parent 9cc5cb72b5
commit f5241954bd
56 changed files with 10908 additions and 3348 deletions

View File

@@ -161,11 +161,16 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do
{:ok,
%{
instance_description: Config.instance_description(),
instance_long_description: Config.instance_long_description(),
instance_name: Config.instance_name(),
registrations_open: Config.instance_registrations_open?(),
contact: Config.contact(),
instance_terms: Config.instance_terms(),
instance_terms_type: Config.instance_terms_type(),
instance_terms_url: Config.instance_terms_url(),
instance_privacy_policy: Config.instance_privacy(),
instance_privacy_policy_type: Config.instance_privacy_type(),
instance_privacy_policy_url: Config.instance_privacy_url(),
instance_rules: Config.instance_rules()
}}
end

View File

@@ -41,6 +41,19 @@ defmodule Mobilizon.GraphQL.Resolvers.Config do
{:ok, %{body_html: body_html, type: type, url: url}}
end
def privacy(_parent, %{locale: locale}, _resolution) do
type = Config.instance_privacy_type()
{url, body_html} =
case type do
"URL" -> {Config.instance_privacy_url(), nil}
"DEFAULT" -> {nil, Config.generate_privacy(locale)}
_ -> {nil, Config.instance_privacy(locale)}
end
{:ok, %{body_html: body_html, type: type, url: url}}
end
defp config_cache do
case Cachex.fetch(:config, "full_config", fn _key ->
case build_config_cache() do
@@ -58,8 +71,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Config do
name: Config.instance_name(),
registrations_open: Config.instance_registrations_open?(),
registrations_whitelist: Config.instance_registrations_whitelist?(),
contact: Config.contact(),
demo_mode: Config.instance_demo_mode?(),
description: Config.instance_description(),
long_description: Config.instance_long_description(),
anonymous: %{
participation: %{
allowed: Config.anonymous_participation?(),
@@ -107,7 +122,9 @@ defmodule Mobilizon.GraphQL.Resolvers.Config do
features: %{
groups: Config.instance_group_feature_enabled?()
},
rules: Config.instance_rules()
rules: Config.instance_rules(),
version: Config.instance_version(),
federating: Config.instance_federating()
}
end
end

View File

@@ -0,0 +1,19 @@
defmodule Mobilizon.GraphQL.Resolvers.Statistics do
@moduledoc """
Handles the statistics-related GraphQL calls.
"""
alias Mobilizon.Service.Statistics, as: StatisticsModule
@doc """
Gets config.
"""
def get_statistics(_parent, _params, _context) do
{:ok,
%{
number_of_users: StatisticsModule.get_cached_value(:local_users),
number_of_events: StatisticsModule.get_cached_value(:local_events),
number_of_comments: StatisticsModule.get_cached_value(:local_comments)
}}
end
end