logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 26a95e57873630491066687d2a216ab6e01549b0
parent 52e18a624922e64eb4a7fd3f0d7a9aef06ea7fad
Author: Mark Felder <feld@feld.me>
Date:   Sat, 27 Jan 2024 16:02:26 -0500

Pleroma.Web.PleromaAPI.NotificationController: dialyzer errors

lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:53:call
The function call will not succeed.

Phoenix.Controller.json(
  _conn :: %{
    :assigns => %{:user => _, _ => _},
    :body_params => %{:list => _, _ => _},
    _ => _
  },
  <<106, 111, 98, 32, 115, 116, 97, 114, 116, 101, 100>>
)

breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()

Diffstat:

Mlib/pleroma/web/api_spec/operations/pleroma_notification_operation.ex7+++++--
Mlib/pleroma/web/pleroma_api/controllers/notification_controller.ex4++--
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/pleroma/web/api_spec/operations/pleroma_notification_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_notification_operation.ex @@ -24,8 +24,11 @@ defmodule Pleroma.Web.ApiSpec.PleromaNotificationOperation do request_body("Parameters", %Schema{ type: :object, properties: %{ - id: %Schema{type: :integer, description: "A single notification ID to read"}, - max_id: %Schema{type: :integer, description: "Read all notifications up to this ID"} + "id" => %Schema{type: :integer, description: "A single notification ID to read"}, + "max_id" => %Schema{ + type: :integer, + description: "Read all notifications up to this ID" + } } }), security: [%{"oAuth" => ["write:notifications"]}], diff --git a/lib/pleroma/web/pleroma_api/controllers/notification_controller.ex b/lib/pleroma/web/pleroma_api/controllers/notification_controller.ex @@ -16,7 +16,7 @@ defmodule Pleroma.Web.PleromaAPI.NotificationController do defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.PleromaNotificationOperation - def mark_as_read(%{assigns: %{user: user}, body_params: %{id: notification_id}} = conn, _) do + def mark_as_read(%{assigns: %{user: user}, body_params: %{"id" => notification_id}} = conn, _) do with {:ok, notification} <- Notification.read_one(user, notification_id) do render(conn, "show.json", notification: notification, for: user) else @@ -27,7 +27,7 @@ defmodule Pleroma.Web.PleromaAPI.NotificationController do end end - def mark_as_read(%{assigns: %{user: user}, body_params: %{max_id: max_id}} = conn, _) do + def mark_as_read(%{assigns: %{user: user}, body_params: %{"max_id" => max_id}} = conn, _) do notifications = user |> Notification.set_read_up_to(max_id)