projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'remotes/origin/develop' into auth-improvements
[akkoma]
/
lib
/
pleroma
/
user.ex
diff --git
a/lib/pleroma/user.ex
b/lib/pleroma/user.ex
index 66f5efca756bf473c7fbbb2744e7d92f9c19b6b6..7d5e83a7f51bb5ade5599bb7f3cd5a3d0e43c57d 100644
(file)
--- a/
lib/pleroma/user.ex
+++ b/
lib/pleroma/user.ex
@@
-473,6
+473,18
@@
defmodule Pleroma.User do
|> validate_length(:bio, max: bio_limit)
|> validate_length(:name, max: name_limit)
|> validate_fields(true)
|> validate_length(:bio, max: bio_limit)
|> validate_length(:name, max: name_limit)
|> validate_fields(true)
+ |> validate_non_local()
+ end
+
+ defp validate_non_local(cng) do
+ local? = get_field(cng, :local)
+
+ if local? do
+ cng
+ |> add_error(:local, "User is local, can't update with this changeset.")
+ else
+ cng
+ end
end
def update_changeset(struct, params \\ %{}) do
end
def update_changeset(struct, params \\ %{}) do
@@
-1789,12
+1801,12
@@
defmodule Pleroma.User do
def html_filter_policy(_), do: Config.get([:markup, :scrub_policy])
def html_filter_policy(_), do: Config.get([:markup, :scrub_policy])
- def fetch_by_ap_id(ap_id
, opts \\ []), do: ActivityPub.make_user_from_ap_id(ap_id, opts
)
+ def fetch_by_ap_id(ap_id
), do: ActivityPub.make_user_from_ap_id(ap_id
)
- def get_or_fetch_by_ap_id(ap_id
, opts \\ []
) do
+ def get_or_fetch_by_ap_id(ap_id) do
cached_user = get_cached_by_ap_id(ap_id)
cached_user = get_cached_by_ap_id(ap_id)
- maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id
, opts
)
+ maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id)
case {cached_user, maybe_fetched_user} do
{_, {:ok, %User{} = user}} ->
case {cached_user, maybe_fetched_user} do
{_, {:ok, %User{} = user}} ->
@@
-1867,8
+1879,8
@@
defmodule Pleroma.User do
def public_key(_), do: {:error, "key not found"}
def public_key(_), do: {:error, "key not found"}
- def get_public_key_for_ap_id(ap_id
, opts \\ []
) do
- with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id
, opts
),
+ def get_public_key_for_ap_id(ap_id) do
+ with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id),
{:ok, public_key} <- public_key(user) do
{:ok, public_key}
else
{:ok, public_key} <- public_key(user) do
{:ok, public_key}
else
@@
-2406,4
+2418,8
@@
defmodule Pleroma.User do
|> Map.put(:bio, HTML.filter_tags(user.bio, filter))
|> Map.put(:fields, fields)
end
|> Map.put(:bio, HTML.filter_tags(user.bio, filter))
|> Map.put(:fields, fields)
end
+
+ def get_host(%User{ap_id: ap_id} = _user) do
+ URI.parse(ap_id).host
+ end
end
end