logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: fe4387077ad8845ef74c49338b7f492475697591
parent: 4a922305afb9b445d11522be73428f10a7d1fc19
Author: lambda <pleromagit@rogerbraun.net>
Date:   Thu, 12 Jul 2018 05:59:12 +0000

Merge branch 'feature/default-scope' into 'develop'

default scope setting

See merge request pleroma/pleroma!239

Diffstat:

Mlib/pleroma/web/mastodon_api/mastodon_api_controller.ex2+-
Mlib/pleroma/web/twitter_api/twitter_api_controller.ex13+++++++++++++
Mlib/pleroma/web/twitter_api/views/user_view.ex3++-
Mtest/web/twitter_api/views/user_view_test.exs12++++++++----
4 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -873,7 +873,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do }, compose: %{ me: "#{user.id}", - default_privacy: "public", + default_privacy: user.info["default_scope"] || "public", default_sensitive: false }, media_attachments: %{ diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -431,6 +431,19 @@ defmodule Pleroma.Web.TwitterAPI.Controller do user end + user = + if default_scope = params["default_scope"] do + with new_info <- Map.put(user.info, "default_scope", default_scope), + change <- User.info_changeset(user, %{info: new_info}), + {:ok, user} <- User.update_and_set_cache(change) do + user + else + _e -> user + end + else + user + end + with changeset <- User.update_changeset(user, params), {:ok, user} <- User.update_and_set_cache(changeset) do CommonAPI.update(user) diff --git a/lib/pleroma/web/twitter_api/views/user_view.ex b/lib/pleroma/web/twitter_api/views/user_view.ex @@ -52,7 +52,8 @@ defmodule Pleroma.Web.TwitterAPI.UserView do "cover_photo" => User.banner_url(user) |> MediaProxy.url(), "background_image" => image_url(user.info["background"]) |> MediaProxy.url(), "is_local" => user.local, - "locked" => !!user.info["locked"] + "locked" => !!user.info["locked"], + "default_scope" => user.info["default_scope"] || "public" } if assigns[:token] do diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs @@ -60,7 +60,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "cover_photo" => banner, "background_image" => nil, "is_local" => true, - "locked" => false + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: user}) @@ -96,7 +97,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "cover_photo" => banner, "background_image" => nil, "is_local" => true, - "locked" => false + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: user, for: follower}) @@ -133,7 +135,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "cover_photo" => banner, "background_image" => nil, "is_local" => true, - "locked" => false + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: follower, for: user}) @@ -177,7 +180,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "cover_photo" => banner, "background_image" => nil, "is_local" => true, - "locked" => false + "locked" => false, + "default_scope" => "public" } blocker = Repo.get(User, blocker.id)