aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-04-17 14:12:36 +0200
committerRoger Braun <roger@rogerbraun.net>2017-04-17 14:12:36 +0200
commit36e883cd4bed9c07df2a1dc1038265e075bea5c6 (patch)
tree8f80c96dfdc3d590751b9dca8f8aa39331cd6acf /lib
parentce6cc84a4a9bfe1d47d00201ab31c241878f0ab9 (diff)
downloadpleroma-36e883cd4bed9c07df2a1dc1038265e075bea5c6.tar.gz
Add basic Ostatus user representer.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex7
-rw-r--r--lib/pleroma/web/ostatus/user_representer.ex14
-rw-r--r--lib/pleroma/web/twitter_api/representers/user_representer.ex6
3 files changed, 22 insertions, 5 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 1ab4e40cb..f8e4d6d0b 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -18,6 +18,13 @@ defmodule Pleroma.User do
timestamps()
end
+ def avatar_url(user) do
+ case user.avatar do
+ %{"url" => [%{"href" => href} | _]} -> href
+ _ -> "https://placehold.it/48x48"
+ end
+ end
+
def ap_id(%User{nickname: nickname}) do
"#{Pleroma.Web.base_url}/users/#{nickname}"
end
diff --git a/lib/pleroma/web/ostatus/user_representer.ex b/lib/pleroma/web/ostatus/user_representer.ex
new file mode 100644
index 000000000..66fc6e053
--- /dev/null
+++ b/lib/pleroma/web/ostatus/user_representer.ex
@@ -0,0 +1,14 @@
+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)}}
+ ]
+ }
+ end
+end
diff --git a/lib/pleroma/web/twitter_api/representers/user_representer.ex b/lib/pleroma/web/twitter_api/representers/user_representer.ex
index 2ee4ee254..7582a0f22 100644
--- a/lib/pleroma/web/twitter_api/representers/user_representer.ex
+++ b/lib/pleroma/web/twitter_api/representers/user_representer.ex
@@ -4,11 +4,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do
alias Pleroma.User
def to_map(user, opts) do
- image = case user.avatar do
- %{"url" => [%{"href" => href} | _]} -> href
- _ -> "https://placehold.it/48x48"
- end
-
+ image = User.avatar_url(user)
following = if opts[:for] do
User.following?(opts[:for], user)
else