mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Switch protocols to AP when post come in through AP.
This commit is contained in:
parent
77c6c424a6
commit
68752b2047
2 changed files with 12 additions and 2 deletions
|
@ -427,5 +427,5 @@ defmodule Pleroma.User do
|
|||
Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname)
|
||||
end
|
||||
|
||||
def ap_enabled?(%User{info: %{"ap_enabled" => ap}}), do: ap
|
||||
def ap_enabled?(%User{info: info}), do: info["ap_enabled"]
|
||||
end
|
||||
|
|
|
@ -23,13 +23,23 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|
|||
# TODO: Ensure that this inbox is a recipient of the message
|
||||
def inbox(%{assigns: %{valid_signature: true}} = conn, params) do
|
||||
# File.write("/tmp/incoming.json", Poison.encode!(params))
|
||||
with {:ok, activity} <- Transmogrifier.handle_incoming(params) do
|
||||
with {:ok, _user} <- ap_enabled_actor(params["actor"]),
|
||||
{:ok, activity} <- Transmogrifier.handle_incoming(params) do
|
||||
json(conn, "ok")
|
||||
else
|
||||
e -> IO.inspect(e)
|
||||
end
|
||||
end
|
||||
|
||||
def ap_enabled_actor(id) do
|
||||
user = User.get_by_ap_id(id)
|
||||
if User.ap_enabled?(user) do
|
||||
{:ok, user}
|
||||
else
|
||||
ActivityPub.make_user_from_ap_id(id)
|
||||
end
|
||||
end
|
||||
|
||||
def errors(conn, _e) do
|
||||
conn
|
||||
|> put_status(500)
|
||||
|
|
Loading…
Reference in a new issue