forked from AkkomaGang/akkoma
twitter api: enforce upload limits for avatars, banners and backgrounds
This commit is contained in:
parent
167d3789a5
commit
e12489e2fe
1 changed files with 15 additions and 3 deletions
|
@ -263,7 +263,11 @@ def register(conn, params) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_avatar(%{assigns: %{user: user}} = conn, params) do
|
def update_avatar(%{assigns: %{user: user}} = conn, params) do
|
||||||
{:ok, object} = ActivityPub.upload(params)
|
upload_limit =
|
||||||
|
Application.get_env(:pleroma, :instance)
|
||||||
|
|> Keyword.fetch(:avatar_upload_limit)
|
||||||
|
|
||||||
|
{:ok, object} = ActivityPub.upload(params, upload_limit)
|
||||||
change = Changeset.change(user, %{avatar: object.data})
|
change = Changeset.change(user, %{avatar: object.data})
|
||||||
{:ok, user} = User.update_and_set_cache(change)
|
{:ok, user} = User.update_and_set_cache(change)
|
||||||
CommonAPI.update(user)
|
CommonAPI.update(user)
|
||||||
|
@ -272,7 +276,11 @@ def update_avatar(%{assigns: %{user: user}} = conn, params) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_banner(%{assigns: %{user: user}} = conn, params) do
|
def update_banner(%{assigns: %{user: user}} = conn, params) do
|
||||||
with {:ok, object} <- ActivityPub.upload(%{"img" => params["banner"]}),
|
upload_limit =
|
||||||
|
Application.get_env(:pleroma, :instance)
|
||||||
|
|> Keyword.fetch(:banner_upload_limit)
|
||||||
|
|
||||||
|
with {:ok, object} <- ActivityPub.upload(%{"img" => params["banner"]}, upload_limit),
|
||||||
new_info <- Map.put(user.info, "banner", object.data),
|
new_info <- Map.put(user.info, "banner", object.data),
|
||||||
change <- User.info_changeset(user, %{info: new_info}),
|
change <- User.info_changeset(user, %{info: new_info}),
|
||||||
{:ok, user} <- User.update_and_set_cache(change) do
|
{:ok, user} <- User.update_and_set_cache(change) do
|
||||||
|
@ -286,7 +294,11 @@ def update_banner(%{assigns: %{user: user}} = conn, params) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_background(%{assigns: %{user: user}} = conn, params) do
|
def update_background(%{assigns: %{user: user}} = conn, params) do
|
||||||
with {:ok, object} <- ActivityPub.upload(params),
|
upload_limit =
|
||||||
|
Application.get_env(:pleroma, :instance)
|
||||||
|
|> Keyword.fetch(:background_upload_limit)
|
||||||
|
|
||||||
|
with {:ok, object} <- ActivityPub.upload(params, upload_limit),
|
||||||
new_info <- Map.put(user.info, "background", object.data),
|
new_info <- Map.put(user.info, "background", object.data),
|
||||||
change <- User.info_changeset(user, %{info: new_info}),
|
change <- User.info_changeset(user, %{info: new_info}),
|
||||||
{:ok, _user} <- User.update_and_set_cache(change) do
|
{:ok, _user} <- User.update_and_set_cache(change) do
|
||||||
|
|
Loading…
Reference in a new issue