From cdcbcc62b108494bd86634bf650f912fdf939959 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Fri, 5 Jun 2026 01:20:19 +0530 Subject: [PATCH] Updated to post api from get api and its responses --- .../Controllers/TestingPanelController.php | 49 +++++++++++++------ routes/api.php | 2 +- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/TestingPanelController.php b/app/Http/Controllers/TestingPanelController.php index be11711..68ed095 100644 --- a/app/Http/Controllers/TestingPanelController.php +++ b/app/Http/Controllers/TestingPanelController.php @@ -498,39 +498,47 @@ class TestingPanelController extends Controller return response()->json([ 'status_code' => 'ERROR', 'status_description' => 'Invalid authorization token!', + 'status_response' => (object) [], ], 403); } - $plantCode = $request->header('plant-code') ?? null; - $serialNumbers = $request->header('serial-numbers') ?? null; - // $description = $item ? $item->description : ''; + $plantCode = trim($request->header('plant-code')) ?? null; + // $serialNumbers = $request->header('serial-numbers') ?? null; + $data = $request->all(); + $serialNumbers = $data['serial_numbers'] ?? ''; + // $serialNumbers = $request->input('serial_numbers', []); if ($plantCode == null || $plantCode == '' || ! $plantCode) { return response()->json([ 'status_code' => 'ERROR', 'status_description' => "Plant code can't be empty!", + 'status_response' => (object) [], ], 404); } elseif (! is_numeric($plantCode)) { return response()->json([ 'status_code' => 'ERROR', 'status_description' => "Plant code '{$plantCode}' should contain only numeric values!", + 'status_response' => (object) [], ], 404); } elseif (Str::length($plantCode) < 4 || Str::length($plantCode) > 7) { return response()->json([ 'status_code' => 'ERROR', 'status_description' => "Plant code '{$plantCode}' must be between 4 and 7 digits only!", + 'status_response' => (object) [], ], 404); } elseif (! preg_match('/^[1-9]\d{3,6}$/', $plantCode)) { return response()->json([ 'status_code' => 'ERROR', 'status_description' => "Invalid plant code '{$plantCode}' found!", + 'status_response' => (object) [], ], 404); } - if ($serialNumbers == null || $serialNumbers == '' || ! $serialNumbers) { + if (empty($serialNumbers) || ! is_array($serialNumbers) || count($serialNumbers) == 0) { return response()->json([ 'status_code' => 'ERROR', - 'status_description' => "Serial numbers can't be empty!", + 'status_description' => 'Serial numbers is required and must be a non-empty array.', + 'status_response' => (object) [], ], 404); } @@ -540,18 +548,25 @@ class TestingPanelController extends Controller return response()->json([ 'status_code' => 'ERROR', 'status_description' => "Plant code '{$plantCode}' not found!", - ], 400); + 'status_response' => (object) [], + ], 404); } $plantId = $plant->id; - $serialArray = array_map('trim', explode(',', $serialNumbers)); - // $serialNumber = 'SNO-'.Str::random(5).'-'.time(); // Default random serial number if not provided + // $serialArray = array_map('trim', explode(',', $serialNumbers)); + // // $serialNumber = 'SNO-'.Str::random(5).'-'.time(); // Default random serial number if not provided + + $serialArray = $serialNumbers; // Remove null, empty string, or falsy values from $serialArray - $serialArray = array_filter($serialArray, function ($serial) { - return $serial != null && $serial != '' && $serial; - }); + // $serialArray = array_filter($serialArray, function ($serial) { + // return $serial != null && $serial != '' && $serial; + // }); + // Remove null/empty/falsy and reindex the array + $serialArray = array_values(array_filter($serialNumbers, function ($serial) { + return $serial != null && $serial != '' && is_string($serial) && trim($serial) != ''; + })); $serialStatus = []; $validSerials = []; @@ -586,7 +601,8 @@ class TestingPanelController extends Controller if ($validSerials == null || empty($validSerials)) { return response()->json([ 'status_code' => 'ERROR', - 'status_descriptions' => $serialStatus, + 'status_description' => 'Has pending leak test!', + 'status_response' => [$serialStatus], ], 404); } else { $serialArray = $validSerials; // nonExistingSerials @@ -604,7 +620,8 @@ class TestingPanelController extends Controller return response()->json([ 'status_code' => 'ERROR', - 'status_descriptions' => $mergedResult, + 'status_description' => 'Has pending leak test!', + 'status_response' => [$mergedResult], ], 404); } @@ -629,14 +646,16 @@ class TestingPanelController extends Controller return response()->json([ 'status_code' => $hasFail ? 'ERROR' : 'SUCCESS', - 'status_descriptions' => $mergedResult, + 'status_description' => $hasFail ? 'Has pending leak test!' : 'Each serial number has passed the leak test!', + 'status_response' => [$mergedResult], ], $hasFail ? 404 : 200); } else { $mergedResult = $serialStatus + $nonExistingSerials + $existingSerials; // nonExistingSerials return response()->json([ 'status_code' => 'ERROR', - 'status_descriptions' => $mergedResult, + 'status_description' => 'Has pending leak test!', + 'status_response' => [$mergedResult], ], 404); } } diff --git a/routes/api.php b/routes/api.php index 3314acc..e3db558 100644 --- a/routes/api.php +++ b/routes/api.php @@ -161,7 +161,7 @@ Route::post('testing/reading/store-data', [TestingPanelController::class, 'store Route::post('testing/leak-test/store-data', [TestingPanelController::class, 'storeLeakTestStatus']); -Route::get('testing/leak-test/get-data', [TestingPanelController::class, 'getLeakTestStatus']); +Route::post('testing/leak-test/get-data', [TestingPanelController::class, 'getLeakTestStatus']); Route::get('get-pdf', [PdfController::class, 'getPdf']); // processorder/get-pdf -- 2.49.1