Move settings to Source subentity
authorrinpatch <rinpatch@sdf.org>
Thu, 25 Apr 2019 06:14:35 +0000 (09:14 +0300)
committerrinpatch <rinpatch@sdf.org>
Thu, 25 Apr 2019 07:31:14 +0000 (10:31 +0300)
CHANGELOG.md
docs/api/differences_in_mastoapi_responses.md
lib/pleroma/web/mastodon_api/views/account_view.ex
test/web/mastodon_api/account_view_test.exs
test/web/mastodon_api/mastodon_api_controller_test.exs

index 51ba239b6e9e0b5db621bd56aea429037154e20b..0caeda9783d462be59376388abbd5a3052023cae 100644 (file)
@@ -45,7 +45,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - Mastodon API: Provide plaintext versions of cw/content in the Status entity
 - Mastodon API: Add `pleroma.conversation_id`, `pleroma.in_reply_to_account_acct` fields to the Status entity
 - Mastodon API: Add `pleroma.tags`, `pleroma.relationship{}`, `pleroma.is_moderator`, `pleroma.is_admin`, `pleroma.confirmation_pending`, `pleroma.hide_followers`, `pleroma.hide_follows`, `pleroma.hide_favorites` fields to the User entity
-- Mastodon API: Add `pleroma.show_role`, `pleroma.no_rich_text` fields to the User entity (when the user is requesting themselves)
+- Mastodon API: Add `pleroma.show_role`, `pleroma.no_rich_text` fields to the Source subentity
 - Mastodon API: Add support for updating `no_rich_text`, `hide_followers`, `hide_follows`, `hide_favorites`, `show_role` in `PATCH /api/v1/update_credentials`
 - Mastodon API: Add `pleroma.is_seen` to the Notification entity
 - Mastodon API: Add `pleroma.local` to the Status entity
index 7f05527fb52b3123226932dcf97dd5c286d612b4..c69734e729d5b5eefbffcb2c027092fe5d1966ba 100644 (file)
@@ -43,7 +43,13 @@ Has these additional fields under the `pleroma` object:
 - `confirmation_pending`: boolean, true if a new user account is waiting on email confirmation to be activated
 - `hide_followers`: boolean, true when the user has follower hiding enabled
 - `hide_follows`: boolean, true when the user has follow hiding enabled
-- `show_role`: boolean, nullable (only shown when the user is requesting themselves), true when the user wants his role (e.g admin, moderator) to be shown
+
+### Source
+
+Has these additional fields under the `pleroma` object:
+
+- `show_role`: boolean, nullable, true when the user wants his role (e.g admin, moderator) to be shown
+- `no_rich_text` - boolean, nullable, true when html tags are stripped from all statuses requested from the API
 
 ## Account Search
 
index 6e6f0ba9304a97f9257156f5cc3907d7e9be592d..779b9a3824043aeb690451c68f79f4bd7c061a18 100644 (file)
@@ -113,7 +113,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
       bot: bot,
       source: %{
         note: "",
-        sensitive: false
+        sensitive: false,
+        pleroma: %{}
       },
 
       # Pleroma extension
@@ -145,8 +146,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
        ) do
     data
     |> Kernel.put_in([:source, :privacy], user_info.default_scope)
-    |> Kernel.put_in([:pleroma, :show_role], user.info.show_role)
-    |> Kernel.put_in([:pleroma, :no_rich_text], user.info.no_rich_text)
+    |> Kernel.put_in([:source, :pleroma, :show_role], user.info.show_role)
+    |> Kernel.put_in([:source, :pleroma, :no_rich_text], user.info.no_rich_text)
   end
 
   defp maybe_put_settings(data, _, _, _), do: data
index db870f1d138348ea0c0c9c6720cdb4e764723e79..a24f2a050ff7702a93427340443865de971b29a0 100644 (file)
@@ -56,7 +56,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
       bot: false,
       source: %{
         note: "",
-        sensitive: false
+        sensitive: false,
+        pleroma: %{}
       },
       pleroma: %{
         confirmation_pending: false,
@@ -120,7 +121,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
       bot: true,
       source: %{
         note: "",
-        sensitive: false
+        sensitive: false,
+        pleroma: %{}
       },
       pleroma: %{
         confirmation_pending: false,
@@ -208,7 +210,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
       bot: true,
       source: %{
         note: "",
-        sensitive: false
+        sensitive: false,
+        pleroma: %{}
       },
       pleroma: %{
         confirmation_pending: false,
index 0c52dd3e34841d31029536fe234baf23f96b692d..efcadcbf5dfe3ed4e4e5bb6fd2348d834dcd48ff 100644 (file)
@@ -2259,7 +2259,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
         |> patch("/api/v1/accounts/update_credentials", %{show_role: "false"})
 
       assert user = json_response(conn, 200)
-      assert user["pleroma"]["show_role"] == false
+      assert user["source"]["pleroma"]["show_role"] == false
     end
 
     test "updates the user's no_rich_text status", %{conn: conn} do
@@ -2271,7 +2271,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
         |> patch("/api/v1/accounts/update_credentials", %{no_rich_text: "true"})
 
       assert user = json_response(conn, 200)
-      assert user["pleroma"]["show_role"] == true
+      assert user["source"]["pleroma"]["no_rich_text"] == true
     end
 
     test "updates the user's name", %{conn: conn} do