From 5b8bb29aeb166fc5569fa692435f492b38ec67e7 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Fri, 26 Sep 2025 12:09:41 +0530 Subject: [PATCH] Add validation for serial numbers in readFiles method and return error response for invalid entries --- app/Http/Controllers/SapFileController.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/SapFileController.php b/app/Http/Controllers/SapFileController.php index c120c94..3454292 100644 --- a/app/Http/Controllers/SapFileController.php +++ b/app/Http/Controllers/SapFileController.php @@ -218,6 +218,7 @@ class SapFileController extends Controller $serialNumbers = []; $remainingRow = null; + $invalidSerials = []; foreach ($lines as $line) { $values = str_getcsv($line); @@ -231,16 +232,30 @@ class SapFileController extends Controller } // Collect serial number - $serialNumbers[] = $values[5] ?? null; + // $serialNumbers[] = $values[5] ?? null; + $serial = $values[5] ?? null; + $serialNumbers[] = $serial; + + if ($serial == null || strlen($serial) < 13) { + $invalidSerials[] = $serialNumbers; + } // Store remaining row only once - if ($remainingRow === null) { + if ($remainingRow == null) { $remainingRow = $values; unset($remainingRow[5]); // remove serial number $remainingRow = array_values($remainingRow); // reindex } } + if (!empty($invalidSerials)) { + return response()->json([ + 'status' => 'ERROR', + 'status_description' => 'Some serial numbers are invalid (less than 13 characters)', + 'invalid_serials' => $invalidSerials + ], 400); + } + return response()->json([ 'status' => 'SUCCESS', 'serial_numbers' => $serialNumbers,