update copyright years to 2019
[akkoma] / lib / pleroma / web / ostatus / user_representer.ex
index 66fc6e05388ad3ebf3200c70ac15ad0485b8431c..852be6eb40642838048b81ded09dee57675699ff 100644 (file)
@@ -1,14 +1,41 @@
+# 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