user_representer.ex (1098B)
1 # Pleroma: A lightweight social networking server 2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> 3 # SPDX-License-Identifier: AGPL-3.0-only 4 5 defmodule Pleroma.Web.OStatus.UserRepresenter do 6 alias Pleroma.User 7 8 def to_simple_form(user) do 9 ap_id = to_charlist(user.ap_id) 10 nickname = to_charlist(user.nickname) 11 name = to_charlist(user.name) 12 bio = to_charlist(user.bio) 13 avatar_url = to_charlist(User.avatar_url(user)) 14 15 banner = 16 if banner_url = User.banner_url(user) do 17 [{:link, [rel: 'header', href: banner_url], []}] 18 else 19 [] 20 end 21 22 ap_enabled = 23 if user.local do 24 [{:ap_enabled, ['true']}] 25 else 26 [] 27 end 28 29 [ 30 {:id, [ap_id]}, 31 {:"activity:object", ['http://activitystrea.ms/schema/1.0/person']}, 32 {:uri, [ap_id]}, 33 {:"poco:preferredUsername", [nickname]}, 34 {:"poco:displayName", [name]}, 35 {:"poco:note", [bio]}, 36 {:summary, [bio]}, 37 {:name, [nickname]}, 38 {:link, [rel: 'avatar', href: avatar_url], []} 39 ] ++ banner ++ ap_enabled 40 end 41 end