social.metadata.moe/lib/pleroma/web/ostatus/user_representer.ex

42 lines
1.1 KiB
Elixir
Raw Normal View History

# Pleroma: A lightweight social networking server
2019-01-01 00:41:47 +09:00
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
2017-04-17 21:12:36 +09:00
defmodule Pleroma.Web.OStatus.UserRepresenter do
alias Pleroma.User
2018-03-30 22:01:53 +09:00
2017-04-19 01:41:51 +09:00
def to_simple_form(user) do
ap_id = to_charlist(user.ap_id)
nickname = to_charlist(user.nickname)
2017-04-22 22:11:13 +09:00
name = to_charlist(user.name)
bio = to_charlist(user.bio)
2017-04-19 01:41:51 +09:00
avatar_url = to_charlist(User.avatar_url(user))
2017-09-16 20:44:08 +09:00
2018-03-30 22:01:53 +09:00
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
2018-02-24 21:06:53 +09:00
2017-04-19 01:41:51 +09:00
[
{: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], []}
2018-02-24 21:06:53 +09:00
] ++ banner ++ ap_enabled
2017-04-17 21:12:36 +09:00
end
end