Merge branch 'fix/truncate-remote-user-fields' into 'develop'

Truncate remote user fields

See merge request pleroma/pleroma!1619
This commit is contained in:
rinpatch 2019-09-14 16:39:42 +00:00
commit 62bbba80f3
3 changed files with 85 additions and 21 deletions

View file

@ -174,11 +174,25 @@ defmodule Pleroma.User do
|> Repo.aggregate(:count, :id)
end
defp truncate_if_exists(params, key, max_length) do
if Map.has_key?(params, key) and is_binary(params[key]) do
{value, _chopped} = String.split_at(params[key], max_length)
Map.put(params, key, value)
else
params
end
end
def remote_user_creation(params) do
bio_limit = Pleroma.Config.get([:instance, :user_bio_length], 5000)
name_limit = Pleroma.Config.get([:instance, :user_name_length], 100)
params = Map.put(params, :info, params[:info] || %{})
params =
params
|> Map.put(:info, params[:info] || %{})
|> truncate_if_exists(:name, name_limit)
|> truncate_if_exists(:bio, bio_limit)
info_cng = User.Info.remote_user_creation(%User.Info{}, params[:info])
changes =