commit: 17f4251b19846401ca36ee31156294ec63de84ee
parent 8b02c858102232700826214ffb5d58e5b2f90edf
Author: Mark Felder <feld@feld.me>
Date: Sat, 27 Jan 2024 15:47:07 -0500
Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes
lib/pleroma/web/twitter_api/controllers/util_controller.ex:158:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:ap_id => _, :profile => _, _ => _}, _ => _}, %{
:error =>
<<67, 111, 117, 108, 100, 110, 39, 116, 32, 102, 105, 110, 100, 32, 117, 115, 101, 114>>
})
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
Diffstat:
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/pleroma/web/api_spec/operations/twitter_util_operation.ex b/lib/pleroma/web/api_spec/operations/twitter_util_operation.ex
@@ -404,10 +404,10 @@ defmodule Pleroma.Web.ApiSpec.TwitterUtilOperation do
title: "RemoteInteractionRequest",
description: "POST body for remote interaction",
type: :object,
- required: [:ap_id, :profile],
+ required: ["ap_id", "profile"],
properties: %{
- ap_id: %Schema{type: :string, description: "Profile or status ActivityPub ID"},
- profile: %Schema{type: :string, description: "Remote profile webfinger"}
+ "ap_id" => %Schema{type: :string, description: "Profile or status ActivityPub ID"},
+ "profile" => %Schema{type: :string, description: "Remote profile webfinger"}
}
}
end
diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex
@@ -150,7 +150,10 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
end
end
- def remote_interaction(%{body_params: %{ap_id: ap_id, profile: profile}} = conn, _params) do
+ def remote_interaction(
+ %{body_params: %{"ap_id" => ap_id, "profile" => profile}} = conn,
+ _params
+ ) do
with {:ok, %{"subscribe_address" => template}} <- WebFinger.finger(profile) do
conn
|> json(%{url: String.replace(template, "{uri}", ap_id)})