feat: eliminar método createWarehouse y agregar WarehouseSeeder para inicializar almacén principal

This commit is contained in:
Juan Felipe Zapata Moreno 2026-03-10 11:08:16 -06:00
parent 86ef5931e1
commit 920dcb2cc9
4 changed files with 21 additions and 20 deletions

View File

@ -16,26 +16,6 @@ public function getMainWarehouse(): ?Warehouse
return Warehouse::main()->first();
}
/**
* Crear nuevo almacén
*/
public function createWarehouse(array $data): Warehouse
{
return DB::transaction(function () use ($data) {
// Si se marca como principal, desactivar otros principales
if ($data['is_main'] ?? false) {
Warehouse::where('is_main', true)->update(['is_main' => false]);
}
// Si no hay almacenes principales, este debe serlo
if (!Warehouse::main()->exists()) {
$data['is_main'] = true;
}
return Warehouse::create($data);
});
}
/**
* Actualizar almacén
*/

View File

@ -24,5 +24,6 @@ public function run(): void
$this->call(SettingSeeder::class);
$this->call(ClientTierSeeder::class);
$this->call(UnitsSeeder::class);
$this->call(WarehouseSeeder::class);
}
}

View File

@ -24,5 +24,6 @@ public function run(): void
$this->call(SettingSeeder::class);
$this->call(ClientTierSeeder::class);
$this->call(UnitsSeeder::class);
$this->call(WarehouseSeeder::class);
}
}

View File

@ -0,0 +1,19 @@
<?php namespace Database\Seeders;
use App\Models\Warehouse;
use Illuminate\Database\Seeder;
class WarehouseSeeder extends Seeder
{
public function run(): void
{
Warehouse::firstOrCreate(
['code' => 'MAIN'],
[
'name' => 'Almacén Principal',
'is_active' => true,
'is_main' => true,
]
);
}
}