FIX: Validaciones sim y paquetes

This commit is contained in:
Juan Felipe Zapata Moreno 2025-11-19 16:21:26 -06:00
parent 7486ee089a
commit f310bcac51
4 changed files with 12 additions and 10 deletions

View File

@ -250,10 +250,12 @@ private function getOrCreatePackage(string $type, float $price): Packages
return $this->packageCache[$cacheKey]; return $this->packageCache[$cacheKey];
} }
$package = Packages::firstOrCreate( $package = Packages::create([
['name' => $type, 'price' => $price], 'name' => $type,
['period' => 0, 'data_limit' => 0] 'price' => (float) $price,
); 'period' => 0,
'data_limit' => 0,
]);
if ($package->wasRecentlyCreated) { if ($package->wasRecentlyCreated) {
$this->stats['packages_created']++; $this->stats['packages_created']++;

View File

@ -26,9 +26,9 @@ public function rules(): array
{ {
return [ return [
'name' => ['required', 'string', 'max:80'], 'name' => ['required', 'string', 'max:80'],
'price' => ['required', 'integer'], 'price' => ['required', 'numeric'],
'period' => ['required', 'integer'], 'period' => ['required', 'numeric'],
'data_limit' => ['required', 'integer'], 'data_limit' => ['required', 'numeric'],
]; ];
} }

View File

@ -28,7 +28,7 @@ public function rules(): array
{ {
return [ return [
'iccid' => ['required', 'string', 'max:25', 'unique:sim_cards,iccid'], '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'], 'package_id' => ['nullable', 'integer', 'exists:packages,id'],
]; ];
} }
@ -43,7 +43,7 @@ public function messages() : array
'msisdn.required' => 'El campo MSISDN es obligatorio.', 'msisdn.required' => 'El campo MSISDN es obligatorio.',
'msisdn.string' => 'El campo MSISDN debe ser una cadena de texto.', '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.', 'msisdn.unique' => 'El MSISDN ya está en uso.',
'package_id.integer' => 'El paquete debe ser un número entero.', 'package_id.integer' => 'El paquete debe ser un número entero.',

View File

@ -27,7 +27,7 @@ public function authorize(): bool
public function rules(): array public function rules(): array
{ {
return [ return [
'msisdn' => ['required', 'string', 'max:10', 'unique:sim_cards,msisdn'], 'msisdn' => ['required', 'string', 'max:15', 'unique:sim_cards,msisdn'],
]; ];
} }