Selaa lähdekoodia

Add basic Ostatus user representer.

tags/v0.9.9
Roger Braun 7 vuotta sitten
vanhempi
commit
36e883cd4b
4 muutettua tiedostoa jossa 39 lisäystä ja 5 poistoa
  1. +7
    -0
      lib/pleroma/user.ex
  2. +14
    -0
      lib/pleroma/web/ostatus/user_representer.ex
  3. +1
    -5
      lib/pleroma/web/twitter_api/representers/user_representer.ex
  4. +17
    -0
      test/web/ostatus/user_representer_test.exs

+ 7
- 0
lib/pleroma/user.ex Näytä tiedosto

@@ -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


+ 14
- 0
lib/pleroma/web/ostatus/user_representer.ex Näytä tiedosto

@@ -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

+ 1
- 5
lib/pleroma/web/twitter_api/representers/user_representer.ex Näytä tiedosto

@@ -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


+ 17
- 0
test/web/ostatus/user_representer_test.exs Näytä tiedosto

@@ -0,0 +1,17 @@
defmodule Pleroma.Web.OStatus.UserRepresenterTest do
use Pleroma.DataCase
alias Pleroma.Web.OStatus.UserRepresenter

import Pleroma.Factory

test "returns a user with id, uri, name and link" do
user = build(:user)
tuple = UserRepresenter.to_tuple(user)
{:author, author} = tuple

[:id, :uri, :name, :link]
|> Enum.each(fn (tag) ->
assert Enum.find(author, fn(e) -> tag == elem(e, 0) end)
end)
end
end

Loading…
Peruuta
Tallenna