Merge branch 'twitterapi-bitlbee' into 'develop'
TwitterAPI: Add missing endpoints for bitlbee. Closes #67 See merge request pleroma/pleroma!18
This commit is contained in:
commit
1cca544e20
3 changed files with 39 additions and 0 deletions
|
@ -190,6 +190,10 @@ defmodule Pleroma.Web.Router do
|
||||||
|
|
||||||
get "/statuses/followers", TwitterAPI.Controller, :followers
|
get "/statuses/followers", TwitterAPI.Controller, :followers
|
||||||
get "/statuses/friends", TwitterAPI.Controller, :friends
|
get "/statuses/friends", TwitterAPI.Controller, :friends
|
||||||
|
get "/friends/ids", TwitterAPI.Controller, :friends_ids
|
||||||
|
get "/friendships/no_retweets/ids", TwitterAPI.Controller, :empty_array
|
||||||
|
|
||||||
|
get "/mutes/users/ids", TwitterAPI.Controller, :empty_array
|
||||||
|
|
||||||
get "/externalprofile/show", TwitterAPI.Controller, :external_profile
|
get "/externalprofile/show", TwitterAPI.Controller, :external_profile
|
||||||
end
|
end
|
||||||
|
|
|
@ -278,6 +278,22 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def friends_ids(%{assigns: %{user: user}} = conn, _params) do
|
||||||
|
with {:ok, friends} <- User.get_friends(user) do
|
||||||
|
ids = friends
|
||||||
|
|> Enum.map(fn x -> x.id end)
|
||||||
|
|> Poison.encode!
|
||||||
|
|
||||||
|
json(conn, ids)
|
||||||
|
else
|
||||||
|
_e -> bad_request_reply(conn, "Can't get friends")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def empty_array(conn, _params) do
|
||||||
|
json(conn, Poison.encode!([]))
|
||||||
|
end
|
||||||
|
|
||||||
def update_profile(%{assigns: %{user: user}} = conn, params) do
|
def update_profile(%{assigns: %{user: user}} = conn, params) do
|
||||||
params = if bio = params["description"] do
|
params = if bio = params["description"] do
|
||||||
Map.put(params, "bio", bio)
|
Map.put(params, "bio", bio)
|
||||||
|
|
|
@ -534,6 +534,25 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "GET /friends/ids" do
|
||||||
|
test "it returns a user's friends", %{conn: conn} do
|
||||||
|
user = insert(:user)
|
||||||
|
followed_one = insert(:user)
|
||||||
|
followed_two = insert(:user)
|
||||||
|
not_followed = insert(:user)
|
||||||
|
|
||||||
|
{:ok, user} = User.follow(user, followed_one)
|
||||||
|
{:ok, user} = User.follow(user, followed_two)
|
||||||
|
|
||||||
|
conn = conn
|
||||||
|
|> assign(:user, user)
|
||||||
|
|> get("/api/friends/ids")
|
||||||
|
|
||||||
|
expected = Poison.encode!([followed_one.id, followed_two.id])
|
||||||
|
assert json_response(conn, 200) == expected
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "POST /api/account/update_profile.json" do
|
describe "POST /api/account/update_profile.json" do
|
||||||
test "it updates a user's profile" do
|
test "it updates a user's profile" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
|
|
Loading…
Reference in a new issue