From 31d1f511c33a4c91ab07c7f67b9347ebc974bde1 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Sun, 12 Apr 2026 23:41:40 +0000 Subject: [PATCH] =?UTF-8?q?fix(service-auto):=20mapare=20ORA-01438=20?= =?UTF-8?q?=E2=86=92=20422=20pentru=20ID=20invalid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ORA-01438 (value larger than column precision) apare când id_masiniclient depășește precizia coloanei Oracle. Este eroare de input, nu server error — mapăm la 422 Unprocessable. Co-Authored-By: Claude Sonnet 4.6 --- backend/modules/service_auto/services/comanda_service.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/modules/service_auto/services/comanda_service.py b/backend/modules/service_auto/services/comanda_service.py index c7c08b9..505a0b2 100644 --- a/backend/modules/service_auto/services/comanda_service.py +++ b/backend/modules/service_auto/services/comanda_service.py @@ -33,6 +33,10 @@ def _handle_oracle_error(e: Exception) -> NoReturn: clean = re.sub(r"^ORA-\d+:\s*", "", raw_message).strip() raise HTTPException(status_code=422, detail=clean) + if code == 1438: + # ORA-01438: value larger than specified precision — bad input ID (e.g. id_masiniclient out of range) + raise HTTPException(status_code=422, detail="Valoare invalidă pentru câmp (ID prea mare)") + if code in (12541, 12170, 12154, 12560): raise HTTPException( status_code=503,