1
0
forked from poc/pds

Add validation for serial numbers in readFiles method and return error response for invalid entries

This commit is contained in:
dhanabalan
2025-09-26 12:09:41 +05:30
parent b2cf4dc18e
commit 5b8bb29aeb

View File

@@ -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,