Clone
defmodule PiDayWeb.UserSocket do
use Phoenix.Socket
channel "game:hub", PiDayWeb.GameChannel
channel "game:mini:*", PiDayWeb.MiniGameChannel
@impl true
def connect(%{"token" => token}, socket, _connect_info) do
case PiDay.Game.get_player_by_token(token) do
nil -> :error
player -> {:ok, assign(socket, :player, player)}
end
end
def connect(_params, _socket, _connect_info), do: :error
@impl true
def id(socket), do: "user_socket:#{socket.assigns.player.id}"
end