aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/websub/websub_controller.ex
blob: 5d54c6ef5c936c10cf4ba128712f5dab93230c62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
defmodule Pleroma.Web.Websub.WebsubController do
  use Pleroma.Web, :controller
  alias Pleroma.User
  alias Pleroma.Web.Websub

  def websub_subscription_request(conn, %{"nickname" => nickname} = params) do
    user = User.get_cached_by_nickname(nickname)

    with {:ok, _websub} <- Websub.incoming_subscription_request(user, params)
    do
      conn
      |> send_resp(202, "Accepted")
    else {:error, reason} ->
      conn
      |> send_resp(500, reason)
    end
  end
end