+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Web.OStatus.UserRepresenter do
alias Pleroma.User
- def to_tuple(user, wrapper \\ :author) do
- {
- wrapper, [
- { :id, user.ap_id },
- { :"activity:object", "http://activitystrea.ms/schema/1.0/person" },
- { :uri, user.ap_id },
- { :name, user.nickname },
- { :link, %{rel: "avatar", href: User.avatar_url(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