Format code, expose instance configuration related to birth dates

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak 2022-01-18 18:02:01 +01:00
parent b108b05650
commit 397f67fef8
7 changed files with 16 additions and 12 deletions

View file

@ -966,7 +966,8 @@
%{
key: :birth_date_min_age,
type: :integer,
description: "Min age for users to create account. Only makes sense if birth date is required."
description:
"Min age for users to create account. Only makes sense if birth date is required."
}
]
},

View file

@ -157,7 +157,6 @@ defmodule Pleroma.User do
field(:birth_date, :date)
field(:hide_birth_date, :boolean, default: false)
embeds_one(
:notification_settings,
Pleroma.User.NotificationSetting,
@ -799,7 +798,7 @@ defp validate_min_age(changeset) do
valid? =
Date.utc_today()
|> Date.diff(birth_date) >=
Config.get([:instance, :birth_date_min_age])
Config.get([:instance, :birth_date_min_age])
if valid?, do: [], else: [birth_date: "Invalid birth date"]
end)

View file

@ -549,7 +549,7 @@ defp create_request do
nullable: true,
description: "User's birth date",
format: :date
},
}
},
example: %{
"username" => "cofe",

View file

@ -47,7 +47,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
description: "whether the user allows automatically follow moved following accounts"
},
background_image: %Schema{type: :string, nullable: true, format: :uri},
birth_date: %Schema{type: :string, format: :date},
birth_date: %Schema{type: :string, nullable: true, format: :date},
chat_token: %Schema{type: :string},
is_confirmed: %Schema{
type: :boolean,

View file

@ -46,7 +46,9 @@ def render("show.json", _) do
federation: federation(),
fields_limits: fields_limits(),
post_formats: Config.get([:instance, :allowed_post_formats]),
privileged_staff: Config.get([:instance, :privileged_staff])
privileged_staff: Config.get([:instance, :privileged_staff]),
birth_date_required: Config.get([:instance, :birth_date_required]),
birth_date_min_age: Config.get([:instance, :birth_date_min_age])
},
stats: %{mau: Pleroma.User.active_user_count()},
vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key)

View file

@ -149,11 +149,11 @@ def birthdays(%{assigns: %{user: %User{} = user}} = conn, %{day: day, month: mon
User.Query.build(%{friends: user, deactivated: false, birth_day: day, birth_month: month})
|> Pleroma.Repo.all()
conn
|> render("index.json",
for: user,
users: birthdays,
as: :user
)
conn
|> render("index.json",
for: user,
users: birthdays,
as: :user
)
end
end

View file

@ -79,6 +79,7 @@ test "Represent a user account" do
ap_id: user.ap_id,
also_known_as: ["https://shitposter.zone/users/shp"],
background_image: "https://example.com/images/asuka_hospital.png",
birth_date: nil,
favicon: nil,
is_confirmed: true,
tags: [],
@ -181,6 +182,7 @@ test "Represent a Service(bot) account" do
ap_id: user.ap_id,
also_known_as: [],
background_image: nil,
birth_date: nil,
favicon: nil,
is_confirmed: true,
tags: [],