Add show_attachment_filenames
field to users
This commit is contained in:
parent
319177260a
commit
057da2dd9c
@ -273,6 +273,7 @@ switched to a new configuration mechanism, however it was not officially removed
|
|||||||
- Mastodon API: Support irreversible property for filters.
|
- Mastodon API: Support irreversible property for filters.
|
||||||
- Mastodon API: Add pleroma.favicon field to accounts.
|
- Mastodon API: Add pleroma.favicon field to accounts.
|
||||||
- Mastodon API: Add `filename` parameter to `POST /api/v1/media` and `POST /api/v2/media`.
|
- Mastodon API: Add `filename` parameter to `POST /api/v1/media` and `POST /api/v2/media`.
|
||||||
|
- Mastodon API: Add account setting for providing filename to post attachments
|
||||||
- Admin API: endpoints for create/update/delete OAuth Apps.
|
- Admin API: endpoints for create/update/delete OAuth Apps.
|
||||||
- Admin API: endpoint for status view.
|
- Admin API: endpoint for status view.
|
||||||
- OTP: Add command to reload emoji packs
|
- OTP: Add command to reload emoji packs
|
||||||
|
@ -138,6 +138,7 @@ defmodule Pleroma.User do
|
|||||||
field(:is_discoverable, :boolean, default: false)
|
field(:is_discoverable, :boolean, default: false)
|
||||||
field(:invisible, :boolean, default: false)
|
field(:invisible, :boolean, default: false)
|
||||||
field(:allow_following_move, :boolean, default: true)
|
field(:allow_following_move, :boolean, default: true)
|
||||||
|
field(:show_attachment_filenames, :boolean, default: false)
|
||||||
field(:skip_thread_containment, :boolean, default: false)
|
field(:skip_thread_containment, :boolean, default: false)
|
||||||
field(:actor_type, :string, default: "Person")
|
field(:actor_type, :string, default: "Person")
|
||||||
field(:also_known_as, {:array, :string}, default: [])
|
field(:also_known_as, {:array, :string}, default: [])
|
||||||
@ -503,6 +504,7 @@ defmodule Pleroma.User do
|
|||||||
:allow_following_move,
|
:allow_following_move,
|
||||||
:background,
|
:background,
|
||||||
:show_role,
|
:show_role,
|
||||||
|
:show_attachment_filenames,
|
||||||
:skip_thread_containment,
|
:skip_thread_containment,
|
||||||
:fields,
|
:fields,
|
||||||
:raw_fields,
|
:raw_fields,
|
||||||
|
@ -48,6 +48,7 @@ defmodule Pleroma.Web.AdminAPI.AccountView do
|
|||||||
:hide_followers,
|
:hide_followers,
|
||||||
:hide_favorites,
|
:hide_favorites,
|
||||||
:allow_following_move,
|
:allow_following_move,
|
||||||
|
:show_attachment_filenames,
|
||||||
:show_role,
|
:show_role,
|
||||||
:skip_thread_containment,
|
:skip_thread_containment,
|
||||||
:pleroma_settings_store,
|
:pleroma_settings_store,
|
||||||
|
@ -604,6 +604,11 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do
|
|||||||
nullable: true,
|
nullable: true,
|
||||||
description: "Opaque user settings to be saved on the backend."
|
description: "Opaque user settings to be saved on the backend."
|
||||||
},
|
},
|
||||||
|
show_attachment_filenames: %Schema{
|
||||||
|
allOf: [BooleanLike],
|
||||||
|
nullable: true,
|
||||||
|
description: "Show the attachment filenames"
|
||||||
|
},
|
||||||
skip_thread_containment: %Schema{
|
skip_thread_containment: %Schema{
|
||||||
allOf: [BooleanLike],
|
allOf: [BooleanLike],
|
||||||
nullable: true,
|
nullable: true,
|
||||||
@ -642,6 +647,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperation do
|
|||||||
show_role: false,
|
show_role: false,
|
||||||
default_scope: "private",
|
default_scope: "private",
|
||||||
pleroma_settings_store: %{"pleroma-fe" => %{"key" => "val"}},
|
pleroma_settings_store: %{"pleroma-fe" => %{"key" => "val"}},
|
||||||
|
show_attachment_filenames: false,
|
||||||
skip_thread_containment: false,
|
skip_thread_containment: false,
|
||||||
allow_following_move: false,
|
allow_following_move: false,
|
||||||
discoverable: false,
|
discoverable: false,
|
||||||
|
@ -48,6 +48,7 @@ defmodule Pleroma.Web.ApiSpec.MediaOperation do
|
|||||||
},
|
},
|
||||||
filename: %Schema{
|
filename: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Filename of the media."
|
description: "Filename of the media."
|
||||||
},
|
},
|
||||||
focus: %Schema{
|
focus: %Schema{
|
||||||
|
@ -76,6 +76,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
|||||||
type: :boolean,
|
type: :boolean,
|
||||||
description: "whether the user is a moderator of the local instance"
|
description: "whether the user is a moderator of the local instance"
|
||||||
},
|
},
|
||||||
|
show_attachment_filenames: %Schema{type: :boolean},
|
||||||
skip_thread_containment: %Schema{type: :boolean},
|
skip_thread_containment: %Schema{type: :boolean},
|
||||||
tags: %Schema{
|
tags: %Schema{
|
||||||
type: :array,
|
type: :array,
|
||||||
@ -172,6 +173,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
|
|||||||
"hide_follows_count" => false,
|
"hide_follows_count" => false,
|
||||||
"is_admin" => false,
|
"is_admin" => false,
|
||||||
"is_moderator" => false,
|
"is_moderator" => false,
|
||||||
|
"show_attachment_filenames" => false,
|
||||||
"skip_thread_containment" => false,
|
"skip_thread_containment" => false,
|
||||||
"accepts_chat_messages" => true,
|
"accepts_chat_messages" => true,
|
||||||
"chat_token" =>
|
"chat_token" =>
|
||||||
|
@ -51,7 +51,11 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Attachment do
|
|||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
mime_type: %Schema{type: :string, description: "mime type of the attachment"},
|
mime_type: %Schema{type: :string, description: "mime type of the attachment"},
|
||||||
filename: %Schema{type: :string, description: "filename of the attachment"}
|
filename: %Schema{
|
||||||
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
|
description: "filename of the attachment"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -31,6 +31,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Chat do
|
|||||||
"hide_follows_count" => false,
|
"hide_follows_count" => false,
|
||||||
"hide_follows" => false,
|
"hide_follows" => false,
|
||||||
"background_image" => nil,
|
"background_image" => nil,
|
||||||
|
"show_attachment_filenames" => false,
|
||||||
"skip_thread_containment" => false,
|
"skip_thread_containment" => false,
|
||||||
"hide_followers" => false,
|
"hide_followers" => false,
|
||||||
"relationship" => %{},
|
"relationship" => %{},
|
||||||
|
@ -278,6 +278,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do
|
|||||||
"showing_reblogs" => true,
|
"showing_reblogs" => true,
|
||||||
"subscribing" => false
|
"subscribing" => false
|
||||||
},
|
},
|
||||||
|
"show_attachment_filenames" => false,
|
||||||
"skip_thread_containment" => false,
|
"skip_thread_containment" => false,
|
||||||
"tags" => []
|
"tags" => []
|
||||||
},
|
},
|
||||||
|
@ -182,6 +182,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do
|
|||||||
:hide_followers,
|
:hide_followers,
|
||||||
:hide_follows,
|
:hide_follows,
|
||||||
:hide_favorites,
|
:hide_favorites,
|
||||||
|
:show_attachment_filenames,
|
||||||
:show_role,
|
:show_role,
|
||||||
:skip_thread_containment,
|
:skip_thread_containment,
|
||||||
:allow_following_move,
|
:allow_following_move,
|
||||||
|
@ -277,6 +277,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
|
|||||||
hide_follows: user.hide_follows,
|
hide_follows: user.hide_follows,
|
||||||
hide_favorites: user.hide_favorites,
|
hide_favorites: user.hide_favorites,
|
||||||
relationship: relationship,
|
relationship: relationship,
|
||||||
|
show_attachment_filenames: user.show_attachment_filenames,
|
||||||
skip_thread_containment: user.skip_thread_containment,
|
skip_thread_containment: user.skip_thread_containment,
|
||||||
background_image: image_url(user.background) |> MediaProxy.url(),
|
background_image: image_url(user.background) |> MediaProxy.url(),
|
||||||
accepts_chat_messages: user.accepts_chat_messages,
|
accepts_chat_messages: user.accepts_chat_messages,
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
defmodule Pleroma.Repo.Migrations.AddAttachmentFilenameSettingToUsers do
|
||||||
|
use Ecto.Migration
|
||||||
|
|
||||||
|
def change do
|
||||||
|
alter table(:users) do
|
||||||
|
add(:show_attachment_filenames, :boolean, default: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -180,6 +180,16 @@ defmodule Pleroma.Web.MastodonAPI.UpdateCredentialsTest do
|
|||||||
assert refresh_record(user).skip_thread_containment
|
assert refresh_record(user).skip_thread_containment
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "updates the user's show_attachment_filenames option", %{user: user, conn: conn} do
|
||||||
|
response =
|
||||||
|
conn
|
||||||
|
|> patch("/api/v1/accounts/update_credentials", %{show_attachment_filenames: "true"})
|
||||||
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
|
assert response["pleroma"]["show_attachment_filenames"]
|
||||||
|
assert refresh_record(user).show_attachment_filenames
|
||||||
|
end
|
||||||
|
|
||||||
test "updates the user's hide_follows status", %{conn: conn} do
|
test "updates the user's hide_follows status", %{conn: conn} do
|
||||||
conn = patch(conn, "/api/v1/accounts/update_credentials", %{hide_follows: "true"})
|
conn = patch(conn, "/api/v1/accounts/update_credentials", %{hide_follows: "true"})
|
||||||
|
|
||||||
|
@ -35,7 +35,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||||||
"<script src=\"invalid-html\"></script><span>valid html</span>. a<br>b<br/>c<br >d<br />f '&<>\"",
|
"<script src=\"invalid-html\"></script><span>valid html</span>. a<br>b<br/>c<br >d<br />f '&<>\"",
|
||||||
inserted_at: ~N[2017-08-15 15:47:06.597036],
|
inserted_at: ~N[2017-08-15 15:47:06.597036],
|
||||||
emoji: %{"karjalanpiirakka" => "/file.png"},
|
emoji: %{"karjalanpiirakka" => "/file.png"},
|
||||||
raw_bio: "valid html. a\nb\nc\nd\nf '&<>\""
|
raw_bio: "valid html. a\nb\nc\nd\nf '&<>\"",
|
||||||
|
show_attachment_filenames: true
|
||||||
})
|
})
|
||||||
|
|
||||||
expected = %{
|
expected = %{
|
||||||
@ -87,6 +88,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||||||
hide_followers_count: false,
|
hide_followers_count: false,
|
||||||
hide_follows_count: false,
|
hide_follows_count: false,
|
||||||
relationship: %{},
|
relationship: %{},
|
||||||
|
show_attachment_filenames: true,
|
||||||
skip_thread_containment: false,
|
skip_thread_containment: false,
|
||||||
accepts_chat_messages: nil
|
accepts_chat_messages: nil
|
||||||
}
|
}
|
||||||
@ -185,6 +187,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||||||
hide_followers_count: false,
|
hide_followers_count: false,
|
||||||
hide_follows_count: false,
|
hide_follows_count: false,
|
||||||
relationship: %{},
|
relationship: %{},
|
||||||
|
show_attachment_filenames: false,
|
||||||
skip_thread_containment: false,
|
skip_thread_containment: false,
|
||||||
accepts_chat_messages: nil
|
accepts_chat_messages: nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user