Camera di stazione: acquisizione dal frontend e campi admin (#72)

Route POST /measure/api/vision/grab (proxy verso il servizio camera),
get_station_by_code, pulsante «Acquisisci dalla camera», grab() in
vision_execute.js, campi camera_url e camera_source nell'admin stazioni,
traduzioni it/en, extra_hosts host.docker.internal nel compose di sviluppo.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 09:51:07 +02:00
parent 5bf374aadd
commit 192d4b590c
11 changed files with 417 additions and 1 deletions
@@ -13,3 +13,12 @@ def test_get_station_recipes_calls_correct_endpoint():
called_args, called_kwargs = mock_get.call_args
assert called_args[0] == "/api/stations/by-code/ST-001/recipes"
assert result == [{"id": 1, "code": "R1", "name": "R1", "active": True}]
def test_get_station_by_code_calls_correct_endpoint():
client = APIClient()
with patch.object(client, "get") as mock_get:
mock_get.return_value = {"id": 1, "code": "ST-001", "camera_url": None}
result = client.get_station_by_code("ST-001")
assert mock_get.call_args[0][0] == "/api/stations/by-code/ST-001"
assert result["code"] == "ST-001"