diff options
5 files changed, 13 insertions, 9 deletions
diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex index 327279bf8..b15e9ec5e 100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex @@ -5,8 +5,6 @@ defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode do use Ecto.Type - import Pleroma.Web.CommonAPI.Utils, only: [is_good_locale_code?: 1] - def type, do: :string def cast(language) when is_binary(language) do @@ -22,4 +20,8 @@ defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode do def dump(data), do: {:ok, data} def load(data), do: {:ok, data} + + def is_good_locale_code?(code) when is_binary(code), do: code =~ ~r<^[a-zA-Z0-9\-]+$> + + def is_good_locale_code?(_code), do: false end diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/map_of_string.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/map_of_string.ex index 96b7f2da6..2228edd24 100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/map_of_string.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/map_of_string.ex @@ -5,7 +5,8 @@ defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.MapOfString do use Ecto.Type - import Pleroma.Web.CommonAPI.Utils, only: [is_good_locale_code?: 1] + import Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode, + only: [is_good_locale_code?: 1] def type, do: :map diff --git a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex index ccc76beed..fa581eba4 100644 --- a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex +++ b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex @@ -10,7 +10,9 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.CommonFixes do alias Pleroma.Web.ActivityPub.Transmogrifier alias Pleroma.Web.ActivityPub.Utils - import Pleroma.Web.CommonAPI.Utils, only: [is_good_locale_code?: 1] + import Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode, + only: [is_good_locale_code?: 1] + import Pleroma.Web.Utils.Guards, only: [not_empty_string: 1] def cast_and_filter_recipients(message, field, follower_collection, field_fallback \\ []) do diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex index bcbb134bb..1b6118cf8 100644 --- a/lib/pleroma/web/common_api/activity_draft.ex +++ b/lib/pleroma/web/common_api/activity_draft.ex @@ -10,6 +10,9 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do alias Pleroma.Web.CommonAPI alias Pleroma.Web.CommonAPI.Utils + import Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode, + only: [is_good_locale_code?: 1] + import Pleroma.Web.Gettext defstruct valid?: true, @@ -195,7 +198,7 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do defp language(draft) do language = draft.params[:language] - if Utils.is_good_locale_code?(language) do + if is_good_locale_code?(language) do %__MODULE__{draft | language: language} else draft diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 05a5b818e..b9fe0224c 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -494,8 +494,4 @@ defmodule Pleroma.Web.CommonAPI.Utils do {:error, dgettext("errors", "Too many attachments")} end end - - def is_good_locale_code?(code) when is_binary(code), do: code =~ ~r<^[a-zA-Z0-9\-]+$> - - def is_good_locale_code?(_code), do: false end |