fix(vision): execute controlla task_type, versione, ricetta attiva, produzione (#38.7)
execute_task rifiuta 422 se il task non è camera_measure, 409 se la versione non è corrente o la ricetta non è attiva; production_run_id, quando presente, è validato con measurement_service.validate_run_for_version (stessa regola di una lettura manuale). Router: lot_number/serial_number max_length=100, production_run_id gt=0. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -95,9 +95,9 @@ async def _read_image(image: UploadFile) -> bytes:
|
||||
async def execute(
|
||||
task_id: int = Form(...),
|
||||
image: UploadFile = File(...),
|
||||
lot_number: str | None = Form(None),
|
||||
serial_number: str | None = Form(None),
|
||||
production_run_id: int | None = Form(None),
|
||||
lot_number: str | None = Form(None, max_length=100),
|
||||
serial_number: str | None = Form(None, max_length=100),
|
||||
production_run_id: int | None = Form(None, gt=0),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: User = Depends(require_measurement_tec),
|
||||
) -> VisionExecuteResponse:
|
||||
|
||||
Reference in New Issue
Block a user