forked from AkkomaGang/akkoma
Probably better way of handling non-follow undos in ostatus
This commit is contained in:
parent
4151cbe6b2
commit
271fb5ccb1
2 changed files with 25 additions and 22 deletions
|
@ -250,23 +250,25 @@ def to_simple_form(%{data: %{"type" => "Undo"}} = activity, user, with_author) d
|
||||||
|
|
||||||
mentions = (activity.recipients || []) |> get_mentions
|
mentions = (activity.recipients || []) |> get_mentions
|
||||||
|
|
||||||
[
|
if follow_activity do
|
||||||
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
|
[
|
||||||
{:"activity:verb", ['http://activitystrea.ms/schema/1.0/unfollow']},
|
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/activity']},
|
||||||
{:id, h.(activity.data["id"])},
|
{:"activity:verb", ['http://activitystrea.ms/schema/1.0/unfollow']},
|
||||||
{:title, ['#{user.nickname} stopped following #{follow_activity.data["object"]}']},
|
{:id, h.(activity.data["id"])},
|
||||||
{:content, [type: 'html'],
|
{:title, ['#{user.nickname} stopped following #{follow_activity.data["object"]}']},
|
||||||
['#{user.nickname} stopped following #{follow_activity.data["object"]}']},
|
{:content, [type: 'html'],
|
||||||
{:published, h.(inserted_at)},
|
['#{user.nickname} stopped following #{follow_activity.data["object"]}']},
|
||||||
{:updated, h.(updated_at)},
|
{:published, h.(inserted_at)},
|
||||||
{:"activity:object",
|
{:updated, h.(updated_at)},
|
||||||
[
|
{:"activity:object",
|
||||||
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/person']},
|
[
|
||||||
{:id, h.(follow_activity.data["object"])},
|
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/person']},
|
||||||
{:uri, h.(follow_activity.data["object"])}
|
{:id, h.(follow_activity.data["object"])},
|
||||||
]},
|
{:uri, h.(follow_activity.data["object"])}
|
||||||
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []}
|
]},
|
||||||
] ++ mentions ++ author
|
{:link, [rel: 'self', type: ['application/atom+xml'], href: h.(activity.data["id"])], []}
|
||||||
|
] ++ mentions ++ author
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) do
|
def to_simple_form(%{data: %{"type" => "Delete"}} = activity, user, with_author) do
|
||||||
|
|
|
@ -187,13 +187,14 @@ def publish(user, activity, poster \\ &@httpoison.post/4)
|
||||||
|
|
||||||
def publish(%{info: %{"keys" => keys}} = user, %{data: %{"type" => type}} = activity, poster)
|
def publish(%{info: %{"keys" => keys}} = user, %{data: %{"type" => type}} = activity, poster)
|
||||||
when type in @supported_activities do
|
when type in @supported_activities do
|
||||||
feed =
|
feed = ActivityRepresenter.to_simple_form(activity, user, true)
|
||||||
ActivityRepresenter.to_simple_form(activity, user, true)
|
|
||||||
|> ActivityRepresenter.wrap_with_entry()
|
|
||||||
|> :xmerl.export_simple(:xmerl_xml)
|
|
||||||
|> to_string
|
|
||||||
|
|
||||||
if feed do
|
if feed do
|
||||||
|
feed =
|
||||||
|
ActivityRepresenter.wrap_with_entry(feed)
|
||||||
|
|> :xmerl.export_simple(:xmerl_xml)
|
||||||
|
|> to_string
|
||||||
|
|
||||||
{:ok, private, _} = keys_from_pem(keys)
|
{:ok, private, _} = keys_from_pem(keys)
|
||||||
{:ok, feed} = encode(private, feed)
|
{:ok, feed} = encode(private, feed)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue