Switch protocols to AP when post come in through AP.
This commit is contained in:
parent
77c6c424a6
commit
68752b2047
|
@ -427,5 +427,5 @@ def insert_or_update_user(data) do
|
||||||
Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname)
|
Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname)
|
||||||
end
|
end
|
||||||
|
|
||||||
def ap_enabled?(%User{info: %{"ap_enabled" => ap}}), do: ap
|
def ap_enabled?(%User{info: info}), do: info["ap_enabled"]
|
||||||
end
|
end
|
||||||
|
|
|
@ -23,13 +23,23 @@ def object(conn, %{"uuid" => uuid}) do
|
||||||
# TODO: Ensure that this inbox is a recipient of the message
|
# TODO: Ensure that this inbox is a recipient of the message
|
||||||
def inbox(%{assigns: %{valid_signature: true}} = conn, params) do
|
def inbox(%{assigns: %{valid_signature: true}} = conn, params) do
|
||||||
# File.write("/tmp/incoming.json", Poison.encode!(params))
|
# 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")
|
json(conn, "ok")
|
||||||
else
|
else
|
||||||
e -> IO.inspect(e)
|
e -> IO.inspect(e)
|
||||||
end
|
end
|
||||||
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
|
def errors(conn, _e) do
|
||||||
conn
|
conn
|
||||||
|> put_status(500)
|
|> put_status(500)
|
||||||
|
|
Loading…
Reference in New Issue