fix: remove sensors from layout on room deletion
This commit is contained in:
@@ -4,6 +4,7 @@ defmodule Localiser.Domain.Rooms do
|
||||
alias Localiser.Repo
|
||||
alias Localiser.Domain.Schema.Room
|
||||
alias Localiser.Domain.Schema.Sensor
|
||||
alias Localiser.Domain.Sensors
|
||||
|
||||
def list_rooms do
|
||||
Repo.all(Room)
|
||||
@@ -44,12 +45,12 @@ defmodule Localiser.Domain.Rooms do
|
||||
def delete_room(%Room{} = room) do
|
||||
sensors = Repo.all(from s in Sensor, where: s.room_id == ^room.id)
|
||||
|
||||
Enum.each(sensors, fn s ->
|
||||
Sensors.remove_from_layout(s)
|
||||
end)
|
||||
|
||||
case Repo.delete(room) do
|
||||
{:ok, deleted} ->
|
||||
Enum.each(sensors, fn s ->
|
||||
Phoenix.PubSub.broadcast(Localiser.PubSub, "sensors", {:sensor_unenrolled, s.sensor_id})
|
||||
end)
|
||||
|
||||
Phoenix.PubSub.broadcast(Localiser.PubSub, "rooms", {:room_deleted, deleted.id, deleted.floor_id})
|
||||
{:ok, deleted}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user