Prevent saving/deleting Lovelace config in safe mode (#32319)
parent
f17462b159
commit
601f2c693d
|
@ -101,6 +101,9 @@ class LovelaceStorage(LovelaceConfig):
|
|||
|
||||
async def async_save(self, config):
|
||||
"""Save config."""
|
||||
if self.hass.config.safe_mode:
|
||||
raise HomeAssistantError("Saving not supported in safe mode")
|
||||
|
||||
if self._data is None:
|
||||
await self._load()
|
||||
self._data["config"] = config
|
||||
|
@ -109,6 +112,9 @@ class LovelaceStorage(LovelaceConfig):
|
|||
|
||||
async def async_delete(self):
|
||||
"""Delete config."""
|
||||
if self.hass.config.safe_mode:
|
||||
raise HomeAssistantError("Deleting not supported in safe mode")
|
||||
|
||||
await self.async_save(None)
|
||||
|
||||
async def _load(self):
|
||||
|
|
|
@ -50,6 +50,16 @@ async def test_lovelace_from_storage(hass, hass_ws_client, hass_storage):
|
|||
assert not response["success"]
|
||||
assert response["error"]["code"] == "config_not_found"
|
||||
|
||||
await client.send_json(
|
||||
{"id": 9, "type": "lovelace/config/save", "config": {"yo": "hello"}}
|
||||
)
|
||||
response = await client.receive_json()
|
||||
assert not response["success"]
|
||||
|
||||
await client.send_json({"id": 10, "type": "lovelace/config/delete"})
|
||||
response = await client.receive_json()
|
||||
assert not response["success"]
|
||||
|
||||
|
||||
async def test_lovelace_from_storage_save_before_load(
|
||||
hass, hass_ws_client, hass_storage
|
||||
|
|
Loading…
Reference in New Issue