alias Pleroma.{User, Repo}
transport(
- :streaming,
+ :websocket,
Phoenix.Transports.WebSocket.Raw,
# We never receive data.
timeout: :infinity
)
+ @spec connect(params :: map(), Phoenix.Socket.t()) :: {:ok, Phoenix.Socket.t()} | :error
def connect(%{"access_token" => token} = params, socket) do
with %Token{user_id: user_id} <- Repo.get_by(Token, token: token),
%User{} = user <- Repo.get(User, user_id),
_ -> stream
end
- with socket =
- socket
- |> assign(:topic, topic) do
- Pleroma.Web.Streamer.add_socket(topic, socket)
- {:ok, socket}
- else
- _e -> :error
- end
+ socket =
+ socket
+ |> assign(:topic, topic)
+
+ Pleroma.Web.Streamer.add_socket(topic, socket)
+ {:ok, socket}
end
+ def connect(_params, _socket), do: :error
+
def id(_), do: nil
def handle(:text, message, _state) do