feat: dynamically manage floors/rooms/tags
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user