def process_add(uuid, session, mods): room = RoomMdl.get_room_with_uuid(uuid=UUID(uuid), session=session) for item in mods: dev = DeviceMdl.get_device_with_uuid(uuid=UUID(item), session=session) room.devices.append(dev) session.add(room) session.flush()
def delete_room(uuid, session): room = RoomMdl.get_room_with_uuid(uuid=uuid, session=session) if room is None: raise ApiOperationError("Room with this uuid is not found", uuid) else: session.delete(room) session.commit()
def delete_room(item, session): room = RoomMdl.get_room_with_uuid(item) session.delete(room) session.flush() return room
def get_room_devices(uuid, acl, session): room = RoomMdl.get_room_with_uuid(uuid=uuid, session=session) devices = [x for x in room.devices if x.interface is not None and x.interface.read_acl <= acl] return devices
def process_delete(uuid, session, mods): room = RoomMdl.get_room_with_uuid(uuid=UUID(uuid), session=session) room.devices = [x for x in room.devices if str(x.uuid) not in mods] session.flush()
def get_room_devices(uuid, session): room = RoomMdl.get_room_with_uuid(uuid=UUID(uuid), session=session) devices = room.get_devices(session=session) return devices
def get_room(uuid, session): room = RoomMdl.get_room_with_uuid(uuid=uuid, session=session) if room is None: raise IncorrectTargetException(uuid, RoomMdl) return RoomMdl.get_room_with_uuid(uuid=uuid, session=session)