X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api_controller.ex;h=848ec218ff82c145b632a1b05b33d3d52aabcaf9;hb=c7be7a94544ef2dda687feea4d5c19ac06fc1d0e;hp=73d96c73d50b78d764dfd014736bbfda7836680b;hpb=5c4098612067abf16e5c10e878656dc412304cd3;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 73d96c73d..848ec218f 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -207,7 +207,8 @@ defmodule Pleroma.Web.TwitterAPI.Controller do def update_avatar(%{assigns: %{user: user}} = conn, params) do {:ok, object} = ActivityPub.upload(params) change = Changeset.change(user, %{avatar: object.data}) - {:ok, user} = Repo.update(change) + {:ok, user} = User.update_and_set_cache(change) + CommonAPI.update(user) render(conn, UserView, "show.json", %{user: user, for: user}) end @@ -216,7 +217,8 @@ defmodule Pleroma.Web.TwitterAPI.Controller do with {:ok, object} <- ActivityPub.upload(%{"img" => params["banner"]}), new_info <- Map.put(user.info, "banner", object.data), change <- User.info_changeset(user, %{info: new_info}), - {:ok, _user} <- Repo.update(change) do + {:ok, user} <- User.update_and_set_cache(change) do + CommonAPI.update(user) %{"url" => [ %{ "href" => href } | _ ]} = object.data response = %{ url: href } |> Poison.encode! conn @@ -228,7 +230,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do with {:ok, object} <- ActivityPub.upload(params), new_info <- Map.put(user.info, "background", object.data), change <- User.info_changeset(user, %{info: new_info}), - {:ok, _user} <- Repo.update(change) do + {:ok, _user} <- User.update_and_set_cache(change) do %{"url" => [ %{ "href" => href } | _ ]} = object.data response = %{ url: href } |> Poison.encode! conn @@ -255,7 +257,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do mrn <- max(id, user.info["most_recent_notification"] || 0), updated_info <- Map.put(info, "most_recent_notification", mrn), changeset <- User.info_changeset(user, %{info: updated_info}), - {:ok, _user} <- Repo.update(changeset) do + {:ok, _user} <- User.update_and_set_cache(changeset) do conn |> json_reply(200, Poison.encode!(mrn)) else @@ -263,16 +265,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end end - def followers(%{assigns: %{user: user}} = conn, _params) do - with {:ok, followers} <- User.get_followers(user) do + def followers(conn, params) do + with {:ok, user} <- TwitterAPI.get_user(conn.assigns.user, params), + {:ok, followers} <- User.get_followers(user) do render(conn, UserView, "index.json", %{users: followers, for: user}) else _e -> bad_request_reply(conn, "Can't get followers") end end - def friends(%{assigns: %{user: user}} = conn, _params) do - with {:ok, friends} <- User.get_friends(user) do + def friends(conn, params) do + with {:ok, user} <- TwitterAPI.get_user(conn.assigns.user, params), + {:ok, friends} <- User.get_friends(user) do render(conn, UserView, "index.json", %{users: friends, for: user}) else _e -> bad_request_reply(conn, "Can't get friends") @@ -303,7 +307,8 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end with changeset <- User.update_changeset(user, params), - {:ok, user} <- Repo.update(changeset) do + {:ok, user} <- User.update_and_set_cache(changeset) do + CommonAPI.update(user) render(conn, UserView, "user.json", %{user: user, for: user}) else error ->