feat: expose CRUD, onboarding, pubsub via web

This commit is contained in:
2026-04-22 16:32:41 +02:00
parent 9807331da4
commit 9389c32244
33 changed files with 1536 additions and 7 deletions
+26
View File
@@ -0,0 +1,26 @@
defmodule Localiser.Web.UserSocket do
use Phoenix.Socket
channel "particles:*", Localiser.Web.Channels.ParticlesChannel
channel "rooms:occupancy", Localiser.Web.Channels.RoomChannel
channel "sensors", Localiser.Web.Channels.SensorsChannel
@impl true
def connect(%{"token" => token}, socket, _connect_info) do
case Localiser.Web.Token.verify_token(token) do
{:ok, %{"sub" => user_id}} ->
case Localiser.Domain.Users.get_user(user_id) do
{:ok, user} -> {:ok, assign(socket, :current_user, user)}
_ -> :error
end
{:error, _} ->
:error
end
end
def connect(_params, _socket, _connect_info), do: :error
@impl true
def id(socket), do: "user_socket:#{socket.assigns.current_user.id}"
end