diff options
| -rw-r--r-- | lib/pleroma/user.ex | 7 | ||||
| -rw-r--r-- | lib/pleroma/web/ostatus/user_representer.ex | 8 | 
2 files changed, 14 insertions, 1 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 39d8cca76..a04bbe276 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -34,6 +34,13 @@ defmodule Pleroma.User do      end    end +  def banner_url(user) do +    case user.info["banner"] do +      %{"url" => [%{"href" => href} | _]} -> href +      _ -> nil +    end +  end +    def ap_id(%User{nickname: nickname}) do      "#{Web.base_url}/users/#{nickname}"    end diff --git a/lib/pleroma/web/ostatus/user_representer.ex b/lib/pleroma/web/ostatus/user_representer.ex index 273d7524a..14f78a4ed 100644 --- a/lib/pleroma/web/ostatus/user_representer.ex +++ b/lib/pleroma/web/ostatus/user_representer.ex @@ -6,6 +6,12 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do      name = to_charlist(user.name)      bio = to_charlist(user.bio)      avatar_url = to_charlist(User.avatar_url(user)) +    banner = if banner_url = User.banner_url(user) do +      [{:link, [rel: 'header', href: banner_url], []}] +    else +      [] +    end +      [        {:id, [ap_id]},        {:"activity:object", ['http://activitystrea.ms/schema/1.0/person']}, @@ -15,6 +21,6 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do        {:"poco:note", [bio]},        {:name, [nickname]},        {:link, [rel: 'avatar', href: avatar_url], []} -    ] +    ] ++ banner    end  end | 
