diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/list.ex | 13 | ||||
| -rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 16 | 
2 files changed, 15 insertions, 14 deletions
| diff --git a/lib/pleroma/list.ex b/lib/pleroma/list.ex index 657d42626..9d0b9285b 100644 --- a/lib/pleroma/list.ex +++ b/lib/pleroma/list.ex @@ -35,7 +35,7 @@ defmodule Pleroma.List do      Repo.all(query)    end -  def get(%{id: user_id} = _user, id) do +  def get(id, %{id: user_id} = _user) do      query =        from(          l in Pleroma.List, @@ -47,10 +47,12 @@ defmodule Pleroma.List do    end    def get_following(%Pleroma.List{following: following} = list) do -    q = from( -      u in User, -      where: u.follower_address in ^following -    ) +    q = +      from( +        u in User, +        where: u.follower_address in ^following +      ) +      {:ok, Repo.all(q)}    end @@ -65,7 +67,6 @@ defmodule Pleroma.List do      Repo.insert(list)    end -  # TODO check that user is following followed    def follow(%Pleroma.List{following: following} = list, %User{} = followed) do      update_follows(list, %{following: Enum.uniq([followed.follower_address | following])})    end diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index ff52b2aab..82ddb9a5d 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -572,7 +572,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    end    def get_list(%{assigns: %{user: user}} = conn, %{"id" => id}) do -    with %Pleroma.List{} = list <- Pleroma.List.get(user, id) do +    with %Pleroma.List{} = list <- Pleroma.List.get(id, user) do        res = ListView.render("list.json", list: list)        json(conn, res)      else @@ -581,7 +581,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    end    def delete_list(%{assigns: %{user: user}} = conn, %{"id" => id}) do -    with %Pleroma.List{} = list <- Pleroma.List.get(user, id), +    with %Pleroma.List{} = list <- Pleroma.List.get(id, user),           {:ok, _list} <- Pleroma.List.delete(list) do        json(conn, %{})      else @@ -600,9 +600,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    def add_to_list(%{assigns: %{user: user}} = conn, %{"id" => id, "account_ids" => accounts}) do      accounts      |> Enum.each(fn account_id -> -      with %Pleroma.List{} = list <- Pleroma.List.get(user, id), +      with %Pleroma.List{} = list <- Pleroma.List.get(id, user),             %User{} = followed <- Repo.get(User, account_id) do -        ret = Pleroma.List.follow(list, followed) +        Pleroma.List.follow(list, followed)        end      end) @@ -612,7 +612,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    def remove_from_list(%{assigns: %{user: user}} = conn, %{"id" => id, "account_ids" => accounts}) do      accounts      |> Enum.each(fn account_id -> -      with %Pleroma.List{} = list <- Pleroma.List.get(user, id), +      with %Pleroma.List{} = list <- Pleroma.List.get(id, user),             %User{} = followed <- Repo.get(Pleroma.User, account_id) do          Pleroma.List.unfollow(list, followed)        end @@ -622,14 +622,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    end    def list_accounts(%{assigns: %{user: user}} = conn, %{"id" => id}) do -    with %Pleroma.List{} = list <- Pleroma.List.get(user, id), +    with %Pleroma.List{} = list <- Pleroma.List.get(id, user),           {:ok, users} = Pleroma.List.get_following(list) do        render(conn, AccountView, "accounts.json", %{users: users, as: :user})      end    end    def rename_list(%{assigns: %{user: user}} = conn, %{"id" => id, "title" => title}) do -    with %Pleroma.List{} = list <- Pleroma.List.get(user, id), +    with %Pleroma.List{} = list <- Pleroma.List.get(id, user),           {:ok, list} <- Pleroma.List.rename(list, title) do        res = ListView.render("list.json", list: list)        json(conn, res) @@ -640,7 +640,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    end    def list_timeline(%{assigns: %{user: user}} = conn, %{"list_id" => id} = params) do -    with %Pleroma.List{title: title, following: following} <- Pleroma.List.get(user, id) do +    with %Pleroma.List{title: title, following: following} <- Pleroma.List.get(id, user) do        params =          params          |> Map.put("type", "Create") | 
