forked from AkkomaGang/akkoma
Formatting fixes.
This commit is contained in:
parent
ce7618f6f6
commit
9e6ae44729
6 changed files with 24 additions and 11 deletions
|
@ -146,7 +146,8 @@ def handle_incoming(
|
||||||
%{"type" => "Like", "object" => object_id, "actor" => actor, "id" => id} = data
|
%{"type" => "Like", "object" => object_id, "actor" => actor, "id" => id} = data
|
||||||
) do
|
) do
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <- get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
{:ok, object} <-
|
||||||
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity, object} <- ActivityPub.like(actor, object, id, false) do
|
{:ok, activity, object} <- ActivityPub.like(actor, object, id, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
|
@ -158,7 +159,8 @@ def handle_incoming(
|
||||||
%{"type" => "Announce", "object" => object_id, "actor" => actor, "id" => id} = data
|
%{"type" => "Announce", "object" => object_id, "actor" => actor, "id" => id} = data
|
||||||
) do
|
) do
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <- get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
{:ok, object} <-
|
||||||
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity, object} <- ActivityPub.announce(actor, object, id, false) do
|
{:ok, activity, object} <- ActivityPub.announce(actor, object, id, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
|
@ -209,7 +211,8 @@ def handle_incoming(
|
||||||
end
|
end
|
||||||
|
|
||||||
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
|
||||||
{:ok, object} <- get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
{:ok, object} <-
|
||||||
|
get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
|
||||||
{:ok, activity} <- ActivityPub.delete(object, false) do
|
{:ok, activity} <- ActivityPub.delete(object, false) do
|
||||||
{:ok, activity}
|
{:ok, activity}
|
||||||
else
|
else
|
||||||
|
|
|
@ -175,7 +175,8 @@ def make_like_data(%User{ap_id: ap_id} = actor, %{data: %{"id" => id}} = object,
|
||||||
|
|
||||||
def update_element_in_object(property, element, object) do
|
def update_element_in_object(property, element, object) do
|
||||||
with new_data <-
|
with new_data <-
|
||||||
object.data |> Map.put("#{property}_count", length(element))
|
object.data
|
||||||
|
|> Map.put("#{property}_count", length(element))
|
||||||
|> Map.put("#{property}s", element),
|
|> Map.put("#{property}s", element),
|
||||||
changeset <- Changeset.change(object, data: new_data),
|
changeset <- Changeset.change(object, data: new_data),
|
||||||
{:ok, object} <- Repo.update(changeset),
|
{:ok, object} <- Repo.update(changeset),
|
||||||
|
|
|
@ -63,7 +63,8 @@ def token_exchange(conn, %{"grant_type" => "authorization_code"} = params) do
|
||||||
client_secret: params["client_secret"]
|
client_secret: params["client_secret"]
|
||||||
),
|
),
|
||||||
fixed_token = fix_padding(params["code"]),
|
fixed_token = fix_padding(params["code"]),
|
||||||
%Authorization{} = auth <- Repo.get_by(Authorization, token: fixed_token, app_id: app.id),
|
%Authorization{} = auth <-
|
||||||
|
Repo.get_by(Authorization, token: fixed_token, app_id: app.id),
|
||||||
{:ok, token} <- Token.exchange_token(app, auth) do
|
{:ok, token} <- Token.exchange_token(app, auth) do
|
||||||
response = %{
|
response = %{
|
||||||
token_type: "Bearer",
|
token_type: "Bearer",
|
||||||
|
|
|
@ -131,7 +131,8 @@ def to_simple_form(%{data: %{"object" => %{"type" => "Note"}}} = activity, user,
|
||||||
h.(activity.data["object"]["content"] |> String.replace(~r/[\n\r]/, ""))},
|
h.(activity.data["object"]["content"] |> String.replace(~r/[\n\r]/, ""))},
|
||||||
{:published, h.(inserted_at)},
|
{:published, h.(inserted_at)},
|
||||||
{:updated, h.(updated_at)},
|
{:updated, h.(updated_at)},
|
||||||
{:"ostatus:conversation", [ref: h.(activity.data["context"])], h.(activity.data["context"])},
|
{:"ostatus:conversation", [ref: h.(activity.data["context"])],
|
||||||
|
h.(activity.data["context"])},
|
||||||
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []}
|
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []}
|
||||||
] ++
|
] ++
|
||||||
summary ++
|
summary ++
|
||||||
|
@ -162,7 +163,8 @@ def to_simple_form(%{data: %{"type" => "Like"}} = activity, user, with_author) d
|
||||||
# For notes, federate the object id.
|
# For notes, federate the object id.
|
||||||
{:id, h.(activity.data["object"])}
|
{:id, h.(activity.data["object"])}
|
||||||
]},
|
]},
|
||||||
{:"ostatus:conversation", [ref: h.(activity.data["context"])], h.(activity.data["context"])},
|
{:"ostatus:conversation", [ref: h.(activity.data["context"])],
|
||||||
|
h.(activity.data["context"])},
|
||||||
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
|
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
|
||||||
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
|
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
|
||||||
{:"thr:in-reply-to", [ref: to_charlist(activity.data["object"])], []}
|
{:"thr:in-reply-to", [ref: to_charlist(activity.data["object"])], []}
|
||||||
|
@ -193,7 +195,8 @@ def to_simple_form(%{data: %{"type" => "Announce"}} = activity, user, with_autho
|
||||||
{:content, [type: 'html'], ['RT #{retweeted_activity.data["object"]["content"]}']},
|
{:content, [type: 'html'], ['RT #{retweeted_activity.data["object"]["content"]}']},
|
||||||
{:published, h.(inserted_at)},
|
{:published, h.(inserted_at)},
|
||||||
{:updated, h.(updated_at)},
|
{:updated, h.(updated_at)},
|
||||||
{:"ostatus:conversation", [ref: h.(activity.data["context"])], h.(activity.data["context"])},
|
{:"ostatus:conversation", [ref: h.(activity.data["context"])],
|
||||||
|
h.(activity.data["context"])},
|
||||||
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
|
{:link, [ref: h.(activity.data["context"]), rel: 'ostatus:conversation'], []},
|
||||||
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
|
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []},
|
||||||
{:"activity:object", retweeted_xml}
|
{:"activity:object", retweeted_xml}
|
||||||
|
|
|
@ -81,7 +81,10 @@ def represent_user(user, "JSON") do
|
||||||
"href" => user.ap_id
|
"href" => user.ap_id
|
||||||
},
|
},
|
||||||
%{"rel" => "salmon", "href" => OStatus.salmon_path(user)},
|
%{"rel" => "salmon", "href" => OStatus.salmon_path(user)},
|
||||||
%{"rel" => "magic-public-key", "href" => "data:application/magic-public-key,#{magic_key}"},
|
%{
|
||||||
|
"rel" => "magic-public-key",
|
||||||
|
"href" => "data:application/magic-public-key,#{magic_key}"
|
||||||
|
},
|
||||||
%{"rel" => "self", "type" => "application/activity+json", "href" => user.ap_id},
|
%{"rel" => "self", "type" => "application/activity+json", "href" => user.ap_id},
|
||||||
%{
|
%{
|
||||||
"rel" => "http://ostatus.org/schema/1.0/subscribe",
|
"rel" => "http://ostatus.org/schema/1.0/subscribe",
|
||||||
|
|
|
@ -102,7 +102,8 @@ test "it works for incoming follow requests" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
|
|
||||||
data =
|
data =
|
||||||
File.read!("test/fixtures/mastodon-follow-activity.json") |> Poison.decode!()
|
File.read!("test/fixtures/mastodon-follow-activity.json")
|
||||||
|
|> Poison.decode!()
|
||||||
|> Map.put("object", user.ap_id)
|
|> Map.put("object", user.ap_id)
|
||||||
|
|
||||||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
|
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
|
||||||
|
@ -118,7 +119,8 @@ test "it works for incoming likes" do
|
||||||
{:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})
|
{:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})
|
||||||
|
|
||||||
data =
|
data =
|
||||||
File.read!("test/fixtures/mastodon-like.json") |> Poison.decode!()
|
File.read!("test/fixtures/mastodon-like.json")
|
||||||
|
|> Poison.decode!()
|
||||||
|> Map.put("object", activity.data["object"]["id"])
|
|> Map.put("object", activity.data["object"]["id"])
|
||||||
|
|
||||||
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
|
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
|
||||||
|
|
Loading…
Reference in a new issue