aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/ostatus/user_representer.ex
blob: 2e696506edadf80cd4888f021337b535e682b2f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
defmodule Pleroma.Web.OStatus.UserRepresenter do
  alias Pleroma.User

  def to_simple_form(user) do
    ap_id = to_charlist(user.ap_id)
    nickname = to_charlist(user.nickname)
    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

    ap_enabled =
      if user.local do
        [{:ap_enabled, ['true']}]
      else
        []
      end

    [
      {:id, [ap_id]},
      {:"activity:object", ['http://activitystrea.ms/schema/1.0/person']},
      {:uri, [ap_id]},
      {:"poco:preferredUsername", [nickname]},
      {:"poco:displayName", [name]},
      {:"poco:note", [bio]},
      {:summary, [bio]},
      {:name, [nickname]},
      {:link, [rel: 'avatar', href: avatar_url], []}
    ] ++ banner ++ ap_enabled
  end
end