From f310bcac512d26b2fc7f4a3187ac9364ce9e9872 Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Wed, 19 Nov 2025 16:21:26 -0600 Subject: [PATCH] FIX: Validaciones sim y paquetes --- app/Http/Controllers/Netbien/SimCardController.php | 10 ++++++---- app/Http/Requests/Netbien/PackagesStoreRequest.php | 6 +++--- app/Http/Requests/Netbien/SimCardStoreRequest.php | 4 ++-- app/Http/Requests/Netbien/SimCardUpdateRequest.php | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Netbien/SimCardController.php b/app/Http/Controllers/Netbien/SimCardController.php index 7f0d58f..50db6cd 100644 --- a/app/Http/Controllers/Netbien/SimCardController.php +++ b/app/Http/Controllers/Netbien/SimCardController.php @@ -250,10 +250,12 @@ private function getOrCreatePackage(string $type, float $price): Packages return $this->packageCache[$cacheKey]; } - $package = Packages::firstOrCreate( - ['name' => $type, 'price' => $price], - ['period' => 0, 'data_limit' => 0] - ); + $package = Packages::create([ + 'name' => $type, + 'price' => (float) $price, + 'period' => 0, + 'data_limit' => 0, + ]); if ($package->wasRecentlyCreated) { $this->stats['packages_created']++; diff --git a/app/Http/Requests/Netbien/PackagesStoreRequest.php b/app/Http/Requests/Netbien/PackagesStoreRequest.php index fc8ddad..2bb1757 100644 --- a/app/Http/Requests/Netbien/PackagesStoreRequest.php +++ b/app/Http/Requests/Netbien/PackagesStoreRequest.php @@ -26,9 +26,9 @@ public function rules(): array { return [ 'name' => ['required', 'string', 'max:80'], - 'price' => ['required', 'integer'], - 'period' => ['required', 'integer'], - 'data_limit' => ['required', 'integer'], + 'price' => ['required', 'numeric'], + 'period' => ['required', 'numeric'], + 'data_limit' => ['required', 'numeric'], ]; } diff --git a/app/Http/Requests/Netbien/SimCardStoreRequest.php b/app/Http/Requests/Netbien/SimCardStoreRequest.php index d5bb6cc..ba1fbed 100644 --- a/app/Http/Requests/Netbien/SimCardStoreRequest.php +++ b/app/Http/Requests/Netbien/SimCardStoreRequest.php @@ -28,7 +28,7 @@ public function rules(): array { return [ 'iccid' => ['required', 'string', 'max:25', 'unique:sim_cards,iccid'], - 'msisdn' => ['required', 'string', 'max:10', 'unique:sim_cards,msisdn'], + 'msisdn' => ['required', 'string', 'max:15', 'unique:sim_cards,msisdn'], 'package_id' => ['nullable', 'integer', 'exists:packages,id'], ]; } @@ -43,7 +43,7 @@ public function messages() : array 'msisdn.required' => 'El campo MSISDN es obligatorio.', 'msisdn.string' => 'El campo MSISDN debe ser una cadena de texto.', - 'msisdn.max' => 'El campo MSISDN no debe exceder los 10 caracteres.', + 'msisdn.max' => 'El campo MSISDN no debe exceder los 15 caracteres.', 'msisdn.unique' => 'El MSISDN ya está en uso.', 'package_id.integer' => 'El paquete debe ser un número entero.', diff --git a/app/Http/Requests/Netbien/SimCardUpdateRequest.php b/app/Http/Requests/Netbien/SimCardUpdateRequest.php index 384b0aa..c865b9e 100644 --- a/app/Http/Requests/Netbien/SimCardUpdateRequest.php +++ b/app/Http/Requests/Netbien/SimCardUpdateRequest.php @@ -27,7 +27,7 @@ public function authorize(): bool public function rules(): array { return [ - 'msisdn' => ['required', 'string', 'max:10', 'unique:sim_cards,msisdn'], + 'msisdn' => ['required', 'string', 'max:15', 'unique:sim_cards,msisdn'], ]; }