X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fostatus%2Fuser_representer.ex;h=852be6eb40642838048b81ded09dee57675699ff;hb=980b5288ed119a3579afe632dff3391528ff399c;hp=66fc6e05388ad3ebf3200c70ac15ad0485b8431c;hpb=361a8c42197a92f044fc3d0ceadeee5e3590e96f;p=akkoma diff --git a/lib/pleroma/web/ostatus/user_representer.ex b/lib/pleroma/web/ostatus/user_representer.ex index 66fc6e053..852be6eb4 100644 --- a/lib/pleroma/web/ostatus/user_representer.ex +++ b/lib/pleroma/web/ostatus/user_representer.ex @@ -1,14 +1,41 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors +# 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