logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 25eec6d72dae6e771b777aa6460acd600a17fe7d
parent: 850377a7b8d380088d8717d82b09a2976bbdd739
Author: rinpatch <rinpatch@sdf.org>
Date:   Thu, 23 Apr 2020 11:22:30 +0000

Merge branch 'bugfix/null-scheduled-at' into 'develop'

StatusController: Ignore nil scheduled_at parameters.

Closes #1699

See merge request pleroma/pleroma!2412

Diffstat:

Mlib/pleroma/web/mastodon_api/controllers/status_controller.ex3++-
Mtest/web/mastodon_api/controllers/status_controller_test.exs11+++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex @@ -127,7 +127,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do def create( %{assigns: %{user: user}} = conn, %{"status" => _, "scheduled_at" => scheduled_at} = params - ) do + ) + when not is_nil(scheduled_at) do params = Map.put(params, "in_reply_to_status_id", params["in_reply_to_id"]) with {:far_enough, true} <- {:far_enough, ScheduledActivity.far_enough?(scheduled_at)}, diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -302,6 +302,17 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do assert [] == Repo.all(Activity) end + test "ignores nil values", %{conn: conn} do + conn = + post(conn, "/api/v1/statuses", %{ + "status" => "not scheduled", + "scheduled_at" => nil + }) + + assert result = json_response(conn, 200) + assert Activity.get_by_id(result["id"]) + end + test "creates a scheduled activity with a media attachment", %{user: user, conn: conn} do scheduled_at = NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(120), :millisecond)