logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 0fd176b990887c170928bc0ce7d43d3a0aab8f7f
parent: 8e266e02da15275c4e17533a50ee4c0eaf65227f
Author: rinpatch <rinpatch@sdf.org>
Date:   Mon, 29 Apr 2019 06:45:18 +0000

Merge branch 'fix/add-default-scope-mastoapi' into 'develop'

Add default_scope to /api/v1/update_credentials

See merge request pleroma/pleroma!1100

Diffstat:

Mdocs/api/differences_in_mastoapi_responses.md1+
Mlib/pleroma/web/mastodon_api/mastodon_api_controller.ex1+
Mtest/web/mastodon_api/mastodon_api_controller_test.exs12++++++++++++
3 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/docs/api/differences_in_mastoapi_responses.md b/docs/api/differences_in_mastoapi_responses.md @@ -79,3 +79,4 @@ Additional parameters can be added to the JSON body/Form data: - `hide_follows` - if true, user's follows will be hidden - `hide_favorites` - if true, user's favorites timeline will be hidden - `show_role` - if true, user's role (e.g admin, moderator) will be exposed to anyone in the API +- `default_scope` - the scope returned under `privacy` key in Source subentity diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -103,6 +103,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do {:ok, ControllerHelper.truthy_param?(value)} end) end) + |> add_if_present(params, "default_scope", :default_scope) |> add_if_present(params, "header", :banner, fn value -> with %Plug.Upload{} <- value, {:ok, object} <- ActivityPub.upload(value, type: :banner) do diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -2214,6 +2214,18 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert user["locked"] == true end + test "updates the user's default scope", %{conn: conn} do + user = insert(:user) + + conn = + conn + |> assign(:user, user) + |> patch("/api/v1/accounts/update_credentials", %{default_scope: "cofe"}) + + assert user = json_response(conn, 200) + assert user["source"]["privacy"] == "cofe" + end + test "updates the user's hide_followers status", %{conn: conn} do user = insert(:user)