feat: dynamically manage floors/rooms/tags

This commit is contained in:
2026-04-16 16:57:45 +02:00
parent 34ddbe669e
commit c3fd8b950c
11 changed files with 238 additions and 22 deletions
+24 -7
View File
@@ -11,19 +11,36 @@ defmodule Localiser.Domain.Floors do
def get_floor!(id), do: Repo.get!(Floor, id)
def create_floor(attrs) do
%Floor{}
|> Floor.changeset(attrs)
|> Repo.insert()
case %Floor{} |> Floor.changeset(attrs) |> Repo.insert() do
{:ok, floor} ->
Phoenix.PubSub.broadcast(Localiser.PubSub, "floors", {:floor_created, floor})
{:ok, floor}
error ->
error
end
end
def update_floor(%Floor{} = floor, attrs) do
floor
|> Floor.changeset(attrs)
|> Repo.update()
case floor |> Floor.changeset(attrs) |> Repo.update() do
{:ok, floor} ->
Phoenix.PubSub.broadcast(Localiser.PubSub, "floors", {:floor_updated, floor})
{:ok, floor}
error ->
error
end
end
def delete_floor(%Floor{} = floor) do
Repo.delete(floor)
case Repo.delete(floor) do
{:ok, deleted} ->
Phoenix.PubSub.broadcast(Localiser.PubSub, "floors", {:floor_deleted, deleted.id})
{:ok, deleted}
error ->
error
end
end
def list_floors_with_rooms do