diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2020-10-06 17:17:56 +0200 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2020-10-06 17:29:01 +0200 |
commit | e2bad1efc49e9abd0fb35a1d3fe64cd2e6aa4074 (patch) | |
tree | 21eb84da9be6e9671104bfa97435687e322b6436 /lib/pleroma/user.ex | |
parent | 4d852f3e78d6fcfe7bb2ef8b8d3a2f29359dd20c (diff) | |
download | pleroma-features/ap_c2s_proxyUrl.tar.gz |
AP C2S: Implement proxyUrl endpointfeatures/ap_c2s_proxyUrl
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 09ea80793..8115fb0fa 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1770,7 +1770,7 @@ defmodule Pleroma.User do def fetch_by_ap_id(ap_id, opts \\ []), do: ActivityPub.make_user_from_ap_id(ap_id, opts) - def get_or_fetch_by_ap_id(ap_id, opts \\ []) do + def get_or_fetch_by_ap_id(ap_id, opts \\ []) when is_binary(ap_id) do cached_user = get_cached_by_ap_id(ap_id) maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id, opts) @@ -1787,6 +1787,13 @@ defmodule Pleroma.User do end end + def get_or_fetch_by_ap_id!(ap_id, opts \\ []) when is_binary(ap_id) do + case get_or_fetch_by_ap_id(ap_id, opts) do + {:ok, user} -> user + _ -> nil + end + end + @doc """ Creates an internal service actor by URI if missing. Optionally takes nickname for addressing. @@ -2097,9 +2104,9 @@ defmodule Pleroma.User do } end - def ensure_keys_present(%{keys: keys} = user) when not is_nil(keys), do: {:ok, user} + def ensure_keys_present(%User{keys: keys} = user) when not is_nil(keys), do: {:ok, user} - def ensure_keys_present(%User{} = user) do + def ensure_keys_present(%User{local: true} = user) do with {:ok, pem} <- Keys.generate_rsa_pem() do user |> cast(%{keys: pem}, [:keys]) @@ -2108,6 +2115,8 @@ defmodule Pleroma.User do end end + def ensure_keys_present(%User{local: false}), do: {:error, :none} + def get_ap_ids_by_nicknames(nicknames) do from(u in User, where: u.nickname in ^nicknames, |