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()
This commit is contained in:
Mark Felder 2024-01-27 15:47:07 -05:00
parent 8b02c85810
commit 17f4251b19
2 changed files with 7 additions and 4 deletions

View File

@ -404,10 +404,10 @@ defp remote_interaction_request do
title: "RemoteInteractionRequest", title: "RemoteInteractionRequest",
description: "POST body for remote interaction", description: "POST body for remote interaction",
type: :object, type: :object,
required: [:ap_id, :profile], required: ["ap_id", "profile"],
properties: %{ properties: %{
ap_id: %Schema{type: :string, description: "Profile or status ActivityPub ID"}, "ap_id" => %Schema{type: :string, description: "Profile or status ActivityPub ID"},
profile: %Schema{type: :string, description: "Remote profile webfinger"} "profile" => %Schema{type: :string, description: "Remote profile webfinger"}
} }
} }
end end

View File

@ -150,7 +150,10 @@ def remote_subscribe(conn, %{"status" => %{"status_id" => id, "profile" => profi
end end
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 with {:ok, %{"subscribe_address" => template}} <- WebFinger.finger(profile) do
conn conn
|> json(%{url: String.replace(template, "{uri}", ap_id)}) |> json(%{url: String.replace(template, "{uri}", ap_id)})