feat(measure): memorizza tempo di inserimento misura (input_duration_ms)

Colonna nullable su measurements + migration 003, campo opzionale negli
schemi API (create singola e batch), passthrough nel proxy Flask e timer
lato client in task_execute: parte all'attivazione del subtask, si
resetta su auto-advance e navigazione manuale.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 14:32:35 +02:00
parent edb7eb382c
commit 3f03ec8ab1
9 changed files with 141 additions and 0 deletions
+2
View File
@@ -13,6 +13,7 @@ class MeasurementCreate(BaseModel):
lot_number: Optional[str] = Field(None, max_length=100)
serial_number: Optional[str] = Field(None, max_length=100)
input_method: str = Field("manual", pattern="^(usb_caliper|manual)$")
input_duration_ms: Optional[int] = Field(None, ge=0)
class MeasurementBatchCreate(BaseModel):
@@ -34,6 +35,7 @@ class MeasurementResponse(BaseModel):
lot_number: Optional[str] = None
serial_number: Optional[str] = None
input_method: str
input_duration_ms: Optional[int] = None
measured_at: datetime
synced_to_csv: bool